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

PARDISO for multiple matrices

Michal_Tarana
Beginner
644 Views
Hi,
=-=

I am trying to solve a large and sparse system of linear equations with multiple right hand sides using pardiso in mkl. The system has a structure (H-tI)x=b, where H is the large sparse matrix (symmetric), t is a real number and I is the unit matrix. I need the solution for several different values of the parameter t. Therefore, in every case only the diagonal elements change, the rest of the matrix is untouched. The right hand side is the same in all cases as well. I would like to know, whether it is enough to perform the symbolic factorization (phase 1) only once or whether it is necessary to perform it every time I change the value of t again and again.

Thank you for any reaction.
Michal
0 Kudos
4 Replies
Alexander_K_Intel2
644 Views
Hi,
It's depend on type of your matrix H and H-tI. Are they always positive defined or not?
With best regards,
Alexander Kalinkin
0 Kudos
Michal_Tarana
Beginner
644 Views
Matrix H is postive definite and H-tI can be indefinite. I use mtype=-2. Thank you for your flexible reaction.

Michal
0 Kudos
Alexander_K_Intel2
644 Views
In such case you need to use mtype = -2 for all cases and disable scaling and matching (iparm(11) and iparm(13)). But if you disable them for some matrices (for example indefinite or near indefinite) result will be quite wrong so I recommend you to use symbolic factorization for each matrix.
With best regards,
Alexander Kalinkin
0 Kudos
Michal_Tarana
Beginner
644 Views
Thank you.
Michal
0 Kudos
Reply