On Dec 3, 2012, at 12:11 PM, Jed Brown <jedbrown at mcs.anl.gov> wrote:
> 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.
All true and understood. We can add to the docs a recommendation to avoid
the Picard interface but just have it to pander to the small number of stubborn
silly folks.
Barry