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

How to get Cholesky diagonal?

vladimir1
Beginner
898 Views

Hello

I need to extract diagonal from cholesky LDLt sparse factorization. Can I do this with Intel MKL?

I can use pardiso to factor and solve sparse linear system. But cholesky factor matrix itself is unreachable for me.

Thanks

0 Kudos
4 Replies
Kirill_V_Intel
Employee
898 Views

Hello Vladimir,

Are you looking for something like pardiso_getdiag? https://software.intel.com/en-us/mkl-developer-reference-c-pardiso-getdiag

Or do you need factor L?

Best,
Kirill

0 Kudos
vladimir1
Beginner
898 Views

Thank you so much. I somehow did not see it

0 Kudos
vladimir1
Beginner
898 Views

One more question.

Documentation for pardiso_getdiag says that "it is possible that array df is not in line with the perm array computed during phase 11".

How can I get correct permutations of diagonal elements of the factorized matrix after factorization?

0 Kudos
Kirill_V_Intel
Employee
898 Views

Hello again,

The reason for the note is the internal pivoting which is essential for the stability of the algorithm, especially for non-symmetric matrices. I believe if you turn the pivoting off (iparm[20] = 0, https://software.intel.com/en-us/mkl-developer-reference-c-pardiso-iparm-parameter) you should get the correct diagonal values (which agree with the perm returned after phase 11).

If this is not an option for you, we could add it as a feature request in our to-do list. Or, if you tell us what goal you want to achieve by using the diagonal, we might possibly suggest an alternative option.

Best,
Kirill

0 Kudos
Reply