extracting work vectors

Jed Brown jed at 59A2.org
Fri Dec 4 10:54:46 CST 2009


On Fri, 04 Dec 2009 16:47:27 +0100, Jarunan Panyasantisuk <jarunan at ascomp.ch> wrote:
> About PCSHELL, I am sorry if this will annoy you but please let me
> explain what I understand.
> When define a linear system Ax = b
> GMRES does                           Ax' = r
> where r is residual, acts as a new RHS and supposed to be minimized
> x' is a new solution vector, used in the iterations

GMRES minimizes the residual over

   span{Pb, PAPb, (PA)^2Pb, (PA)^3Pb,...}

this x' thing is not formed until the end.  P is the preconditioner, it
should have the property that PA is "close" to the identity.  The
operation PCApply(pc,x,y) should be doing y := Px.  Where x comes from
is none of your business and you can't connect it to an approximate
solution x' or residual r.

> which will solve the system Ax' = r for niter iterations

Don't use PCShell for this.

  -pc_type ksp -ksp_ksp_type chebychev -ksp_pc_type sor -ksp_ksp_max_its 8

preconditions the original system using 8 Chebychev iterations
preconditioned by SOR.  If the inner solver is non-constant, you should
use -ksp_type fgmres for the other iteration.

Jed


More information about the petsc-users mailing list