Skip to main content
`Ctrl`+`K`

# SNESNEWTONLS

Newton based nonlinear solver that uses a line search

## Options Database Keys

- -snes_linesearch_type <bt> - basic (or equivalently none), bt, l2, cp, nleqerr, shell. Select line search type, see `SNESLineSearchSetType()`

- -snes_linesearch_order <3> - 2, 3. Selects the order of the line search for bt, see `SNESLineSearchSetOrder()`

- -snes_linesearch_norms <true> - Turns on/off computation of the norms for basic linesearch (`SNESLineSearchSetComputeNorms()`)

- -snes_linesearch_alpha <alpha> - Sets alpha used in determining if reduction in function norm is sufficient

- -snes_linesearch_maxstep <maxstep> - Sets the maximum stepsize the line search will use (if the 2-norm(y) > maxstep then scale y to be y = (maxstep/2-norm(y)) *y)

- -snes_linesearch_minlambda <minlambda> - Sets the minimum lambda the line search will tolerate

- -snes_linesearch_monitor - print information about the progress of line searches

- -snes_linesearch_damping - damping factor used for basic line search

## Note

This is the default nonlinear solver in `SNES`

## See Also

SNES: Nonlinear Solvers, `SNESCreate()`, `SNES`, `SNESSetType()`, `SNESNEWTONTR`, `SNESQN`, `SNESLineSearchSetType()`, `SNESLineSearchSetOrder()` `SNESLineSearchSetPostCheck()`, `SNESLineSearchSetPreCheck()` `SNESLineSearchSetComputeNorms()`, `SNESGetLineSearch()`, `SNESLineSearchSetType()`

## Level

beginner

## Location

src/snes/impls/ls/ls.c

## Examples

src/snes/tutorials/ex1.c

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