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
- Using LU to calculate partial inversion of sparse matrice

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

apocalx

Beginner

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

07-18-2012
06:26 AM

65 Views

Using LU to calculate partial inversion of sparse matrice

I have a highly sparse matrice and I need to invert them, but I need only somes values.

Complete inversion of a matrix take very long time to perform, but partial inversion is very very fast (in theory, same time than factorization of matrix).

I used this publication ( https://hpcrd.lbl.gov/~linlin/publications/diagex.pdf) to writea small program to be able to invert only some value of my sparse matrix, but to do that, I need to have access to LU factorization.

Thanks you

Marc

Link Copied

2 Replies

Chao_Y_Intel

Employee

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

07-22-2012
06:25 PM

65 Views

here is some comment from the expert, wouldthat be helpful to solve the problem:

PARDISO now supports sparse RHS and solution vectors (iparm(31)). Using this switch it might be possible to get a block of an inverse matrix faster than a complete inverse matrix. The idea is the same as mentioned below we solve a system AX=B. If B is an identity matrix, then X=inverse(A). If the customer wants to have partial inverse, she should use sub-matrix of an identity matrix and indicate that only partial solution is needed through iparm(31) and proper perm settings as described in MKL Manual.

Thanks,

Chao

apocalx

Beginner

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

07-23-2012
11:17 AM

65 Views

So, using permutation vector will not be faster.

The better and fastest way to calculate partial inversion is algorithm described earlier. But to do that, we need to have access to L and U.

I know that UMFpack solver gives access to L et U after factorization.

I think one interesting solution would be to give access to the L and U after the factorization like in UMFPack.

Another solution would be to implement the algorithm described earlier in Intel PARDISO.

Thanks

Marc

- 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.