Contents
Main
Site map
Links
Site and author
News
Contact

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.h   
C# sdet.cs   
MPFR sdet.h   
Delphi sdet.pas   
FreePascal sdet.pas   
VBA sdet.bas   

This article is intended for personal use only.

Download ALGLIB

C#

C# source.

alglib-2.4.0.csharp.zip

 

C++

C++ source.

alglib-2.4.0.cpp.zip

 

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.

alglib-2.4.0.mpfr.zip

 

FreePascal

FreePascal source.

alglib-2.4.0.freepascal.zip

 

Delphi

Delphi source.

alglib-2.4.0.delphi.zip

 

Visual Basic

VBA source.

alglib-2.4.0.vb6.zip

 


 
 
Sergey Bochkanov, Vladimir Bystritsky
Copyright © 1999-2010