:orphan: # MatFDColoringSetFunction Sets the function to use for computing the Jacobian. ## Synopsis ``` #include "petscmat.h" PetscErrorCode MatFDColoringSetFunction(MatFDColoring matfd, PetscErrorCode (*f)(void), void *fctx) ``` Logically Collective ## Input Parameters - ***coloring -*** the coloring context - ***f -*** the function - ***fctx -*** the optional user-defined function context ## Calling sequence with `SNES` of `f` ```none PetscErrorCode f(SNES snes, Vec in, Vec out, void *fctx) ``` - ***snes -*** the nonlinear solver `SNES` object - ***in -*** the location where the Jacobian is to be computed - ***out -*** the location to put the computed function value - ***fctx -*** the function context ## Calling sequence without `SNES` of `f` ```none PetscErrorCode f(void *dummy, Vec in, Vec out, void *fctx) ``` - ***dummy -*** an unused parameter - ***in -*** the location where the Jacobian is to be computed - ***out -*** the location to put the computed function value - ***fctx -*** the function context ## Note This function is usually used automatically by `SNES` (when one uses `SNESSetJacobian()` with the argument `SNESComputeJacobianDefaultColor()`) and only needs to be used by someone computing a matrix via coloring directly by calling `MatFDColoringApply()` ## Fortran Note In Fortran you must call `MatFDColoringSetFunction()` for a coloring object to be used without `SNES` or within the `SNES` solvers. ## See Also `Mat`, `MatFDColoring`, `MatFDColoringCreate()`, `MatFDColoringGetFunction()`, `MatFDColoringSetFromOptions()` ## Level advanced ## Location src/mat/matfd/fdmatrix.c ## Examples src/snes/tutorials/ex14.c
src/tao/unconstrained/tutorials/minsurf2.c
--- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/mat/matfd/fdmatrix.c) [Index of all MatFD routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)