Computes the inverse of a real symmetric indefinite matrix
A using the factorization A = U*D*UT or A = L*D*LT computed by
DSYTRF.
Namespace: Extreme.Mathematics.LinearAlgebra.ImplementationAssembly: Extreme.Numerics.SinglePrecision.Net40 (in Extreme.Numerics.SinglePrecision.Net40.dll) Version: 6.0.16073.0 (6.0.16096.0)
public override void SymmetricInvert(
MatrixTriangle storedTriangle,
int n,
Array2D<float> a,
Array1D<int> ipiv,
out int info
)
Public Overrides Sub SymmetricInvert (
storedTriangle As MatrixTriangle,
n As Integer,
a As Array2D(Of Single),
ipiv As Array1D(Of Integer),
<OutAttribute> ByRef info As Integer
)
public:
virtual void SymmetricInvert(
MatrixTriangle storedTriangle,
int n,
Array2D<float> a,
Array1D<int> ipiv,
[OutAttribute] int% info
) override
abstract SymmetricInvert :
storedTriangle : MatrixTriangle *
n : int *
a : Array2D<float32> *
ipiv : Array1D<int> *
info : int byref -> unit
override SymmetricInvert :
storedTriangle : MatrixTriangle *
n : int *
a : Array2D<float32> *
ipiv : Array1D<int> *
info : int byref -> unit
Parameters
- storedTriangle
- Type: Extreme.MathematicsMatrixTriangle
Specifies whether the details of the factorization are stored
as an upper or lower triangular matrix.
= 'U': Upper triangular, form is A = U*D*UT;
= 'L': Lower triangular, form is A = L*D*LT.
- n
- Type: SystemInt32
The order of the matrix A. N >= 0.
- a
- Type: Extreme.CollectionsArray2DSingle
Dimension (LDA,N)
On entry, the block diagonal matrix D and the multipliers
used to obtain the factor U or L as computed by DSYTRF.
On exit, if INFO = 0, the (symmetric) inverse of the original
matrix. If UPLO = 'U', the upper triangular part of the
inverse is formed and the part of A below the diagonal is not
referenced; if UPLO = 'L' the lower triangular part of the
inverse is formed and the part of A above the diagonal is
not referenced.
The leading dimension of the array A. LDA >= max(1,N).
- ipiv
- Type: Extreme.CollectionsArray1DInt32
Dimension (N)
Details of the interchanges and the block structure of D
as determined by DSYTRF.
- info
- Type: SystemInt32
= 0: successful exit
< 0: if INFO = -i, the i-th argument had an illegal value
> 0: if INFO = i, D(i,i) = 0; the matrix is singular and its
inverse could not be computed.
This method corresponds to the LAPACK routine DSYTRI.
Numerical Libraries
Supported in: 6.0
Reference