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.
Report a bug
C#
C# 1.0 source.
sinverse.csharp.zip - Inverse of a symmetric indefinite matrix
C++
C++ source.
sinverse.cpp.zip - Inverse of a symmetric indefinite matrix
ablas.zip - optimized basic linear algebra subroutines with SSE2 support (for C++ sources only)
C++, multiple precision arithmetic
C++ source. MPFR/GMP is used.
GMP source is available from gmplib.org. MPFR source is available from www.mpfr.org.
sinverse.mpfr.zip - Inverse of a symmetric indefinite matrix
mpfr.zip - precompiled Win32 MPFR/GMP binaries
Delphi
Delphi source.
Can be compiled under FPC (in Delphi compatibility mode).
sinverse.delphi.zip - Inverse of a symmetric indefinite matrix
Visual Basic 6
Visual Basic 6 source.
sinverse.vb6.zip - Inverse of a symmetric indefinite matrix
Zonnon beta
Zonnon source.
Zonnon is an experimental language developed at ETH Zurich.
See www.zonnon.ethz.ch for more information.
sinverse.zonnon.zip - Inverse of a symmetric indefinite matrix
|