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

modifying the pardiso solver's sparse factorization

Jaron_K_
Beginner
347 Views

I am attempting to implement this algorithm for efficiently computing the solution to a sparse linear system of equations when small changes are made to the input matrix A by updating only the matrix L in the LDLT factorization of A.  However, from what I have seen there is no documentation about accessing L and D in the pardiso solver.  Ideally, my code would look roughly like this:

1. run solver on matrix A with phase 13

2. use solution to compute modification to matrix A

3. use the linked algorithm to directly modify L and D, still in pardiso's memory

4. run solve on matrix A with phase 33, which should use the modified L and D to instead solve the system for the modified matrix A

5. repeat steps 2 through 4 

How would I go about doing this?  Is it even possible with pardiso?

0 Kudos
4 Replies
Gennady_F_Intel
Moderator
347 Views

You may get the diagonal elements of initial or factorized matrix by using pardiso_getdiag() routine and with regard to L: you couldn't obtained and the update L part of factorized matrix. 

0 Kudos
Ivan_K_6
Beginner
347 Views

Does this mean that it is impossible to get L and D factors "exported" as a matrix?

0 Kudos
Gennady_F_Intel
Moderator
347 Views

yes. that's not possible 

0 Kudos
Alexander_K_Intel2
347 Views

Hi,

Probably you can try this approach if you need to solve set of system with small changes in matrices.

Thanks,

Alex

0 Kudos
Reply