1(doc_nonlinsolve)= 2 3# Summary of Nonlinear Solvers Available In PETSc 4 5See the paper [Composing Scalable Nonlinear Algebraic Solvers](https://www.mcs.anl.gov/papers/P2010-0112.pdf) for details 6on the algorithms. 7 8```{eval-rst} 9.. list-table:: 10 :widths: auto 11 :align: center 12 :header-rows: 1 13 14 * - Algorithm 15 - Associated Type 16 - Notes 17 * - Newton's method 18 - ``SNESNEWTONLS`` 19 - Use ``-snes_mf`` for matrix-free linear solvers 20 * - Newton's method with trust region 21 - ``SNESNEWTONTR`` 22 - 23 * - Single linearization 24 - ``SNESKSPONLY`` 25 - Essentially one step of Newtwon without a line search 26 * - Quasi-Newton method (BFGS) 27 - ``SNESQN`` 28 - 29 * - Nonlinear CG 30 - ``SNESNCG`` 31 - Requires nearly symmetric Jacobian for good convergence 32 * - Nonlinear GMRES 33 - ``SNESNGMRES`` 34 - 35 * - Anderson mixing 36 - ``SNESANDERSON`` 37 - 38 * - Nonlinear Richardson 39 - ``SNESNRICHARDSON`` 40 - 41 * - Nonlinear Gauss-Siedel 42 - ``SNESNGS`` 43 - 44 * - Full Approximation Scheme (nonlinear multigrid) 45 - ``SNESFAS`` 46 - 47 * - Nonlinear additive Schwarz 48 - ``SNESNASM`` 49 - 50 * - Nonlinear additive Schwarz preconditioned inexact Newton (ASPIN) methods 51 - ``SNESASPIN`` 52 - 53 * - Composite (combine several nonlinear solvers) 54 - ``SNESCOMPOSITE`` 55 - 56 * - Preconditioned nonlinear solver 57 - --- 58 - See ``SNESGetNPC()``/ ``SNESSetNPC()``, can be combined to accelerate many of the solvers 59``` 60