Inverse of a symmetric indefinite matrix
One of the applications of LDLT-decomposition is the inversion of symmetric matrices. By its functionality, this algorithm is similar to analogous algorithms for matrices which are given by Cholesky decomposition and LU-decomposition.
Subroutine SMatrixLDLTInverse gets LDLT-decomposition of matrix A (an output of a subroutine SMatrixLDLT) as an input and returns matrix A -1 given by its lower or upper triangle depending on a variant of LDLT-decomposition (A = L·D·L T or A = U·D·U T). This subroutine is worth using if we have LDLT-decomposition, otherwise it is better to use the second subroutine.
Subroutine SMatrixInverse gets the lower or upper triangle of matrix A as an input, calls the subroutine SMatrixLDLT and inverts and returns the lower or upper triangle of matrix A -1.
Both subroutines return False if the matrix is singular (in this case one of the elementary units of matrix D equals 0), in that case, the matrix inversion is not performed. If the matrix is not a singular and the inversion could be performed, then the subroutines return True. In that case, the matrix could be ill-conditioned, but the subroutines don't evaluate the matrix condition number.
This algorithm is transferred from the LAPACK library.
Manual entries
This article is intended for personal use only.
Download ALGLIB