7. SNES: Nonlinear Solvers and Unconstrained Minimization

Up: Contents Next: Basic Usage Previous: Multigrid Preconditioners

The solution of large-scale nonlinear problems pervades many facets of computational science and demands robust and flexible solution strategies. The SNES component of PETSc provides a powerful suite of data-structure-neutral numerical routines for such problems. Built on top of the linear solvers and data structures discussed in preceding chapters, SNES enables the user to easily customize the nonlinear solvers according to the application at hand. Also, the SNES interface is identical for the uniprocessor and parallel cases; the only difference in the parallel version is that each processor typically forms only its local contribution to various matrices and vectors.

SNES includes methods for solving systems of nonlinear equations of the form

where . SNES also contains solvers for unconstrained minimization problems of the form

where . Newton-like methods provide the core of the package, including both line search and trust region techniques, which are discussed further in Section The Nonlinear Solvers . Following the PETSc design philosophy, the interfaces to the various solvers are all virtually identical. In addition, the SNES software is completely flexible, so that the user can at runtime change any facet of the solution process.

The general form of the n-dimensional Newton's method for solving (3 ) is

where is an initial approximation to the solution and is nonsingular. In practice, the Newton iteration (5 ) is implemented by the following two steps:

Similarly, the general form of Newton's method for solving (4 ) is

where is an initial approximation to the solution, and is positive definite. The iteration (7 ) is usually implemented by


Up: Contents Next: Basic Usage Previous: Multigrid Preconditioners