spmv Interface

public interface spmv

(Specifications) This interface provides methods to compute the matrix-vector product

for the different matrix types defined by stdlib_specialmatrices.


Subroutines

private module subroutine spmv_tridiag_1d_cdp(A, x, y, alpha, beta, op)

Arguments

Type IntentOptional Attributes Name
type(tridiagonal_cdp_type), intent(in) :: A
complex(kind=dp), intent(in), contiguous, target :: x(:)
complex(kind=dp), intent(inout), contiguous, target :: y(:)
real(kind=dp), intent(in), optional :: alpha
real(kind=dp), intent(in), optional :: beta
character(len=1), intent(in), optional :: op

private module subroutine spmv_tridiag_1d_csp(A, x, y, alpha, beta, op)

Arguments

Type IntentOptional Attributes Name
type(tridiagonal_csp_type), intent(in) :: A
complex(kind=sp), intent(in), contiguous, target :: x(:)
complex(kind=sp), intent(inout), contiguous, target :: y(:)
real(kind=sp), intent(in), optional :: alpha
real(kind=sp), intent(in), optional :: beta
character(len=1), intent(in), optional :: op

private module subroutine spmv_tridiag_1d_dp(A, x, y, alpha, beta, op)

Arguments

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

private module subroutine spmv_tridiag_1d_sp(A, x, y, alpha, beta, op)

Arguments

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

private module subroutine spmv_tridiag_2d_cdp(A, x, y, alpha, beta, op)

Arguments

Type IntentOptional Attributes Name
type(tridiagonal_cdp_type), intent(in) :: A
complex(kind=dp), intent(in), contiguous, target :: x(:,:)
complex(kind=dp), intent(inout), contiguous, target :: y(:,:)
real(kind=dp), intent(in), optional :: alpha
real(kind=dp), intent(in), optional :: beta
character(len=1), intent(in), optional :: op

private module subroutine spmv_tridiag_2d_csp(A, x, y, alpha, beta, op)

Arguments

Type IntentOptional Attributes Name
type(tridiagonal_csp_type), intent(in) :: A
complex(kind=sp), intent(in), contiguous, target :: x(:,:)
complex(kind=sp), intent(inout), contiguous, target :: y(:,:)
real(kind=sp), intent(in), optional :: alpha
real(kind=sp), intent(in), optional :: beta
character(len=1), intent(in), optional :: op

private module subroutine spmv_tridiag_2d_dp(A, x, y, alpha, beta, op)

Arguments

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

private module subroutine spmv_tridiag_2d_sp(A, x, y, alpha, beta, op)

Arguments

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