petsc-3.5.4 2015-05-23
Report Typos and Errors

# SNESSetJacobian

Sets the function to compute Jacobian as well as the location to store the matrix.

### Synopsis

```#include "petscsnes.h"
PetscErrorCode  SNESSetJacobian(SNES snes,Mat Amat,Mat Pmat,PetscErrorCode (*J)(SNES,Vec,Mat,Mat,void*),void *ctx)
```
Logically Collective on SNES and Mat

### Input Parameters

 snes - the SNES context Amat - the matrix that defines the (approximate) Jacobian Pmat - the matrix to be used in constructing the preconditioner, usually the same as Amat. J - Jacobian evaluation routine (if NULL then SNES retains any previously set value) ctx - [optional] user-defined context for private data for the Jacobian evaluation routine (may be NULL) (if NULL then SNES retains any previously set value)

### Notes

If the Amat matrix and Pmat matrix are different you must call MatAssemblyBegin/End() on each matrix.

If using SNESComputeJacobianDefaultColor() to assemble a Jacobian, the ctx argument must be a MatFDColoring.

Other defect-correction schemes can be used by computing a different matrix in place of the Jacobian. One common example is to use the "Picard linearization" which only differentiates through the highest order parts of each term.

### Keywords

SNES, nonlinear, set, Jacobian, matrix

KSPSetOperators(), SNESSetFunction(), MatMFFDComputeJacobian(), SNESComputeJacobianDefaultColor(), MatStructure, J, SNESSetPicard()

### Examples

src/snes/examples/tutorials/ex1.c.html
src/snes/examples/tutorials/ex2.c.html
src/snes/examples/tutorials/ex3.c.html
src/snes/examples/tutorials/ex5s.c.html
src/snes/examples/tutorials/ex12.c.html
src/snes/examples/tutorials/ex14.c.html
src/snes/examples/tutorials/ex15.c.html
src/snes/examples/tutorials/ex18.c.html
src/snes/examples/tutorials/ex20.c.html
src/snes/examples/tutorials/ex22.c.html
src/snes/examples/tutorials/ex28.c.html