Linear Solvers and Krylov Methods (KSP)#
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.
Manual Pages Table of Contents
Manual Pages by Level#
Beginner - Basic usage#
Intermediate - Setting options for algorithms and data structures#
Advanced - Setting more advanced options and customization#
Developer - Interfaces intended primarily for library developers, not for typical applications programmers#
No deprecated routines#
Single list of manual pages#
- DMCopyDMKSP
- DMGetDMKSP
- DMGetDMKSPWrite
- DMGlobalToLocalSolve
- DMKSPCopy
- DMKSPGetComputeInitialGuess
- DMKSPGetComputeOperators
- DMKSPGetComputeRHS
- DMKSPSetComputeInitialGuess
- DMKSPSetComputeOperators
- DMKSPSetComputeRHS
- DMProjectField
- KSP
- KSPAGMRES
- KSPAppendOptionsPrefix
- KSPBCGS
- KSPBCGSL
- KSPBCGSLSetEll
- KSPBCGSLSetPol
- KSPBCGSLSetUsePseudoinverse
- KSPBCGSLSetXRes
- KSPBICG
- KSPBuildResidual
- KSPBuildSolution
- KSPCG
- KSPCGGetNormD
- KSPCGGetObjFcn
- KSPCGLS
- KSPCGNE
- KSPCGS
- KSPCGSetRadius
- KSPCGSetType
- KSPCGType
- KSPCGUseSingleReduction
- KSPCHEBYSHEV
- KSPCR
- KSPChebyshevEstEigGetKSP
- KSPChebyshevEstEigSet
- KSPChebyshevEstEigSetUseNoisy
- KSPChebyshevKind
- KSPChebyshevSetEigenvalues
- KSPChebyshevSetKind
- KSPCheckDot
- KSPCheckNorm
- KSPCheckSolve
- KSPComputeEigenvalues
- KSPComputeEigenvaluesExplicitly
- KSPComputeExtremeSingularValues
- KSPComputeOperator
- KSPComputeRitz
- KSPConvergedDefault
- KSPConvergedDefaultCreate
- KSPConvergedDefaultDestroy
- KSPConvergedDefaultSetConvergedMaxits
- KSPConvergedDefaultSetUIRNorm
- KSPConvergedDefaultSetUMIRNorm
- KSPConvergedRateView
- KSPConvergedReason
- KSPConvergedReasonView
- KSPConvergedReasonViewCancel
- KSPConvergedReasonViewFromOptions
- KSPConvergedReasonViewSet
- KSPConvergedSkip
- KSPCreate
- KSPCreateVecs
- KSPDGMRES
- KSPDestroy
- KSPFBCGS
- KSPFBCGSR
- KSPFCDTruncationType
- KSPFCG
- KSPFCGGetMmax
- KSPFCGGetNprealloc
- KSPFCGGetTruncationType
- KSPFCGSetMmax
- KSPFCGSetNprealloc
- KSPFCGSetTruncationType
- KSPFETIDP
- KSPFETIDPGetInnerBDDC
- KSPFETIDPGetInnerKSP
- KSPFETIDPSetInnerBDDC
- KSPFETIDPSetPressureOperator
- KSPFGMRES
- KSPFGMRESModifyPCKSP
- KSPFGMRESModifyPCNoChange
- KSPFGMRESSetModifyPC
- KSPFinalizePackage
- KSPGCR
- KSPGCRGetRestart
- KSPGCRSetModifyPC
- KSPGCRSetRestart
- KSPGLTR
- KSPGLTRGetLambda
- KSPGLTRGetMinEig
- KSPGMRES
- KSPGMRESCGSRefinementType
- KSPGMRESClassicalGramSchmidtOrthogonalization
- KSPGMRESGetCGSRefinementType
- KSPGMRESGetOrthogonalization
- KSPGMRESGetRestart
- KSPGMRESModifiedGramSchmidtOrthogonalization
- KSPGMRESMonitorKrylov
- KSPGMRESSetBreakdownTolerance
- KSPGMRESSetCGSRefinementType
- KSPGMRESSetHapTol
- KSPGMRESSetOrthogonalization
- KSPGMRESSetPreAllocateVectors
- KSPGMRESSetRestart
- KSPGROPPCG
- KSPGetAndClearConvergenceTest
- KSPGetApplicationContext
- KSPGetComputeEigenvalues
- KSPGetComputeSingularValues
- KSPGetConvergedNegativeCurvature
- KSPGetConvergedReason
- KSPGetConvergedReasonString
- KSPGetConvergenceContext
- KSPGetConvergenceTest
- KSPGetDM
- KSPGetDiagonalScale
- KSPGetDiagonalScaleFix
- KSPGetErrorHistory
- KSPGetErrorIfNotConverged
- KSPGetGuess
- KSPGetInitialGuessKnoll
- KSPGetInitialGuessNonzero
- KSPGetIterationNumber
- KSPGetMatSolveBatchSize
- KSPGetMonitorContext
- KSPGetNormType
- KSPGetOperators
- KSPGetOperatorsSet
- KSPGetOptionsPrefix
- KSPGetPC
- KSPGetPCSide
- KSPGetResidualHistory
- KSPGetResidualNorm
- KSPGetReusePreconditioner
- KSPGetRhs
- KSPGetSolution
- KSPGetTolerances
- KSPGetTotalIterations
- KSPGetType
- KSPGuess
- KSPGuessCreate
- KSPGuessDestroy
- KSPGuessFischerSetModel
- KSPGuessFormGuess
- KSPGuessGetType
- KSPGuessRegisterAll
- KSPGuessSetFromOptions
- KSPGuessSetTolerance
- KSPGuessSetType
- KSPGuessSetUp
- KSPGuessType
- KSPGuessUpdate
- KSPGuessView
- KSPHPDDM
- KSPHPDDMGetDeflationMat
- KSPHPDDMGetType
- KSPHPDDMPrecision
- KSPHPDDMSetDeflationMat
- KSPHPDDMSetType
- KSPHPDDMType
- KSPIBCGS
- KSPInitialResidual
- KSPInitializePackage
- KSPLCD
- KSPLGMRES
- KSPLSQR
- KSPLSQRConvergedDefault
- KSPLSQRGetNorms
- KSPLSQRGetStandardErrorVec
- KSPLSQRMonitorResidual
- KSPLSQRMonitorResidualDrawLG
- KSPLSQRMonitorResidualDrawLGCreate
- KSPLSQRSetComputeStandardErrorVec
- KSPLSQRSetExactMatNorm
- KSPLoad
- KSPMINRES
- KSPMINRESGetUseQLP
- KSPMINRESSetRadius
- KSPMINRESSetUseQLP
- KSPMatRegisterAll
- KSPMatSolve
- KSPMonitoRegisterAll
- KSPMonitor
- KSPMonitorCancel
- KSPMonitorDynamicTolerance
- KSPMonitorDynamicToleranceCreate
- KSPMonitorDynamicToleranceDestroy
- KSPMonitorDynamicToleranceSetCoefficient
- KSPMonitorError
- KSPMonitorErrorDraw
- KSPMonitorErrorDrawLG
- KSPMonitorErrorDrawLGCreate
- KSPMonitorRegister
- KSPMonitorResidual
- KSPMonitorResidualDraw
- KSPMonitorResidualDrawLG
- KSPMonitorResidualDrawLGCreate
- KSPMonitorResidualRange
- KSPMonitorSAWs
- KSPMonitorSAWsCreate
- KSPMonitorSAWsDestroy
- KSPMonitorSet
- KSPMonitorSetFromOptions
- KSPMonitorSingularValue
- KSPMonitorSingularValueCreate
- KSPMonitorSolution
- KSPMonitorSolutionDraw
- KSPMonitorSolutionDrawLG
- KSPMonitorSolutionDrawLGCreate
- KSPMonitorTrueResidual
- KSPMonitorTrueResidualDraw
- KSPMonitorTrueResidualDrawLG
- KSPMonitorTrueResidualDrawLGCreate
- KSPMonitorTrueResidualMax
- KSPNASH
- KSPNormType
- KSPPGMRES
- KSPPIPEBCGS
- KSPPIPECG
- KSPPIPECG2
- KSPPIPECGRR
- KSPPIPECR
- KSPPIPEFCG
- KSPPIPEFCGGetMmax
- KSPPIPEFCGGetNprealloc
- KSPPIPEFCGGetTruncationType
- KSPPIPEFCGSetMmax
- KSPPIPEFCGSetNprealloc
- KSPPIPEFCGSetTruncationType
- KSPPIPEFGMRES
- KSPPIPEFGMRESSetShift
- KSPPIPEGCR
- KSPPIPEGCRGetMmax
- KSPPIPEGCRGetNprealloc
- KSPPIPEGCRGetTruncationType
- KSPPIPEGCRGetUnrollW
- KSPPIPEGCRSetMmax
- KSPPIPEGCRSetModifyPC
- KSPPIPEGCRSetNprealloc
- KSPPIPEGCRSetTruncationType
- KSPPIPEGCRSetUnrollW
- KSPPIPELCG
- KSPPIPEPRCG
- KSPPREONLY
- KSPPythonGetType
- KSPPythonSetType
- KSPQCG
- KSPQCGGetQuadratic
- KSPQCGGetTrialStepNorm
- KSPQCGSetTrustRegionRadius
- KSPQMRCGS
- KSPRICHARDSON
- KSPRegister
- KSPRegisterAll
- KSPReset
- KSPResetFromOptions
- KSPResetViewers
- KSPRichardsonSetScale
- KSPRichardsonSetSelfScale
- KSPSTCG
- KSPSYMMLQ
- KSPSetApplicationContext
- KSPSetCheckNormIteration
- KSPSetComputeEigenvalues
- KSPSetComputeInitialGuess
- KSPSetComputeOperators
- KSPSetComputeRHS
- KSPSetComputeRitz
- KSPSetComputeSingularValues
- KSPSetConvergedNegativeCurvature
- KSPSetConvergenceTest
- KSPSetDM
- KSPSetDMActive
- KSPSetDiagonalScale
- KSPSetDiagonalScaleFix
- KSPSetErrorHistory
- KSPSetErrorIfNotConverged
- KSPSetFromOptions
- KSPSetGuess
- KSPSetInitialGuessKnoll
- KSPSetInitialGuessNonzero
- KSPSetLagNorm
- KSPSetMatSolveBatchSize
- KSPSetNormType
- KSPSetOperators
- KSPSetOptionsPrefix
- KSPSetPC
- KSPSetPCSide
- KSPSetPostSolve
- KSPSetPreSolve
- KSPSetResidualHistory
- KSPSetReusePreconditioner
- KSPSetSkipPCSetFromOptions
- KSPSetSupportedNorm
- KSPSetTolerances
- KSPSetType
- KSPSetUp
- KSPSetUpOnBlocks
- KSPSetUseExplicitTranspose
- KSPSetUseFischerGuess
- KSPSetWorkVecs
- KSPSolve
- KSPSolveTranspose
- KSPTCQMR
- KSPTFQMR
- KSPTSIRM
- KSPType
- KSPUnwindPreconditioner
- KSPView
- KSPViewFromOptions
- KSP_CONVERGED_ATOL
- KSP_CONVERGED_ITERATING
- KSP_CONVERGED_ITS
- KSP_CONVERGED_RTOL
- KSP_DIVERGED_BREAKDOWN
- KSP_DIVERGED_BREAKDOWN_BICG
- KSP_DIVERGED_DTOL
- KSP_DIVERGED_INDEFINITE_PC
- KSP_DIVERGED_ITS
- KSP_DIVERGED_NONSYMMETRIC
- KSP_DIVERGED_PC_FAILED
- KSP_GMRES_CGS_REFINE_IFNEEDED
- KSP_GMRES_CGS_REFINE_NEVER
- KSP_NORM_NATURAL
- KSP_NORM_NONE
- KSP_NORM_PRECONDITIONED
- KSP_NORM_UNPRECONDITIONED
- MatCreateLMVMBFGS
- MatCreateLMVMBadBroyden
- MatCreateLMVMBroyden
- MatCreateLMVMDFP
- MatCreateLMVMDiagBroyden
- MatCreateLMVMSR1
- MatCreateLMVMSymBadBroyden
- MatCreateLMVMSymBroyden
- MatCreateSchurComplement
- MatCreateSchurComplementPmat
- MatGetSchurComplement
- MatLMVMAllocate
- MatLMVMApplyJ0Fwd
- MatLMVMApplyJ0Inv
- MatLMVMClearJ0
- MatLMVMGetJ0
- MatLMVMGetJ0KSP
- MatLMVMGetJ0PC
- MatLMVMGetRejectCount
- MatLMVMGetUpdateCount
- MatLMVMIsAllocated
- MatLMVMReset
- MatLMVMResetShift
- MatLMVMSetHistorySize
- MatLMVMSetJ0
- MatLMVMSetJ0Diag
- MatLMVMSetJ0KSP
- MatLMVMSetJ0PC
- MatLMVMSetJ0Scale
- MatLMVMSymBroydenSetDelta
- MatLMVMSymBroydenSetScaleType
- MatLMVMUpdate
- MatSchurComplementAinvType
- MatSchurComplementComputeExplicitOperator
- MatSchurComplementGetAinvType
- MatSchurComplementGetKSP
- MatSchurComplementGetPmat
- MatSchurComplementGetSubMatrices
- MatSchurComplementSetAinvType
- MatSchurComplementSetKSP
- MatSchurComplementSetSubMatrices
- MatSchurComplementUpdateSubMatrices
- PCFinalizePackage
- PCInitializePackage