:orphan: # SNESLINESEARCHBT Backtracking line search. This line search finds the minimum of a polynomial fitting of the L2 norm of the function or the objective function if it is provided with `SNESSetObjective()`. If this fit does not satisfy the conditions for progress, the interval shrinks and the fit is reattempted at most max_it times or until lambda is below minlambda. ## Options Database Keys - ***-snes_linesearch_alpha <1e-4> -*** slope descent parameter - ***-snes_linesearch_damping <1.0> -*** initial step length - ***-snes_linesearch_maxstep -*** if the length the initial step is larger than this then the step is scaled back to be of this length at the beginning of the line search - ***-snes_linesearch_max_it <40> -*** maximum number of shrinking step - ***-snes_linesearch_minlambda <1e-12> -*** minimum step length allowed - ***-snes_linesearch_order <1,2,3> -*** order of the approximation. With order 1, it performs a simple backtracking without any curve fitting ## Note This line search will always produce a step that is less than or equal to, in length, the full step size. ## Reference - ***- * -*** "Numerical Methods for Unconstrained Optimization and Nonlinear Equations" by Dennis and Schnabel, page 325. ## See Also `SNESLineSearch`, `SNESLineSearchType`, `SNESLineSearchCreate()`, `SNESLineSearchSetType()` ## Level advanced ## Location src/snes/linesearch/impls/bt/linesearchbt.c --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/snes/linesearch/impls/bt/linesearchbt.c) [Index of all SNES routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)