tri_mtx_mult Interface

public interface tri_mtx_mult

An interface to the triangular matrix multiplication routines.


Module Procedures

private subroutine tri_mtx_mult_dbl(upper, alpha, a, beta, b, err)

Performs the matrix operation or where is a triangular matrix.

Arguments

Type IntentOptional Attributes Name
logical, intent(in) :: upper

A logical flag indicating whether the matrix A is upper triangular (TRUE) or lower triangular (FALSE).

real(kind=real64), intent(in) :: alpha

The scalar to multiply by.

real(kind=real64), intent(in), dimension(:,:) :: a

The triangular matrix to multiply by.

real(kind=real64), intent(in) :: beta

The scalar to multiply by.

real(kind=real64), intent(inout), dimension(:,:) :: b

On input, the matrix to multiply. On output, the result of the operation.

class(errors), intent(inout), optional, target :: err

An error object to report any errors that occur.

private subroutine tri_mtx_mult_cmplx(upper, alpha, a, beta, b, err)

Performs the matrix operation or where is a triangular matrix.

Arguments

Type IntentOptional Attributes Name
logical, intent(in) :: upper

A logical flag indicating whether the matrix A is upper triangular (TRUE) or lower triangular (FALSE).

complex(kind=real64), intent(in) :: alpha

The scalar to multiply by.

complex(kind=real64), intent(in), dimension(:,:) :: a

The triangular matrix to multiply by.

complex(kind=real64), intent(in) :: beta

The scalar to multiply by.

complex(kind=real64), intent(inout), dimension(:,:) :: b

On input, the matrix to multiply. On output, the result of the operation.

class(errors), intent(inout), optional, target :: err

An error object to report any errors that occur.