PETSc version 3.17.4
Fix/Edit manual page

# PCPreSolve

Optional pre-solve phase, intended for any preconditioner-specific actions that must be performed before the iterative solve itself.

### Synopsis

    #include "petscksp.h"
    PetscErrorCode PCPreSolve(PC pc,KSP ksp)

Collective on PC

### Input Parameters

| pc | - the preconditioner context
| ksp | - the Krylov subspace context

### Sample of Usage

        PCPreSolve(pc,ksp);
        KSPSolve(ksp,b,x);
        PCPostSolve(pc,ksp);

### Notes

The pre-solve phase is distinct from the PCSetUp() phase.

KSPSolve() calls this directly, so is rarely called by the user.

### See Also

PCPostSolve()

### Level

developer

### Location

src/ksp/pc/interface/precon.c

### Implementations

PCPreSolve_BDDC in src/ksp/pc/impls/bddc/bddc.c
PCPreSolve_Deflation in src/ksp/pc/impls/deflation/deflation.c
PCPreSolve_Eisenstat in src/ksp/pc/impls/eisens/eisen.c
PCPreSolve_HPDDM in src/ksp/pc/impls/hpddm/hpddm.cxx
PCPreSolve_Shell in src/ksp/pc/impls/shell/shellpc.c
PCPreSolve_PDIPM in src/tao/constrained/impls/ipm/pdipm.c
Index of all PC routines
Table of Contents for all manual pages
Index of all manual pages