SNESLINESEARCHBASIC#

This line search implementation is not a line search at all; it simply uses the full step \(x_{k+1} = x_k - \lambda Y_k\) with \(\lambda=1\). Alternatively, \(\lambda\) can be configured to be a constant damping factor by setting snes_linesearch_damping. Thus, this routine is intended for methods with well-scaled updates; i.e. Newton’s method (SNESNEWTONLS), on well-behaved problems. Also named SNESLINESEARCHNONE.

Options Database Keys#

  • -snes_linesearch_damping <1.0> - step length is scaled by this factor

  • -snes_linesearch_norms - whether to compute norms or not (SNESLineSearchSetComputeNorms())

Note#

For methods with ill-scaled updates (SNESNRICHARDSON, SNESNCG), a small damping parameter may yield satisfactory, but slow convergence, despite the lack of the line search.

See Also#

SNES: Nonlinear Solvers, SNES, SNESLineSearch, SNESLineSearchType, SNESGetLineSearch(), SNESLineSearchCreate(), SNESLineSearchSetType(), SNESLineSearchSetDamping(), SNESLineSearchSetComputeNorms()

Level#

advanced

Location#

src/snes/linesearch/impls/basic/linesearchbasic.c

Examples#

src/ts/tutorials/ex22.c


Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages