If the symmetric matrix A is represented by its LDLT-decomposition A = LDLT (or A = UDUT), 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.
This article is licensed for personal use only.
ALGLIB Project offers you two editions of ALGLIB:
ALGLIB Free Edition:
+delivered for free
+offers full set of numerical functionality
+extensive algorithmic optimizations
-no multithreading
-non-commercial license
ALGLIB Commercial Edition:
+flexible pricing
+offers full set of numerical functionality
+extensive algorithmic optimizations
+high performance (SMP, SIMD)
+commercial license with support plan
Links to download sections for Free and Commercial editions can be found below: