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

Does Intel MKL Pardiso come with selected Matrix Inversion

Rajaditya_M_
Beginner
455 Views

Hi, I am trying to compute the inverse of a sparse matrix. I saw in the pardiso website that manipulating certain parameters may result in computing the inverse of selected rows and columns of the matrix. 

Does anyone know if intel MKL pardiso has this functionality and if so any sample code for the same ? 

0 Kudos
6 Replies
mecej4
Honored Contributor III
455 Views

Yes, it is possible to compute the inverse, but it may be unwise to do so. What do you want to do with the inverse? How big is the matrix? Is it sparse? What other properties of the matrix do you know in advance?

0 Kudos
Rajaditya_M_
Beginner
455 Views

Thank you for your response. Here is all the details : 

1) Its a stiffness matrix obtained from FEM Simulation. Its NxN sparse symmetric positive definite where N can be in the range 150k - 200k, 

2)  I don't need the whole inverse. I only need specific rows and columns (about 100 of them say). That is the reason I asked for selective row columns of inverse. 

 

Please let me know if you need anymore information. 

0 Kudos
mecej4
Honored Contributor III
455 Views

In #1 you wrote "the inverse of selected rows and columns of the matrix", which has no meaning. In #3, you wrote "I don't need the whole inverse. I only need specific rows and columns". What I wish to know is the following: Suppose you are able to obtain those specific rows and columns of the inverse matrix. What will you do with those rows and columns? 

Because Pardiso operates in several phases and the user can run these phases with a degree of control on what gets done, it is important to know the final objective. That is why I ask.

0 Kudos
Alexander_K_Intel2
455 Views

Hi,

Just try to implement following trick:

1.set iparm[30] to 1 //partial solving support

2. set perm to 0 for all elements except rows/columns that construct your partial matrix - these elements set to 1.

3. set nrhs to number of size of your partial matrix and organize in this rhs unit matrix:

0 0 0

0 0 0

1 0 0

0 1 0

0 0 1

- example for whole matrix of size 5 and selected inverse need to be computed for row 3,4, 5

4. Call MKL pardiso phase 13. On exit in solution vector you obtain searched part of inverse matrix.

Thanks,

Alex

 

0 Kudos
Rajaditya_M_
Beginner
455 Views

Hi I am sorry for the confusion on the 1st post. I rechecked it and it seems my hurry got the better of me. 

I want what is mentioned in the reply. That is selected rows and columns of the inverse of a sparse matrix. If any admin can modify my original post I would be extremely grateful since I don't see that option. 

0 Kudos
Alexander_K_Intel2
455 Views

Hi,

Have you try approach that I've proposed?

Thanks,

Alex

0 Kudos
Reply