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.
pgpa7srtAQceC.pgp
Description: PGP signature
