:orphan: # DMKSPSetComputeOperators set `KSP` matrix evaluation function ## Synopsis ``` #include "petscksp.h" PetscErrorCode DMKSPSetComputeOperators(DM dm, PetscErrorCode (*func)(KSP, Mat, Mat, void *), void *ctx) ``` Not Collective ## Input Parameters - ***dm -*** `DM` to be used with `KSP` - ***func -*** matrix evaluation function, for calling sequence see `KSPSetComputeOperators()` - ***ctx -*** context for matrix evaluation ## Note `KSPSetComputeOperators()` is normally used, but it calls this function internally because the user context is actually associated with the `DM`. This makes the interface consistent regardless of whether the user interacts with a `DM` or not. ## Developer Note If `DM` took a more central role at some later date, this could become the primary method of setting the matrix. ## See Also [](ch_ksp), `DMKSP`, `DM`, `KSP`, `DMKSPSetContext()`, `DMKSPGetComputeOperators()`, `KSPSetOperators()` ## Level developer ## Location src/ksp/ksp/interface/dmksp.c --- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ksp/ksp/interface/dmksp.c) [Index of all KSP routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)