det Interface

public interface det

An interface to the determinant routines.


Module Procedures

private function det_dbl(a, iwork, err) result(x)

Computes the determinant of a matrix.

Arguments

Type IntentOptional Attributes Name
real(kind=real64), intent(inout), dimension(:,:) :: a

On input, the matrix on which to operate. On output, the LU factored matrix in the form [L\U] where L is unit lower triangular and U is upper triangular. The unit diagonal elements of L are not stored.

integer(kind=int32), intent(out), optional, target, dimension(:) :: iwork

An MIN(M, N)-element array used to track row-pivot operations. The array stored pivot information such that row I is interchanged with row IPVT(I). If not supplied, this array is allocated within.

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

An error object to report any errors that occur.

Return Value real(kind=real64)

The determinant of the matrix.

private function det_cmplx(a, iwork, err) result(x)

Computes the determinant of a matrix.

Arguments

Type IntentOptional Attributes Name
complex(kind=real64), intent(inout), dimension(:,:) :: a

On input, the matrix on which to operate. On output, the LU factored matrix in the form [L\U] where L is unit lower triangular and U is upper triangular. The unit diagonal elements of L are not stored.

integer(kind=int32), intent(out), optional, target, dimension(:) :: iwork

An MIN(M, N)-element array used to track row-pivot operations. The array stored pivot information such that row I is interchanged with row IPVT(I). If not supplied, this array is allocated within.

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

An error object to report any errors that occur.

Return Value complex(kind=real64)

The determinant of the matrix.