[petsc-users] understanding of the preconditioner setted from KSPSetOperators

Smith, Barry F. bsmith at mcs.anl.gov
Thu May 24 22:04:16 CDT 2018



> On May 24, 2018, at 9:03 PM, Mike Wick <michael.wick.1980 at gmail.com> wrote:
> 
> Hi PETSc team:
> 
> I just want to get some clarifications on the use of preconditioners in PETSc.
> 
> Suppose I provide the Pmat as the second argument in KSPSetOperators as a user-specified matrix and it is different from Amat, the actual matrix to be solved. When I specify a preconditioner, say ASM, what does that mean?

   It means the Pmat is used to construct the preconditioner. In the case of ASM this means that overlapping blocks of the Pmat are extracted and used to apply the preconditioner.  The Amat is only used to do the matrix vector products needed by the Krylov method.

> I am assuming that we are doing a preonly-type thing for solving Pmat, is that right? There is no iterative solver applied to Pmat over the iterations.

   Not directly though there may be, depending on the preconditioner, an iteration inside the application of the preconditioner. For example with ASM one could approximately solve each block with, say, 10 iterations of GMRES inside each application of the preconditioner.

   Barry

> 
> Best,
> 
> Mike



More information about the petsc-users mailing list