You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Section 1.6, "Direct-Iterative Preconditioning for Nonsymmetric Linear Systems", of the PARDISO User Guide says
Many applications of sparse solvers require solutions of systems with gradually changing values of the nonzero coefficient matrix, but the same identical sparsity pattern. In these applications, the analysis phase of the solvers has to be performed only once and the numerical factorizations are the important time-consuming steps during the simulation. PARDISO uses a numerical factorization A = LU for the first system and applies these exact factors L and U for the next steps in a preconditioned Krylov-Subspace iteration.
So, when the matrix changes slightly, PARDISO has the capability to perform matrix factorization only once and uses it over and over again until the accumulated changes in the matrix becomes too large.
The User Guide continues to say
If the iteration does not converge, the solver will automatically switch back to the numerical factorization.
So, along the evolution of the matrix, it seems that the users do not have to decide when to discard the old factorization result by themselves: PARDISO has the capability to recognize such a situation automatically and generate a new factorization result.
Pardiso.jl seems to support these capabilities via set_solver!(ps, Pardiso.ITERATIVE_SOLVER), but I am not sure how to use this properly. It will be great to have an example of using ITERATIVE_SOLVER in the example directory, because avoiding factorization as much as possible reduces the total solution time significantly, as factorization is the most expensive step in the solution procedure.
The text was updated successfully, but these errors were encountered:
Section 1.6, "Direct-Iterative Preconditioning for Nonsymmetric Linear Systems", of the PARDISO User Guide says
So, when the matrix changes slightly, PARDISO has the capability to perform matrix factorization only once and uses it over and over again until the accumulated changes in the matrix becomes too large.
The User Guide continues to say
So, along the evolution of the matrix, it seems that the users do not have to decide when to discard the old factorization result by themselves: PARDISO has the capability to recognize such a situation automatically and generate a new factorization result.
Pardiso.jl
seems to support these capabilities viaset_solver!(ps, Pardiso.ITERATIVE_SOLVER)
, but I am not sure how to use this properly. It will be great to have an example of usingITERATIVE_SOLVER
in theexample
directory, because avoiding factorization as much as possible reduces the total solution time significantly, as factorization is the most expensive step in the solution procedure.The text was updated successfully, but these errors were encountered: