matmul Interface

public interface matmul

This interface overloads the Fortran intrinsic matmul for the Strang matrix, both for matrix-vector and matrix-matrix products. For matrix-matrix product , only can be a Strang matrix. Both and are standard rank-2 arrays. All underlying functions are defined as pure.

Syntax

   y = matmul(A, x)

Functions

private pure module function spmv(A, x) result(y)

Driver for the matrix-vector product.

Arguments

Type IntentOptional Attributes Name
type(Strang), intent(in) :: A

Input matrix.

real(kind=dp), intent(in) :: x(:)

Input vector.

Return Value real(kind=dp), allocatable, (:)

Output vector.

private pure module function spmvs(A, X) result(Y)

Driver for the matrix-matrix product.

Arguments

Type IntentOptional Attributes Name
type(Strang), intent(in) :: A

Input matrix.

real(kind=dp), intent(in) :: X(:,:)

Input vector.

Return Value real(kind=dp), allocatable, (:,:)

Output vector.