# SNESANDERSON
Anderson Mixing nonlinear solver 


## Options Database Keys

- ***-snes_anderson_m                -*** Number of stored previous solutions and residuals
- ***-snes_anderson_beta             -*** Anderson mixing parameter
- ***-snes_anderson_restart_type     -*** Type of restart (see SNESNGMRES)
- ***-snes_anderson_restart_it       -*** Number of iterations of restart conditions before restart
- ***-snes_anderson_restart          -*** Number of iterations before periodic restart
- ***-snes_anderson_monitor          -*** Prints relevant information about the ngmres iteration



## Notes
The Anderson Mixing method combines m previous solutions into a minimum-residual solution by solving a small linearized
optimization problem at each iteration.

Very similar to the `SNESNGMRES` algorithm.


## References

- **** -*** D. G. Anderson. Iterative procedures for nonlinear integral equations.
J. Assoc. Comput. Mach., 12, 1965."
- **** -*** Peter R. Brune, Matthew G. Knepley, Barry F. Smith, and Xuemin Tu,"Composing Scalable Nonlinear Algebraic Solvers",
SIAM Review, 57(4), 2015



## See Also
 `SNESNGMRES`, `SNESCreate()`, `SNES`, `SNESSetType()`, `SNESType`

## Level
beginner

## Location
<A HREF="PETSC_DOC_OUT_ROOT_PLACEHOLDER/src/snes/impls/ngmres/anderson.c.html#SNESANDERSON">src/snes/impls/ngmres/anderson.c</A>


---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/snes/impls/ngmres/anderson.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)  
