petsc-3.4.2 2013-07-02

# 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"
    #include "petscdm.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(), MatMFFDRegister(), 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