:orphan:
# SNESNEWTONTR
Newton based nonlinear solver that uses trust-region dogleg method with Cauchy direction 
## Options Database Keys

- ***-snes_tr_tol <tol> -*** trust region tolerance
- ***-snes_tr_eta1 <eta1> -*** trust region parameter 0.0 <= eta1 <= eta2, rho >= eta1 breaks out of the inner iteration (default: eta1=0.001)
- ***-snes_tr_eta2 <eta2> -*** trust region parameter 0.0 <= eta1 <= eta2, rho <= eta2 shrinks the trust region (default: eta2=0.25)
- ***-snes_tr_eta3 <eta3> -*** trust region parameter eta3 > eta2, rho >= eta3 expands the trust region (default: eta3=0.75)
- ***-snes_tr_t1 <t1> -*** trust region parameter, shrinking factor of trust region (default: 0.25)
- ***-snes_tr_t2 <t2> -*** trust region parameter, expanding factor of trust region (default: 2.0)
- ***-snes_tr_deltaM <deltaM> -*** trust region parameter, max size of trust region (default: MAX_REAL)
- ***-snes_tr_delta0 <delta0> -*** trust region parameter, initial size of trust region (default: 0.2)
- ***-snes_tr_fallback_type <newton,cauchy,dogleg> -*** Solution strategy to test reduction when step is outside of trust region. Can use scaled Newton direction, Cauchy point (Steepest Descent direction) or dogleg method.



## Reference

- **** -*** "Numerical Optimization" by Nocedal and Wright, chapter 4.


 (since 3.19)


## See Also
 `SNESCreate()`, `SNES`, `SNESSetType()`, `SNESNEWTONLS`, `SNESSetTrustRegionTolerance()`,
`SNESNewtonTRPreCheck()`, `SNESNewtonTRGetPreCheck()`, `SNESNewtonTRSetPostCheck()`, `SNESNewtonTRGetPostCheck()`,
`SNESNewtonTRSetPreCheck()`, `SNESNewtonTRSetFallbackType()`

## Level
deprecated

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/snes/impls/tr/tr.c.html#SNESNEWTONTR">src/snes/impls/tr/tr.c</A>


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


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