Skip to main content
`Ctrl`+`K`

# MatMFFDSetFunctioni

Sets the function for computing a single component for a `MATMFFD` matrix

## Synopsis

    #include "petscmat.h"
    PetscErrorCode MatMFFDSetFunctioni(Mat mat, MatMFFDiFn *funci)

Logically Collective

## Input Parameters

- mat - the matrix-free matrix `MATMFFD`

- funci - the function to use

## Notes

If you use this you MUST call `MatAssemblyBegin()` and `MatAssemblyEnd()` on the matrix-free matrix inside your compute Jacobian routine.

This function is necessary to compute the diagonal of the matrix. `funci` must not contain any MPI call as it is called inside a loop on the local portion of the vector.

## See Also

Matrices, `Mat`, `MATMFFD`, `MatMFFDiFn`, `MatCreateSNESMF()`, `MatMFFDGetH()`, `MatMFFDSetHHistory()`, `MatMFFDResetHHistory()`, `SNESSetFunction()`, `MatGetDiagonal()`

## Level

advanced

## Location

src/mat/impls/mffd/mffd.c

## Implementations

MatMFFDSetFunctioni_MFFD() in src/mat/impls/mffd/mffd.c

Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages