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

How can I reuse sparse factorizations in Pardiso

Jiuzhou_T_
Beginner
376 Views

 

Hello, 

I have a serials of structurally identical matrixs such as {A1, A2, A3,....}

and I need to solve  A*X=Y, for A1,A2,A3......., note that rho vector Y changes as time goes while all matrixs are kept constant ,

so I need to solve all these equations at each time step. Is there any way I can do  factorization only once at the starting time and 

stores all the computed factors in a memory efficient way so that I can solve the linear equations whenever the Y vectors are updated?

Thank you! 

PS 1: I know I can store a array of pardiso handles like pt(:,N_matrixs) but I am afraid that in this way the internal memory cost would be 

too much since all these matrixs are structures identically. 

PS 2: I don't understand why most sparse LU factorization package does not provide the users the actually LU matrixs, which are exactly what they are expected to to, instead, they prefer to use some kind of internal memory structures which nobody knows what they really are, except god.

 

0 Kudos
1 Solution
Alexander_K_Intel2
376 Views

Hi,

Looks like you can use parameter maxfct and mnum from pardiso interface that allow you for matrices with same structure have different factorization values.

Thanks,

Alex

View solution in original post

0 Kudos
1 Reply
Alexander_K_Intel2
377 Views

Hi,

Looks like you can use parameter maxfct and mnum from pardiso interface that allow you for matrices with same structure have different factorization values.

Thanks,

Alex

0 Kudos
Reply