[petsc-users] SNES question

Jed Brown jedbrown at mcs.anl.gov
Thu Jan 9 14:29:48 CST 2014


Eduardo <erocha.ssa at gmail.com> writes:

>> How do you define a "Newton iteration"?
>>
>
> Equation 5.2 of the Petsc manual.

This is overly simplistic.  In reality, "Newton solvers" solve the
linear system

  J[x_k] y = - F[x_k]

to get a tentative step y, but then perform a line search to find \gamma
in

  x_{k+1} = x_k + \gamma y

the line search re-evaluates F[x_k + \gamma' y] for one or more values
of \gamma' (usually starting from \gamma' = 1).  The default line search
is "backtracking", so if \gamma' = 1 gave sufficient decrease in the
norm of the residual, the step is accepted.  For harder problems or with
different line searches, F will be evaluated at more than one place.

I recommend doing your "update" at the start of the function that
evaluates F.  It's safer, though there are non-smooth problems where
it's not the best (though the better fixes are more complicated).  If
you take it out of F, you should have a clear rationale for doing so.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: not available
URL: <http://lists.mcs.anl.gov/pipermail/petsc-users/attachments/20140109/18cbcf6b/attachment.pgp>


More information about the petsc-users mailing list