mxvdot Function

public pure function mxvdot(n, x, y)

dot product of two vectors.

JW: rewrote this routine.

Arguments

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

vector dimension.

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

x(n) input vector.

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

y(n) input vector.

Return Value real(kind=wp)

value of dot product mxvdot=trans(x)*y.


Called by

proc~~mxvdot~~CalledByGraph proc~mxvdot mxvdot proc~bfgs_variable_metric_update bfgs_variable_metric_update proc~bfgs_variable_metric_update->proc~mxvdot proc~determine_new_active_linear_constr determine_new_active_linear_constr proc~determine_new_active_linear_constr->proc~mxvdot proc~psqp psqp_class%psqp proc~psqp->proc~mxvdot proc~psqp->proc~bfgs_variable_metric_update proc~dual_range_space_quad_prog psqp_class%dual_range_space_quad_prog proc~psqp->proc~dual_range_space_quad_prog proc~update_tri_decomp_general update_tri_decomp_general proc~update_tri_decomp_general->proc~mxvdot proc~dual_range_space_quad_prog->proc~determine_new_active_linear_constr proc~dual_range_space_quad_prog->proc~update_tri_decomp_general proc~psqpn psqp_class%psqpn proc~psqpn->proc~psqp

Source Code

      pure function mxvdot(n,x,y)

      integer,intent(in) :: n  !!vector dimension.
      real(wp),intent(in) :: x(*)  !! x(n)  input vector.
      real(wp),intent(in) :: y(*)  !! y(n)  input vector.
      real(wp) :: mxvdot  !! value of dot product `mxvdot=trans(x)*y`.

      mxvdot = dot_product(x(1:n),y(1:n))

      end function mxvdot