Skip to main content
`Ctrl`+`K`

# SNESANDERSON

Implements the Anderson Mixing nonlinear solver [And65], [BKST15]

## Options Database Keys

- -snes_anderson_m m - Number of stored previous solutions and residuals

- -snes_anderson_beta beta - Anderson mixing parameter

- -snes_anderson_restart_type type - Type of restart (see `SNESNGMRES`)

- -snes_anderson_restart_it its - Number of iterations of restart conditions before restart

- -snes_anderson_restart restart - Number of iterations before periodic restart

- -snes_anderson_monitor - Prints relevant information about the Anderson mixing 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.

This algorithm ignores any Jacobian provided with `SNESSetJacobian()`

Only supports left non-linear preconditioning.

## References

[And65]

Donald G Anderson. Iterative procedures for nonlinear integral equations. Journal of the ACM (JACM), 12(4):547–560, 1965.

[BKST15]

Peter R. Brune, Matthew G. Knepley, Barry F. Smith, and Xuemin Tu. Composing scalable nonlinear algebraic solvers. SIAM Review, 57(4):535–565, 2015. http://www.mcs.anl.gov/papers/P2010-0112.pdf. URL: http://www.mcs.anl.gov/papers/P2010-0112.pdf, doi:10.1137/130936725.

## See Also

SNES: Nonlinear Solvers, `SNESNGMRES`, `SNESCreate()`, `SNES`, `SNESSetType()`, `SNESType`

## Level

beginner

## Location

src/snes/impls/ngmres/anderson.c

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