mv_ATv_2 Subroutine

private pure subroutine mv_ATv_2(A, v, w)

Uses

  • proc~~mv_atv_2~~UsesGraph proc~mv_atv_2 formatmul_opts::mv_ATv_2 module~external_interfaces_matmul external_interfaces_matmul proc~mv_atv_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_atv_2~~CallsGraph proc~mv_atv_2 formatmul_opts::mv_ATv_2 interface~gemv external_interfaces_matmul::gemv proc~mv_atv_2->interface~gemv

Called by

proc~~mv_atv_2~~CalledByGraph proc~mv_atv_2 formatmul_opts::mv_ATv_2 proc~mat_vec_rel_atv_opt formatmul_opts::mat_vec_rel_ATv_opt proc~mat_vec_rel_atv_opt->proc~mv_atv_2 proc~mat_vec_rel_atv formatmul::mat_vec_rel_ATv proc~mat_vec_rel_atv->proc~mat_vec_rel_atv_opt proc~mat_vec_rel formatmul::mat_vec_rel proc~mat_vec_rel->proc~mat_vec_rel_atv interface~matmul formatmul::matmul interface~matmul->proc~mat_vec_rel

Source Code

   pure subroutine mv_ATv_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('T', m, size(A, 2), 1.0_rk, A, m, v, 1, 0.0_rk, w , 1)

   end subroutine mv_ATv_2