Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
This community is designed for sharing of public information. Please do not share Intel or third-party confidential information here.
6588 Discussions

Can PARDISO routines exploit an initial guess?



I'm using PARDISO to find vector x in the equation

Ax = b

Where A is a real unsymmetric matrix. In the PARDISO manual, they mention the vector x is only accessed in the solution phase.

If I initially have a pretty good estimate of what X is, can I use that estimate somehow (like I can in, say, the Jacobi or Gauss-Seidel algorithm)?


0 Kudos
1 Reply
Black Belt

The 'D' in PARDISO stands for "direct". We can roughly think of the algorithm used in Pardiso as a sophisticated version of Gaussian Elimination that is sparseness-aware. Thus, it is a direct method, not an iterative method. There is a provision for iterative refinement, whose purpose is to improve the last few bits in the solution.

Typically, iteration is used to solve a nonlinear problem by solving a sequence of linear problems.

I do not understand your motivation in seeking to use a trial solution for an already linear problem, but you can experiment as follows to clarify matters for yourself. Suppose you have a trial solution x0 for A x = b. Calculate b1 = b - A x0, exploiting the sparsity of A in computing the matrix-vector product. Now solve A δ = b1, using Pardiso. If the norm of δ is not negligible compared to the norm of x0, the initial guess was no good, and we have wasted some CPU time just to establish that.