Eduardo <[email protected]> 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.

Attachment: pgpa7srtAQceC.pgp
Description: PGP signature

Reply via email to