Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

- Intel Community
- Software
- Software Development SDKs and Libraries
- Intel® oneAPI Math Kernel Library
- Incomplete Cholesky Factorization

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

Mikhail_Matrosov

Novice

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

08-31-2011
03:21 AM

479 Views

Incomplete Cholesky Factorization

I'm using MKL RCI CG solver to solve large sparse SLE with symmetric and positive definite matrix. I would like to use an incomplete Cholesky factorization as a preconditioner. How can I compute it with MKL?

There are routines for generating ILU0 and ILUT preconditioners described in "Preconditioners based on Incomplete LU Factorization Technique" section. However, it said that:

So does these routines can be used to obtain incomplete Cholesky factorization? I.e. to compute L and U such that simply L = U^{T}? And what the phrase "

`call mkl_dcsrtrsv('U','N','N', n, bilut, ibilut, jbilut, trvec, tmp(ipar(23)))`

1 Solution

Alexander_K_Intel2

Employee

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

08-31-2011
11:46 AM

479 Views

With best regards,

Alexander Kalinkin

Link Copied

10 Replies

Alexander_K_Intel2

Employee

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

08-31-2011
04:12 AM

479 Views

RCI solver compute lower triangular matrix L and upper triangular matrix U that has sparse format and their multiplication is near initial matrix A. But in general case matrix L in not equal U^T. To apply preconditioner on your iterative solver you need to calulate z =(LU)^-1*r, where r is vector.

z=((LU)^-1)*r could be realized in two step:

y = (L^-1)*r;

z =(U^-1)*y using 2 call of mkl_dcsrtrsv.

With best regards,

Alexander Kalinkin

Mikhail_Matrosov

Novice

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

08-31-2011
05:19 AM

479 Views

Do I need to provide my symmetric matrix in full (non-symmetric) format for

Alexander_K_Intel2

Employee

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

08-31-2011
05:39 AM

479 Views

You need to provide full matrix format if you want to obtain incomplete Cholesky decomposition for this matrix. If you provide only lower or upper part of initial matrix as input parameter for dcsrilu0 routine you'd gotten incomplete Cholesky decomposition only for this part of matrix. About second question: L and U matrices stored in one matrix described by arrays ia, ja andbilu0.

With best regards,

Alexander Kalinkin

Mikhail_Matrosov

Novice

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

08-31-2011
07:34 AM

479 Views

Applying (LU)^-1 as a preconditioner is just what is done for RCI FGMRES for non-symmetric matrices. It is also done in MKL example dcsrilu0_exampl1.c for the same purpose. So, are you really sure, I should use the same scenario when working with symmetric matrix and PCI CG?.. I'm not very expirienced in numerical methods, so maybe I'm missing something obvious.

Alexander_K_Intel2

Employee

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

08-31-2011
08:03 AM

479 Views

Incomplete Cholesky preconditioner could be better than Jacobi in condition number sense in several cases but could be worse than it in other. There is not any theoretical results on quality of such preconditioner in general case. Moreover, incomplete Cholesky preconditioner is unsymmetrical so you can't use it with CG.

With best regards,

Alexander Kalinkin

Mikhail_Matrosov

Novice

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

08-31-2011
08:27 AM

479 Views

Thats's not true. Incomplete Cholesky factorization is given by A = L * L^T, so it is symmetrical by design, in distinction from incomplete LU factorization. Yes, I cannot use LU factorization, that's from where my questions did arise.

So, again: how can I compute incomplete Cholesky factorization with MKL?

Alexander_K_Intel2

Employee

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

08-31-2011
11:46 AM

480 Views

With best regards,

Alexander Kalinkin

Royi

Novice

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

07-10-2020
12:29 AM

473 Views

Could you please fix that?

The Incomplete Cholesky is very important.

There are modern algorithms to parallelize it and optimize it. We expect the fastest factorization from the Intel guys :-).

Mikhail_Matrosov

Novice

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

09-02-2011
09:25 AM

479 Views

That's sad. Is there a chance it will be introduced in the upcoming releases?

IDZ_A_Intel

Employee

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

09-02-2011
08:28 PM

479 Views

If you provide data about your company or university I'd include into Feature Request on Incomplete Cholesky Factorization. You could do it using private answer.

With best regards,

Alexander Kalinkin

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

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