:orphan:
# SNESTSFormJacobian
Function to evaluate the Jacobian
## Synopsis
```
#include "petscts.h"
PetscErrorCode SNESTSFormJacobian(SNES snes, Vec U, Mat A, Mat B, void *ctx)
```
Collective
## Input Parameters
- ***snes -*** nonlinear solver
- ***U -*** the current state at which to evaluate the residual
- ***ctx -*** user context, must be a `TS`
## Output Parameters
- ***A -*** the Jacobian
- ***B -*** the preconditioning matrix (may be the same as A)
## Note
This function is not normally called by users and is automatically registered with the `SNES` used by `TS`.
## See Also
[](ch_ts), `SNESSetJacobian()`
## Level
developer
## Location
src/ts/interface/ts.c
## Implementations
SNESTSFormJacobian_ARKIMEX in src/ts/impls/arkimex/arkimex.c
SNESTSFormJacobian_BDF in src/ts/impls/bdf/bdf.c
SNESTSFormJacobian_EIMEX in src/ts/impls/eimex/eimex.c
SNESTSFormJacobian_RK in src/ts/impls/explicit/rk/rk.c
SNESTSFormJacobian_GLEE in src/ts/impls/glee/glee.c
SNESTSFormJacobian_Alpha in src/ts/impls/implicit/alpha/alpha1.c
SNESTSFormJacobian_Alpha in src/ts/impls/implicit/alpha/alpha2.c
SNESTSFormJacobian_DiscGrad in src/ts/impls/implicit/discgrad/tsdiscgrad.c
SNESTSFormJacobian_GLLE in src/ts/impls/implicit/glle/glle.c
SNESTSFormJacobian_IRK in src/ts/impls/implicit/irk/irk.c
SNESTSFormJacobian_Theta in src/ts/impls/implicit/theta/theta.c
SNESTSFormJacobian_Mimex in src/ts/impls/mimex/mimex.c
SNESTSFormJacobian_Pseudo in src/ts/impls/pseudo/posindep.c
SNESTSFormJacobian_RosW in src/ts/impls/rosw/rosw.c
---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ts/interface/ts.c)
[Index of all TS routines](index.md)
[Table of Contents for all manual pages](/manualpages/index.md)
[Index of all manual pages](/manualpages/singleindex.md)