petsc-3.14.5 2021-03-03
Report Typos and Errors

# SNESComputeJacobianDefault

Computes the Jacobian using finite differences.

### Synopsis

    #include "petscsnes.h"
    PetscErrorCode  SNESComputeJacobianDefault(SNES snes,Vec x1,Mat J,Mat B,void *ctx)

Collective on SNES

### Input Parameters

| x1 | - compute Jacobian at this point
| ctx | - application's function context, as set with SNESSetFunction()

### Output Parameters

| J | - Jacobian matrix (not altered in this routine)
| B | - newly computed Jacobian matrix to use with preconditioner (generally the same as J)

### Options Database Key

| -snes_fd | - Activates SNESComputeJacobianDefault()
| -snes_test_err | - Square root of function error tolerance, default square root of machine epsilon (1.e-8 in double, 3.e-4 in single)
| -mat_fd_type | - Either wp or ds (see MATMFFD_WP or MATMFFD_DS)

### Notes

This routine is slow and expensive, and is not currently optimized to take advantage of sparsity in the problem. Although SNESComputeJacobianDefault() is not recommended for general use in large-scale applications, It can be useful in checking the correctness of a user-provided Jacobian.

An alternative routine that uses coloring to exploit matrix sparsity is SNESComputeJacobianDefaultColor().

### See Also

SNESSetJacobian(), SNESComputeJacobianDefaultColor(), MatCreateSNESMF()

### Level

intermediate

### Location

src/snes/interface/snesj.c

### Examples

src/ts/tutorials/ex4.c.html
src/ts/tutorials/ex10.c.html
src/ts/tutorials/ex15.c.html
src/ts/tutorials/ex17.c.html
Index of all SNES routines
Table of Contents for all manual pages
Index of all manual pages