mv_Av_2 Subroutine

private pure subroutine mv_Av_2(A, v, w)

Uses

  • proc~~mv_av_2~~UsesGraph proc~mv_av_2 formatmul_opts::mv_Av_2 module~external_interfaces_matmul external_interfaces_matmul proc~mv_av_2->module~external_interfaces_matmul kinds kinds module~external_interfaces_matmul->kinds

Arguments

Type IntentOptional Attributes Name
real(kind=rk), intent(in), contiguous :: A(:,:)
real(kind=rk), intent(in), contiguous :: v(:)
real(kind=rk), intent(inout), contiguous :: w(:)

Calls

proc~~mv_av_2~~CallsGraph proc~mv_av_2 formatmul_opts::mv_Av_2 interface~gemv external_interfaces_matmul::gemv proc~mv_av_2->interface~gemv

Called by

proc~~mv_av_2~~CalledByGraph proc~mv_av_2 formatmul_opts::mv_Av_2 proc~mat_vec_rel_av_opt formatmul_opts::mat_vec_rel_Av_opt proc~mat_vec_rel_av_opt->proc~mv_av_2 proc~mat_vec_rel_av formatmul::mat_vec_rel_Av proc~mat_vec_rel_av->proc~mat_vec_rel_av_opt proc~mat_vec_rel formatmul::mat_vec_rel proc~mat_vec_rel->proc~mat_vec_rel_av interface~matmul formatmul::matmul interface~matmul->proc~mat_vec_rel

Source Code

   pure subroutine mv_Av_2(A, v, w)
      use external_interfaces_matmul

      real(rk), intent(in), contiguous :: A(:,:), v(:)
      real(rk), intent(inout), contiguous :: w(:)
      integer                             :: m

      m = size(A, 1)
      ! Call BLAS gemv subroutine for matrix-vector multiplication.
      call gemv('N', m, size(A, 2), 1.0_rk, A, m, v, 1, 0.0_rk, w , 1)

   end subroutine mv_Av_2