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

could pardiso handle a sparse equations with dynamic size?

haibo__zhao
Beginner
209 Views

Hi, I am new to Pardiso and I want to use pardiso to solve a large sparse linear equations in a transient problem. My  problem is that my sparse matrix size is not fixed . it is dynamic and varies with time. I want to know if pardiso could handle this problems or the size in Pardiso must be fixed? If so, what should I do? 

0 Kudos
1 Reply
Kirill_V_Intel
Employee
209 Views

Hello!

As a first step I'd estimate whether you actually need to re-use the matrix from the previous step. Maybe, you'll get results quickly enough when simply re-computing factorization at each step (= for each matrix) and there is no need to complicate things.

The question is then what remains the same in your problem when the matrix size changes. Do you expect previous matrix to be a good approximation of the current one? Then possibly you can use the factorization once you've computed it as a preconditioner for the next problem but you'll need a transition matrix which will match you meshes at different time steps (I imagine your problem size changes due to the mesh changing). In this case, you'll have your favorite iterative method (say, CG or BiCGStab) with a preconditioner which will involve calling PARDISO when computing the preconditioner action.

Also, if you matrix changes are due to the localized changes in the mesh, you can do the same, or exploit the Schur complement (re-compute only a smaller part of the factorization). See https://software.intel.com/en-us/articles/intel-mkl-support-to-new-functionality-schur-complement

Hope this is useful.

Best,
Kirill

0 Kudos
Reply