Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
Announcements
FPGA community forums and blogs have moved to the Altera Community. Existing Intel Community members can sign in with their current credentials.
7236 Discussions

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

ncroc
Beginner
2,708 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,708 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,708 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,709 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,709 Views

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

0 Kudos
Reply