Contents
ALGORITHMS
Site map
Links
Site and author
News
About the site
FAQ
Contact
TERMS OF USE
Contents - Matrix and vector operations - Operations on symmetric matrices - Inverse of a symmetric indefinite matrix

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

Source codes

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



 
 
Sergey Bochkanov, Vladimir Bystritsky
Copyright © 1999-2008