**petsc-3.3-p7 2013-05-11**

# MatCreateSNESMF

Creates a matrix-free matrix context for use with a SNES solver. This matrix can be used as the Jacobian argument for the routine SNESSetJacobian(). See MatCreateMFFD() for details on how the finite difference computation is done.
### Synopsis

#include "petscsnes.h"
PetscErrorCode MatCreateSNESMF(SNES snes,Mat *J)

Collective on SNES and Vec

### Input Parameters

**snes ** -the SNES context

### Output Parameter

**J ** -the matrix-free matrix

### 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: The difference between this routine and MatCreateMFFD() is that this matrix
automatically gets the current base vector from the SNES object and not from an
explicit call to MatMFFDSetBase().

### See Also

MatDestroy(), MatMFFDSetFunctionError(), MatMFFDDSSetUmin()

MatMFFDSetHHistory(), MatMFFDResetHHistory(), MatCreateMFFD(),
MatMFFDGetH(), MatMFFDRegisterDynamic), MatMFFDComputeJacobian()

**Level:**advanced

Location:src/snes/mf/snesmfj.c

Index of all SNES routines

Table of Contents for all manual pages

Index of all manual pages

### Examples

src/ts/examples/tutorials/ex15.c.html