<p>> Also, it's extremely common to just assemble the Picard linearization and use it for preconditioning MFFD Newton. Use -snes_mf_operator for Newton, drop that option to use the Picard linearization.</p>
<p>Jed, this is exactly what I do and have done for more than 3 years with PETSc. Also calling newton even without the matrix free jacobian with just Picard linearization with an algebraic preconditioner is sometimes more efficient. And all of them do fit in the implemented newton framework. It is both elegant and flexible. </p>

<p>Vijay</p>
<p>On Sep 16, 2011 5:52 PM, "Jed Brown" <<a href="mailto:jedbrown@mcs.anl.gov">jedbrown@mcs.anl.gov</a>> wrote:<br>
><br>
> On Sat, Sep 17, 2011 at 00:48, Barry Smith <<a href="mailto:bsmith@mcs.anl.gov">bsmith@mcs.anl.gov</a>> wrote:<br>
>><br>
>> Should we have support for this in SNES as a particular class since it comes up fairly often (in certain literature): perhaps for short we could call it SNESPICARD :-)<br>
><br>
><br>
> Haha, but no. I think we should document that this is how to do Picard-with-solve, but we can't do anything automatically because the user has to provide the linearization they want to use. Also, it's extremely common to just assemble the Picard linearization and use it for preconditioning MFFD Newton. Use -snes_mf_operator for Newton, drop that option to use the Picard linearization.</p>