KSPSetReusePreconditioner#
reuse the current preconditioner for future KSPSolve(), do not construct a new preconditioner even if the Mat operator in the KSP has different values
Synopsis#
#include "petscksp.h" 
#include "petscmat.h" 
PetscErrorCode KSPSetReusePreconditioner(KSP ksp, PetscBool flag)
Collective
Input Parameters#
- ksp - iterative solver obtained from - KSPCreate()
- flag - - PETSC_TRUEto reuse the current preconditioner, or- PETSC_FALSEto construct a new preconditioner
Options Database Key#
- -ksp_reuse_preconditioner <true,false> - reuse the previously computed preconditioner 
Notes#
When using SNES one can use SNESSetLagPreconditioner() to determine when preconditioners are reused.
Reusing the preconditioner reduces the time needed to form new preconditioners but may (significantly) increase the number of iterations needed for future solves depending on how much the matrix entries have changed.
See Also#
KSP: Linear System Solvers, KSPCreate(), KSPSolve(), KSPDestroy(), KSP, KSPGetReusePreconditioner(),
SNESSetLagPreconditioner(), SNES
Level#
intermediate
Location#
Examples#
src/ksp/ksp/tutorials/ex56.c
src/ksp/ksp/tutorials/ex6f.F90
Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages