Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
7220 Discussions

fast way to calculate the determinant of a symmetric positive definite matrix

ncroc
Beginner
2,438 Views

Hi,

I need to calculate the determinant of symmetric positive definite matrices. Cholesky factorization takes O(n^3) which is a lot. Is there a faster way. I need to calculate the determinant for cost function evaluation and this cost function is evaluated approximately K*N times. Where K isat least500 hundred and N is generally to 1000.

Thanks in advance

0 Kudos
4 Replies
Michael_C_Intel4
Employee
2,438 Views

Hello,

if there's no information about zero patterns in a matrix, the fastest way to compute a determinant is a Gaussian elimination which is exactly done by Cholesky. But if you have some sparsity in the matrix you could be able to speed-up the process.

Michael.

0 Kudos
ncroc
Beginner
2,438 Views

Hello,

if there's no information about zero patterns in a matrix, the fastest way to compute a determinant is a Gaussian elimination which is exactly done by Cholesky. But if you have some sparsity in the matrix you could be able to speed-up the process.

Michael.

Thanks for the answer.

Actually What I need is to calculate the log (det (S) ), log determinant ofa matrix. Currently I am looking for computationally efficient approximation to logdetS. Taylor series expansion ? Any suggestions ? Its kinda popular objective function choice in optimization. By the way, as far as I can see there is no direct way to calculate the determinant, like det(A) function in mkl, right ? I dont need totake any inverses (O(n^3)+2O(n^2)) but paying O(n^3) only for determinant is very bad for me.

Best Regards

0 Kudos
g_f_thomas
Beginner
2,439 Views

If your matrix is sparse triangularize it via a Dulmage-Mendelsohn (integer arithmetic, linear complexity IIRC) transformation. Its det is the product of the transformed matrix's diagonal entries.

Gerry

0 Kudos
Michael_C_Intel4
Employee
2,439 Views

No, MKL doesn't provide the calculation of the determinantfaster than O(n^3).

0 Kudos
Reply