# MatMFFDComputeJacobian

Tells the matrix-free Jacobian object the new location at which Jacobian matrix vector products will be computed at, i.e. J(x) * a. The x is obtained from the SNES object (using SNESGetSolution()).

### Synopsis

    #include "petscsnes.h"
    PetscErrorCode PETSCSNES_DLLEXPORT MatMFFDComputeJacobian(SNES snes,Vec x,Mat *jac,Mat *B,MatStructure *flag,void *dummy)

Collective on SNES

### Input Parameters

| snes | - the nonlinear solver context
| x | - the point at which the Jacobian vector products will be performed
| jac | - the matrix-free Jacobian object
| B | - either the same as jac or another matrix type (ignored)
| flag | - not relevent for matrix-free form
| dummy | - the user context (ignored)

### Warning

If MatMFFDSetBase() is ever called on jac then this routine will NO longer get the x from the SNES object and MatMFFDSetBase() must from that point on be used to change the base vector x.

### Notes

This can be passed into SNESSetJacobian() when using a completely matrix-free solver, that is the B matrix is also the same matrix operator. This is used when you select -snes_mf but rarely used directly by users.

### See Also

MatMFFDGetH(), MatCreateSNESMF(), MatCreateMFFD(), MATMFFD,
MatMFFDSetHHistory(), MatMFFDKSPMonitor(), MatMFFDSetFunctionError(), MatMFFDCreate(), SNESSetJacobian()

Level:developer
Location:src/snes/mf/snesmfj.c
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages