# SNESLineSearchSetFromOptions
Sets options for the line search 
## Synopsis
```
#include "petscsnes.h" 
PetscErrorCode SNESLineSearchSetFromOptions(SNESLineSearch linesearch)
```
Logically Collective on linesearch


## Input Parameter

- ***linesearch -*** linesearch context



## Options Database Keys

- ***-snes_linesearch_type <type> -*** basic (or equivalently none), bt, l2, cp, nleqerr, shell
- ***-snes_linesearch_order <order> -*** 1, 2, 3.  Most types only support certain orders (bt supports 2 or 3)
- ***-snes_linesearch_norms   -*** Turn on/off the linesearch norms for the basic linesearch typem (`SNESLineSearchSetComputeNorms()`)
- ***-snes_linesearch_minlambda -*** The minimum step length
- ***-snes_linesearch_maxstep -*** The maximum step size
- ***-snes_linesearch_rtol -*** Relative tolerance for iterative line searches
- ***-snes_linesearch_atol -*** Absolute tolerance for iterative line searches
- ***-snes_linesearch_ltol -*** Change in lambda tolerance for iterative line searches
- ***-snes_linesearch_max_it -*** The number of iterations for iterative line searches
- ***-snes_linesearch_monitor [:filename] -*** Print progress of line searches
- ***-snes_linesearch_monitor_solution_update [viewer:filename:format] -*** view each update tried by line search routine
- ***-snes_linesearch_damping -*** The linesearch damping parameter
- ***-snes_linesearch_keeplambda -*** Keep the previous search length as the initial guess.
- ***-snes_linesearch_precheck_picard -*** Use precheck that speeds up convergence of picard method
- ***-snes_linesearch_precheck_picard_angle -*** Angle used in Picard precheck method





## See Also
 `SNESLineSearch`, `SNESLineSearchCreate()`, `SNESLineSearchSetOrder()`, `SNESLineSearchSetType()`, `SNESLineSearchSetTolerances()`, `SNESLineSearchSetDamping()`, `SNESLineSearchPreCheckPicard()`,
`SNESLineSearchType`, `SNESLineSearchSetComputeNorms()`

## Level
intermediate

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/snes/linesearch/interface/linesearch.c.html#SNESLineSearchSetFromOptions">src/snes/linesearch/interface/linesearch.c</A>

## Implementations

<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/snes/linesearch/impls/bt/linesearchbt.c.html#SNESLineSearchSetFromOptions_BT">SNESLineSearchSetFromOptions_BT in src/snes/linesearch/impls/bt/linesearchbt.c</A><BR>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/snes/linesearch/interface/linesearch.c)


[Index of all SNES routines](index.md)  
[Table of Contents for all manual pages](/docs/manualpages/index.md)  
[Index of all manual pages](/docs/manualpages/singleindex.md)  
