[petsc-dev] rename SNES methods ls, tr etc

Jed Brown jedbrown at mcs.anl.gov
Mon Dec 3 12:11:52 CST 2012


On Mon, Dec 3, 2012 at 9:56 AM, Barry Smith <bsmith at mcs.anl.gov> wrote:

>    Ok, clearly we still don't understand Picard and what is called Picard
> in PETSc is probably all wrong.
>
>    Start with F(x) = 0  Introduce any "reasonable" matrix function G(x)
> and write the equivalent nonlinear system G(x) x = -F(x) + G(x)x
> non-defect correction Picard iteration is solve G(x^n) x^{n+1} = -F(x^n) +
> G(x^n) x^n write this in defect correction style as
> solve G(x^n)(x^{n+1} - x^n) = -F(x^n).  When G(x^n) is the Jacobian of F()
> this is Newton's method. Correct?
>
>    So a user can do (defect correction) "Picard" for their problem simply
> by providing any G() they want and the original F() using the usual PETSc
> interface, correct?
>
>    Given this introduction it is wrong to say there are many methods
> _between_ Newton and Picard. It is really that (defect correction) Picard
> is a spectrum of methods (any reasonable G()) and Newton is a special case.
> Correct?
>
>     The way "Picard" comes into PETSc is when the user does not have F(x)
> instead they have A(x) x = f(x). They want to supply A(x) and f(x) and A(x)
> may not be particularly near the Jacobian of A(x)x - f(x) (since f() can
> have all kinds of stuff in it).
>
> Thus Picard in PETSc means the user provides A(x) and f(x) and Newton
> means the user provides F(x) and any "Jacobian" they want.
>

Fine, but I want to encourage people to "do Picard" by writing F(x) and
A(x) because then they can incrementally add terms to A without breaking
the structure. If they write to the "Picard" (A(x), f(x)) interface, they
are constraining themselves and probably won't try using other methods.
Regardless, we still want to support the equivalent of -snes_mf_operator
(Newton) despite them using that silly "Picard" interface.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/petsc-dev/attachments/20121203/2abe6386/attachment.html>


More information about the petsc-dev mailing list