SNESLINESEARCHCP#
Critical point line search. This line search assumes that there exists some artificial \(G(x)\) for which the SNESFunctionFn \(F(x) = grad G(x)\). Therefore, this line search seeks to find roots of the directional derivative via a secant method, that is \(F(x_k - \lambda Y_k) \cdot Y_k / ||Y_k|| = 0\).
Options Database Keys#
- -snes_linesearch_minlambda <1e-12> - the minimum acceptable - lambda(scaling of solution update)
- -snes_linesearch_maxlambda <1.0> - the algorithm ensures that - lambdais never larger than this value
- -snes_linesearch_damping <1.0> - initial - lambdaon entry to the line search
- -snes_linesearch_order <1> - order of the approximation in the secant method, must be 1, 2, or 3 
- -snes_linesearch_max_it <1> - the maximum number of secant iterations performed 
- -snes_linesearch_rtol <1e-8> - relative tolerance for the directional derivative 
- -snes_linesearch_atol <1e-15> - absolute tolerance for the directional derivative 
- -snes_linesearch_ltol <1e-8> - minimum absolute change in - lambdaallowed
Notes#
This method does NOT use the objective function if it is provided with SNESSetObjective().
This method is the preferred line search for SNESQN and SNESNCG.
See Also#
SNES: Nonlinear Solvers, SNESLineSearch, SNESLineSearchType, SNESLineSearchCreate(), SNESLineSearchSetType(), SNESLINESEARCHBISECTION
Level#
advanced
Location#
src/snes/linesearch/impls/cp/linesearchcp.c
Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages