Main       Download       Commercial support       FAQ       Forum       About Us

Determinant of a symmetric indefinite matrix

If the symmetric matrix A is represented by its LDLT-decomposition A = LDL T (or A = UDU T), then its determinant is equal to the determinant of a block-diagonal matrix D.

As LDLT-decomposition is twice as fast as LU-decomposition which is used to calculate general matrix determinants, it is recommended to use LDLT-decomposition when calculating a determinant of a symmetric matrix. In order to calculate the determinant of a symmetric positive definite matrix algorithm on the basis of Cholesky decomposition can be used.

Subroutine description

There are two subroutines in this module. The first subroutine, SMatrixLDLTDet, calculates the determinant of a matrix whose LDLT-decomposition has already been generated. The second subroutine, SMatrixDet, works with symmetric matrices whose LDLT-decomposition hasn't been generated yet.

Manual entries

C++ sdet subpackage   
C# sdet subpackage   

This article is intended for personal use only.

Download ALGLIB

C#

C# source.

Downloads page

 

C++

C++ source.

Downloads page

 

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.

Downloads page

 

FreePascal

FreePascal version.

Downloads page

 

Delphi

Delphi version.

Downloads page

 

VB.NET

VB.NET version.

Downloads page

 

VBA

VBA version.

Downloads page

 

Python

Python version (CPython and IronPython are supported).

Downloads page

 

 

ALGLIB® - numerical analysis library, 1999-2012.
ALGLIB is a registered trademark of the ALGLIB Project.