Skip to main content
`Ctrl`+`K`

# 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 <true> - 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/ex22f.F90
src/ts/utils/dmplexlandau/tutorials/ex1f90.F90
src/ts/tutorials/ex22.c

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