Showing results for

- Intel Community
- Software Development SDKs and Libraries
- Intel® oneAPI Math Kernel Library & Intel® Math Kernel Library
- How to get Cholesky diagonal?

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Mute
- Printer Friendly Page

Highlighted
##

vladimir1

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

07-18-2019
07:10 AM

32 Views

How to get Cholesky diagonal?

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

4 Replies

Highlighted
##

Kirill_V_Intel

Employee

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

07-18-2019
04:19 PM

32 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

Highlighted
##

vladimir1

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

07-18-2019
11:51 PM

32 Views

Thank you so much. I somehow did not see it

Highlighted
##

vladimir1

Beginner

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

07-23-2019
11:59 PM

32 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?

Highlighted
##

Kirill_V_Intel

Employee

- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Email to a Friend
- Report Inappropriate Content

07-24-2019
10:16 AM

32 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

For more complete information about compiler optimizations, see our Optimization Notice.