mxvdir Subroutine

public pure subroutine mxvdir(n, a, x, y, z)

vector augmented by the scaled vector.

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: n

vector dimension.

real(kind=wp), intent(in) :: a

scaling factor.

real(kind=wp), intent(in) :: x(*)

x(n) input vector.

real(kind=wp), intent(in) :: y(*)

y(n) input vector.

real(kind=wp), intent(out) :: z(*)

z(n) output vector where z:= y + a*x.


Called by

proc~~mxvdir~~CalledByGraph proc~mxvdir mxvdir proc~bfgs_variable_metric_update bfgs_variable_metric_update proc~bfgs_variable_metric_update->proc~mxvdir proc~dual_range_space_qp dual_range_space_qp proc~dual_range_space_qp->proc~mxvdir proc~dual_range_space_quad_prog psqp_class%dual_range_space_quad_prog proc~dual_range_space_quad_prog->proc~mxvdir proc~psqp psqp_class%psqp proc~psqp->proc~mxvdir proc~psqp->proc~bfgs_variable_metric_update proc~psqp->proc~dual_range_space_qp proc~psqp->proc~dual_range_space_quad_prog proc~psqpn psqp_class%psqpn proc~psqpn->proc~psqp

Source Code

      pure subroutine mxvdir(n,a,x,y,z)

      integer,intent(in) :: n !! vector dimension.
      real(wp),intent(in) :: a !! scaling factor.
      real(wp),intent(in) :: x(*) !! x(n)  input vector.
      real(wp),intent(in) :: y(*) !! y(n)  input vector.
      real(wp),intent(out) :: z(*) !! z(n)  output vector where `z:= y + a*x`.

      integer :: i

      do i = 1 , n
         z(i) = y(i) + a*x(i)
      end do

      end subroutine mxvdir