![]() |
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.
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.
| C++ | sdet subpackage | |
| C# | sdet subpackage |
This article is intended for personal use only.
C# source.
C++ source.
C++ source. MPFR/GMP is used.
GMP source is available from gmplib.org. MPFR source is available from www.mpfr.org.
FreePascal version.
Delphi version.
VB.NET version.
VBA version.
Python version (CPython and IronPython are supported).
|
ALGLIB® - numerical analysis library, 1999-2012. |