PETSc version 3.17.0
Fix/Edit manual page

# KSPSetPreSolve

Sets a function that is called before every KSPSolve() is started

### Synopsis

    #include "petscksp.h"
    PetscErrorCode  KSPSetPreSolve(KSP ksp,PetscErrorCode (*presolve)(KSP,Vec,Vec,void*),void *prectx)

Logically Collective on ksp

### Input Parameters

| ksp | - the solver object
| presolve | - the function to call before the solve
| prectx | - any context needed by the function

### Calling sequence of presolve

     func(KSP ksp,Vec rhs,Vec x,void *ctx)

| ksp | - the KSP context
| rhs | - the right-hand side vector
| x | - the solution vector
| ctx | - optional user-provided context

### See Also

KSPSetUp(), KSPSolve(), KSPDestroy(), KSP, KSPSetPostSolve()

### Level

developer

### Location

src/ksp/ksp/interface/itcreate.c
Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages