Decomposition Operations<TReal, TComplex>.Triangular Invert Method
Definition
Namespace: Numerics.NET.LinearAlgebra.Implementation
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 9.0.2
Assembly: Numerics.NET (in Numerics.NET.dll) Version: 9.0.2
Overload List
Triangular | Computes the inverse of a real upper or lower triangular matrix A. |
Triangular | Computes the inverse of a complex triangular matrix. |
Triangular | Computes the inverse of a real upper or lower triangular matrix A. |
Triangular | Computes the inverse of a complex triangular matrix. |
Triangular | Computes the inverse of a real upper or lower triangular matrix A. |
Triangular | Computes the inverse of a complex triangular matrix. |
TriangularInvert(MatrixTriangle, MatrixDiagonal, Int32, Array2D<TReal>, Int32)
Computes the inverse of a real upper or lower triangular matrix A.
public void TriangularInvert(
MatrixTriangle storedTriangle,
MatrixDiagonal diag,
int n,
Array2D<TReal> a,
out int info
)
Parameters
- storedTriangle MatrixTriangle
= 'U': A is upper triangular; = 'L': A is lower triangular.
- diag MatrixDiagonal
= 'N': A is non-unit triangular; = 'U': A is unit triangular.
- n Int32
The order of the matrix A. N >= 0.
- a Array2D<TReal>
A is TReal array, dimension (LDA,N) On entry, the triangular matrix A. If UPLO = 'U', the leading N-by-N upper triangular part of the array A contains the upper triangular matrix, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading N-by-N lower triangular part of the array A contains the lower triangular matrix, and the strictly upper triangular part of A is not referenced. If DIAG = 'U', the diagonal elements of A are also not referenced and are assumed to be 1. On exit, the (triangular) inverse of the original matrix, in the same storage format.
The leading dimension of the array A. LDA >= max(1,N).
- info Int32
= 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value > 0: if INFO = i, A(i,i) is exactly zero. The triangular matrix is singular and its inverse can not be computed.
Remarks
This is the Level 3 BLAS version of the algorithm.
This method corresponds to the LAPACK routine ?TRTRI.
TriangularInvert(MatrixTriangle, MatrixDiagonal, Int32, Array2D<TComplex>, Int32)
Computes the inverse of a complex triangular matrix.
public void TriangularInvert(
MatrixTriangle storedTriangle,
MatrixDiagonal diag,
int n,
Array2D<TComplex> a,
out int info
)
Parameters
- storedTriangle MatrixTriangle
- A MatrixTriangle value that indicates whether the matrix is upper or lower triangular.
- diag MatrixDiagonal
- A MatrixDiagonal value that indicates whether the matrix is unit diagonal.
- n Int32
- The number of rows and columns of the matrix.
- a Array2D<TComplex>
- A complex array that contains the elements of the matrix.
- info Int32
- On return, indicates error conditions.
TriangularInvert(MatrixTriangle, MatrixDiagonal, Int32, Span2D<TReal>, Int32)
Computes the inverse of a real upper or lower triangular matrix A.
public void TriangularInvert(
MatrixTriangle storedTriangle,
MatrixDiagonal diag,
int n,
Span2D<TReal> a,
out int info
)
Parameters
- storedTriangle MatrixTriangle
= 'U': A is upper triangular; = 'L': A is lower triangular.
- diag MatrixDiagonal
= 'N': A is non-unit triangular; = 'U': A is unit triangular.
- n Int32
The order of the matrix A. N >= 0.
- a Span2D<TReal>
A is TReal array, dimension (LDA,N) On entry, the triangular matrix A. If UPLO = 'U', the leading N-by-N upper triangular part of the array A contains the upper triangular matrix, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading N-by-N lower triangular part of the array A contains the lower triangular matrix, and the strictly upper triangular part of A is not referenced. If DIAG = 'U', the diagonal elements of A are also not referenced and are assumed to be 1. On exit, the (triangular) inverse of the original matrix, in the same storage format.
The leading dimension of the array A. LDA >= max(1,N).
- info Int32
= 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value > 0: if INFO = i, A(i,i) is exactly zero. The triangular matrix is singular and its inverse can not be computed.
Remarks
This is the Level 3 BLAS version of the algorithm.
This method corresponds to the LAPACK routine ?TRTRI.
TriangularInvert(MatrixTriangle, MatrixDiagonal, Int32, Span2D<TComplex>, Int32)
Computes the inverse of a complex triangular matrix.
public void TriangularInvert(
MatrixTriangle storedTriangle,
MatrixDiagonal diag,
int n,
Span2D<TComplex> a,
out int info
)
Parameters
- storedTriangle MatrixTriangle
- A MatrixTriangle value that indicates whether the matrix is upper or lower triangular.
- diag MatrixDiagonal
- A MatrixDiagonal value that indicates whether the matrix is unit diagonal.
- n Int32
- The number of rows and columns of the matrix.
- a Span2D<TComplex>
- A complex array that contains the elements of the matrix.
- info Int32
- On return, indicates error conditions.
TriangularInvert(MatrixTriangle, MatrixDiagonal, Int32, Span<TReal>, Int32, Int32)
Computes the inverse of a real upper or lower triangular matrix A.
public abstract void TriangularInvert(
MatrixTriangle storedTriangle,
MatrixDiagonal diag,
int n,
Span<TReal> a,
int lda,
out int info
)
Parameters
- storedTriangle MatrixTriangle
= 'U': A is upper triangular; = 'L': A is lower triangular.
- diag MatrixDiagonal
= 'N': A is non-unit triangular; = 'U': A is unit triangular.
- n Int32
The order of the matrix A. N >= 0.
- a Span<TReal>
A is TReal array, dimension (LDA,N) On entry, the triangular matrix A. If UPLO = 'U', the leading N-by-N upper triangular part of the array A contains the upper triangular matrix, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the leading N-by-N lower triangular part of the array A contains the lower triangular matrix, and the strictly upper triangular part of A is not referenced. If DIAG = 'U', the diagonal elements of A are also not referenced and are assumed to be 1. On exit, the (triangular) inverse of the original matrix, in the same storage format.
- lda Int32
The leading dimension of the array A. LDA >= max(1,N).
- info Int32
= 0: successful exit < 0: if INFO = -i, the i-th argument had an illegal value > 0: if INFO = i, A(i,i) is exactly zero. The triangular matrix is singular and its inverse can not be computed.
Remarks
This is the Level 3 BLAS version of the algorithm.
This method corresponds to the LAPACK routine ?TRTRI.
TriangularInvert(MatrixTriangle, MatrixDiagonal, Int32, Span<TComplex>, Int32, Int32)
Computes the inverse of a complex triangular matrix.
public abstract void TriangularInvert(
MatrixTriangle storedTriangle,
MatrixDiagonal diag,
int n,
Span<TComplex> a,
int lda,
out int info
)
Parameters
- storedTriangle MatrixTriangle
- A MatrixTriangle value that indicates whether the matrix is upper or lower triangular.
- diag MatrixDiagonal
- A MatrixDiagonal value that indicates whether the matrix is unit diagonal.
- n Int32
- The number of rows and columns of the matrix.
- a Span<TComplex>
- A complex array that contains the elements of the matrix.
- lda Int32
- The leading dimension of the matrix a.
- info Int32
- On return, indicates error conditions.