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 \( ||y|| > maxstep \) then scale `y` to be \(y = y * maxstep/||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 the 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()`

## 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