petsc-3.3-p7 2013-05-11

SNESQN

Limited-Memory Quasi-Newton methods for the solution of nonlinear systems.

Options Database

-snes_qn_m - Number of past states saved for the L-Broyden methods.
-snes_qn_powell_angle - Angle condition for restart.
-snes_qn_powell_descent - Descent condition for restart.
-snes_qn_composition <sequential, composed>- Type of composition.
-snes_linesearch_type <cp, l2, basic> - Type of line search.
-snes_qn_monitor - Monitors the quasi-newton jacobian.

Notes: This implements the L-BFGS algorithm for the solution of F(x) = b using previous change in F(x) and x to form the approximate inverse Jacobian using a series of multiplicative rank-one updates. This will eventually be generalized to implement several limited-memory Broyden methods.

When using a nonlinear preconditioner, one has two options as to how the preconditioner is applied. The first of these options, sequential, uses the preconditioner to generate a new solution and function and uses those at this iteration as the current iteration's values when constructing the approximate jacobian. The second, composed, perturbs the problem the jacobian represents to be P(x, b) - x = 0, where P(x, b) is the preconditioner.

References

L-Broyden Methods: a generalization of the L-BFGS method to the limited memory Broyden family, M. B. Reed, International Journal of Computer Mathematics, vol. 86, 2009.

See Also

SNESCreate(), SNES, SNESSetType(), SNESLS, SNESTR

Level:beginner
Location:
src/snes/impls/qnqn.c
Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages