pic_gemv Interface

public interface pic_gemv

general interface of the BLAS GEMV routines, will call SGEMV, DGEMV, CGEMV, ZGEMV

Usage: call pic_gemv(A, x, y, [optional] transa, [optional] alpha, [optional] beta)

where A is a matrix, x and y are vectors, transa is an optional transpose option, alpha and beta are optional scaling factors.

The matrix A must be an allocatable array, we deduce the shapes from it. TransA is “N” (no transpose) by default. And alpha and beta are 1.0 and 0.0 respectively.

Calls

interface~~pic_gemv~~CallsGraph interface~pic_gemv pic_gemv proc~pic_dgemv pic_dgemv interface~pic_gemv->proc~pic_dgemv proc~pic_sgemv pic_sgemv interface~pic_gemv->proc~pic_sgemv interface~blas_gemv blas_gemv proc~pic_dgemv->interface~blas_gemv proc~pic_sgemv->interface~blas_gemv

Module Procedures

private pure subroutine pic_sgemv(A, x, y, trans_a, alpha, beta)

interface for single precision matrix-vector multiplication

Arguments

Type IntentOptional Attributes Name
real(kind=sp), intent(in) :: A(:,:)
real(kind=sp), intent(in) :: x(:)
real(kind=sp), intent(inout) :: y(:)
character(len=1), intent(in), optional :: trans_a
real(kind=sp), intent(in), optional :: alpha
real(kind=sp), intent(in), optional :: beta

private pure subroutine pic_dgemv(A, x, y, trans_a, alpha, beta)

interface for double precision matrix-vector multiplication

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: A(:,:)
real(kind=dp), intent(in) :: x(:)
real(kind=dp), intent(inout) :: y(:)
character(len=1), intent(in), optional :: trans_a
real(kind=dp), intent(in), optional :: alpha
real(kind=dp), intent(in), optional :: beta