[petsc-users] How to implement projection preconditioner?

Jed Brown jedbrown at mcs.anl.gov
Sat Jun 16 08:37:36 CDT 2012


\bar C is up to you to define, so that's just notation.

You can tell PCMG to use your own residual if you want to do some crazy
residual. Otherwise just use the matrix and preconditioning matrix to get
the algorithm you want. Always look at -ksp_view to see what is going on.
On Jun 16, 2012 5:44 AM, "Abdul Hanan Sheikh" <hanangul12 at yahoo.co.uk>
wrote:

> Dear ,
>
> Thanks for simplifiying. I got it well :D
>
> I am still stuck there to implement Prec1 = \bar C b + (b - \bar A \bar C
> b).
> My interest is to get this "Prec" implemented in Petsc.
> I see this as a projection preconditioner.
>
> Starting with; PCMG on system Ax = b with no presmoothing, and Richardson
> as postmoothing serves
> as Prec = C + (I - AC) , (right ? ) . Now what should I do to get  Prec1 = \bar
> C  + (I - \bar A \bar C ).
>
> thansk, Abdul
>
>   ------------------------------
> *From:* Jed Brown <jedbrown at mcs.anl.gov>
> *To:* Abdul Hanan Sheikh <hanangul12 at yahoo.co.uk>
> *Cc:* PETSc users list <petsc-users at mcs.anl.gov>
> *Sent:* Friday, 15 June 2012, 23:58
> *Subject:* Re: [petsc-users] How to implement projection preconditioner?
>
> Let's get even simpler, suppose I start with
>
> A x = b
>
> The left-preconditioned form of this system is *not*
>
> M^{-1} A x = b
>
> it is
>
> M^{-1} A x = M^{-1} b
>
>
> Run that through your analysis and you'll find that what your asking for
> doesn't make sense. It often helps keep things straight if you consider
> that the residual and solution do not lie in the same space, in which case
> "no preconditioning" is the "trivial" map from the residual space back to
> the state space.
>
> On Fri, Jun 15, 2012 at 3:07 PM, Abdul Hanan Sheikh <
> hanangul12 at yahoo.co.uk> wrote:
>
> Thank you for reply!
> I didnt get , what does it mean by applying the preconditioner to the
> right hand side, making it look just like a smoother ?
>
> More simply, how can I implement Prec = \bar C b + (b - \bar A \bar C b)
> where \bar C =  P (M_H^-1 A_H)^-1 R
> and \bar A = M^-1 A.
> Note: we know how to implement Prec = C b + (b - A C b).
>
> Many thanks, Abdul
>
>   ------------------------------
> *From:* Jed Brown <jedbrown at mcs.anl.gov>
> *To:* Abdul Hanan Sheikh <hanangul12 at yahoo.co.uk>
> *Cc:* PETSc users list <petsc-users at mcs.anl.gov>
> *Sent:* Friday, 15 June 2012, 21:36
>
> *Subject:* Re: [petsc-users] How to implement projection preconditioner?
>
> On Fri, Jun 15, 2012 at 2:23 PM, Abdul Hanan Sheikh <
> hanangul12 at yahoo.co.uk> wrote:
>
> I recall my previous thread; copy and paste here, and then I try to ask:
>
> Suppose C = P*A_H^{-1}*R is the coarse grid solver. Then with a
> post-smoother S, application of the preconditioner to the vector "b" would
> be C b + S (b - A C b). If we drop the post-smoother by setting S = I, We
> get Prec = C b + b - A C b. Note that there is no presmoother.
>
> This is the preconditioner I have used before, in PCMG framework, with no
> pre-smoothing and Richardson(without any preconditioner) as post smoother.
>
> I need to apply the updated version of above Prec = C b + (b - A C b),
> where A is replaced by M^-1 A , and A_H by M_H^-1 A_H .
>
>
> With left preconditioning, you also have to apply the preconditioner to
> the right hand side, thus making it look just like a smoother.
>
>
>
> Now does it make sense :
>
> 1)  incorporating M as only preconditioner in presmoother will replace A
> by M^-1 A in Prec = C b + (b - A C b) ?
>
>
> No, it uses the preconditioner the way that preconditioners work, see
> above.
>
>
> 2) incorporating M as preconditioner to CG-solver will replace A_H by
> (M_H^-1 A_H ) ? I am kinda of sure about this point 2.
>
>
> C already contains A_H^{-1}. Replacing that by M_H^{-1} is an approximate
> coarse level solve (that's okay and seems to be what you want, just not
> what you have written, which is not a consistent method).
>
>
>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20120616/49afe141/attachment-0001.html>


More information about the petsc-users mailing list