Krylov Methods - KSP: : Examples

The Scalable Linear Equations Solvers (KSP) component provides an easy-to-use interface to the combination of a Krylov subspace iterative method and a preconditioner (in the KSP and PC components, respectively) or a sequential direct solver. KSP users can set various Krylov subspace options at runtime via the options database (e.g., -ksp_type cg ). KSP users can also set KSP options directly in application by directly calling the KSP routines listed below (e.g., KSPSetType() ). KSP components can be used directly to create and destroy solvers; this is not needed for users but is intended for library developers.

Beginner - Basic usage
KSP KSPGMRES KSPSolve
KSPBCGS KSPGetConvergedReason KSPType
KSPBCGSL KSPLGMRES KSPView
KSPBICG KSPLSQR KSP_CONVERGED_ATOL
KSPCG KSPMINRES KSP_CONVERGED_ITERATING
KSPCGNE KSPPREONLY KSP_CONVERGED_ITS
KSPCGS KSPRICHARDSON KSP_CONVERGED_RTOL
KSPCGType KSPRTCQMR KSP_DIVERGED_BREAKDOWN
KSPCHEBYCHEV KSPRTFQMR KSP_DIVERGED_BREAKDOWN_BICG
KSPCR KSPSYMMLQ KSP_DIVERGED_DTOL
KSPConvergedReason KSPSetFromOptions KSP_DIVERGED_INDEFINITE_PC
KSPCreate KSPSetInitialGuessNonzero KSP_DIVERGED_ITS
KSPDestroy KSPSetMonitor KSP_DIVERGED_NONSYMMETRIC
KSPFGMRES KSPSetOperators
Intermediate - Setting options for algorithms and data structures
DMMGInitialGuessCurrent KSPGMRESModifiedGramSchmidtOrthogonalization KSPGetType
DMMGSetInitialGuess KSPGMRESSetCGSRefinementType KSPLGMonitorCreate
KSPBCGSLSetEll KSPGMRESSetHapTol KSPLGMonitorDestroy
KSPBCGSLSetPol KSPGMRESSetOrthogonalization KSPLGTrueMonitorCreate
KSPBCGSLSetXRes KSPGMRESSetPreAllocateVectors KSPLGTrueMonitorDestroy
KSPCGSetType KSPGMRESSetRestart KSPRichardsonSetScale
KSPChebychevSetEigenvalues KSPGetDiagonalScale KSPSetDiagonalScale
KSPClearMonitor KSPGetDiagonalScaleFix KSPSetDiagonalScaleFix
KSPDefaultConverged KSPGetInitialGuessNonzero KSPSetPreconditionerSide
KSPDefaultMonitor KSPGetIterationNumber KSPSetTolerances
KSPFGMRESModifyPCKSP KSPGetMonitorContext KSPSetType
KSPFGMRESModifyPCNoChange KSPGetOperators KSPSingularValueMonitor
KSPFGMRESSetModifyPC KSPGetPreconditionerSide KSPTrueMonitor
KSPGMRESClassicalGramSchmidtOrthogonalization KSPGetResidualNorm KSPVecViewMonitor
KSPGMRESKrylovMonitor KSPGetTolerances
Advanced - Setting more advanced options and customization
DMMGCreate KSPGMRESCGSRefinementType KSPSetConvergenceTest
DMMGDestroy KSPGetConvergenceContext KSPSetInitialGuessKnoll
DMMGSetDM KSPGetInitialGuessKnoll KSPSetNormType
DMMGSetKSP KSPGetNullSpace KSPSetNullSpace
DMMGSetNullSpace KSPGetOptionsPrefix KSPSetOptionsPrefix
DMMGSetUp KSPGetResidualHistory KSPSetResidualHistory
DMMGSetUseGalerkinCoarse KSPNormType KSPSetUpOnBlocks
DMMGSolve KSPQCGGetQuadratic KSPSkipConverged
DMMGView KSPQCGGetTrialStepNorm KSPUnwindPreconditioner
KSPAppendOptionsPrefix KSPQCGSetTrustRegionRadius KSP_GMRES_CGS_REFINE_IFNEEDED
KSPBuildResidual KSPRegister KSP_GMRES_CGS_REFINE_NEVER
KSPBuildSolution KSPRegisterAll KSP_NATURAL_NORM
KSPComputeEigenvalues KSPRegisterDestroy KSP_NO_NORM
KSPComputeEigenvaluesExplicitly KSPRegisterDynamic KSP_PRECONDITIONED_NORM
KSPComputeExplicitOperator KSPSetComputeEigenvalues KSP_UNPRECONDITIONED_NORM
KSPComputeExtremeSingularValues KSPSetComputeSingularValues
Developer - Interfaces intended primarily for library developers, not for typical applications programmers
KSPAddOptionsChecker KSPInitialResidual KSPSetUp
KSPGetPC KSPInitializePackage KSPSolveTranspose
KSPGetRhs KSPQCG PCInitializePackage
KSPGetSolution KSPSetPC

Table of Contents