Preconditioners (PC)#
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 preconditioning
options at runtime via the options database (e.g., -pc_type jacobi
).
KSP users can also set PC options directly in application
codes by first extracting the PC context from the KSP context via
KSPGetPC()
and then directly calling the PC routines listed below (e.g.,
PCSetType()
).
PC components can be used directly to create and
destroy solvers; this is not needed for users but
is 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#
- PC
- PCAMGX
- PCASM
- PCASMCreateSubdomains
- PCASMCreateSubdomains2D
- PCASMDestroySubdomains
- PCASMGetDMSubdomains
- PCASMGetLocalSubdomains
- PCASMGetLocalSubmatrices
- PCASMGetLocalType
- PCASMGetSubKSP
- PCASMGetSubMatType
- PCASMGetType
- PCASMSetDMSubdomains
- PCASMSetLocalSubdomains
- PCASMSetLocalType
- PCASMSetOverlap
- PCASMSetSortIndices
- PCASMSetSubMatType
- PCASMSetTotalSubdomains
- PCASMSetType
- PCASMType
- PCAmgXGetResources
- PCAppendOptionsPrefix
- PCApply
- PCApplyBAorAB
- PCApplyBAorABTranspose
- PCApplyRichardson
- PCApplyRichardsonExists
- PCApplySymmetricLeft
- PCApplySymmetricRight
- PCApplyTranspose
- PCApplyTransposeExists
- PCBDDC
- PCBDDCCreateFETIDPOperators
- PCBDDCFinalizePackage
- PCBDDCGetDirichletBoundaries
- PCBDDCGetDirichletBoundariesLocal
- PCBDDCGetNeumannBoundaries
- PCBDDCGetNeumannBoundariesLocal
- PCBDDCGetPrimalVerticesIS
- PCBDDCGetPrimalVerticesLocalIS
- PCBDDCInitializePackage
- PCBDDCInterfaceExtType
- PCBDDCMatFETIDPGetRHS
- PCBDDCMatFETIDPGetSolution
- PCBDDCSetChangeOfBasisMat
- PCBDDCSetCoarseningRatio
- PCBDDCSetDirichletBoundaries
- PCBDDCSetDirichletBoundariesLocal
- PCBDDCSetDiscreteGradient
- PCBDDCSetDivergenceMat
- PCBDDCSetDofsSplitting
- PCBDDCSetDofsSplittingLocal
- PCBDDCSetLevels
- PCBDDCSetLocalAdjacencyGraph
- PCBDDCSetNeumannBoundaries
- PCBDDCSetNeumannBoundariesLocal
- PCBDDCSetPrimalVerticesIS
- PCBDDCSetPrimalVerticesLocalIS
- PCBJACOBI
- PCBJKOKKOS
- PCBJKOKKOSGetKSP
- PCBJKOKKOSSetKSP
- PCBJacobiGetLocalBlocks
- PCBJacobiGetSubKSP
- PCBJacobiGetTotalBlocks
- PCBJacobiSetLocalBlocks
- PCBJacobiSetTotalBlocks
- PCCHOLESKY
- PCCHOWILUViennaCL
- PCCOMPOSITE
- PCCP
- PCCompositeAddPC
- PCCompositeAddPCType
- PCCompositeGetNumberPC
- PCCompositeGetPC
- PCCompositeGetType
- PCCompositeSetType
- PCCompositeSpecialSetAlpha
- PCCompositeType
- PCComputeOperator
- PCCreate
- PCDEFLATION
- PCDeflationGetCoarseKSP
- PCDeflationGetPC
- PCDeflationSetCoarseMat
- PCDeflationSetCorrectionFactor
- PCDeflationSetInitOnly
- PCDeflationSetLevels
- PCDeflationSetProjectionNullSpaceMat
- PCDeflationSetReductionFactor
- PCDeflationSetSpace
- PCDeflationSetSpaceToCompute
- PCDeflationSpaceType
- PCDestroy
- PCDiagonalScaleLeft
- PCDiagonalScaleRight
- PCEISENSTAT
- PCEXOTIC
- PCEisenstatGetNoDiagonalScaling
- PCEisenstatGetOmega
- PCEisenstatSetNoDiagonalScaling
- PCEisenstatSetOmega
- PCExoticSetType
- PCExoticType
- PCFIELDSPLIT
- PCFactorGetAllowDiagonalFill
- PCFactorGetLevels
- PCFactorGetMatSolverType
- PCFactorGetMatrix
- PCFactorGetShiftAmount
- PCFactorGetShiftType
- PCFactorGetUseInPlace
- PCFactorGetZeroPivot
- PCFactorReorderForNonzeroDiagonal
- PCFactorSetAllowDiagonalFill
- PCFactorSetColumnPivot
- PCFactorSetDropTolerance
- PCFactorSetFill
- PCFactorSetLevels
- PCFactorSetMatOrderingType
- PCFactorSetMatSolverType
- PCFactorSetPivotInBlocks
- PCFactorSetReuseFill
- PCFactorSetReuseOrdering
- PCFactorSetShiftAmount
- PCFactorSetShiftType
- PCFactorSetUpMatSolverType
- PCFactorSetUseInPlace
- PCFactorSetZeroPivot
- PCFailedReason
- PCFieldSplitGetDMSplits
- PCFieldSplitGetDetectSaddlePoint
- PCFieldSplitGetDiagUseAmat
- PCFieldSplitGetIS
- PCFieldSplitGetISByIndex
- PCFieldSplitGetOffDiagUseAmat
- PCFieldSplitGetSchurBlocks
- PCFieldSplitGetSchurPre
- PCFieldSplitGetSubKSP
- PCFieldSplitGetType
- PCFieldSplitRestrictIS
- PCFieldSplitSchurFactType
- PCFieldSplitSchurGetS
- PCFieldSplitSchurGetSubKSP
- PCFieldSplitSchurPreType
- PCFieldSplitSchurRestoreS
- PCFieldSplitSetBlockSize
- PCFieldSplitSetDMSplits
- PCFieldSplitSetDetectSaddlePoint
- PCFieldSplitSetDiagUseAmat
- PCFieldSplitSetFields
- PCFieldSplitSetGKBDelay
- PCFieldSplitSetGKBMaxit
- PCFieldSplitSetGKBNu
- PCFieldSplitSetGKBTol
- PCFieldSplitSetIS
- PCFieldSplitSetOffDiagUseAmat
- PCFieldSplitSetSchurFactType
- PCFieldSplitSetSchurPre
- PCFieldSplitSetSchurScale
- PCFieldSplitSetType
- PCGALERKIN
- PCGAMG
- PCGAMGASMSetUseAggs
- PCGAMGClassicalGetType
- PCGAMGClassicalSetType
- PCGAMGCreateGraph
- PCGAMGFinalizePackage
- PCGAMGGetType
- PCGAMGInitializePackage
- PCGAMGLayoutType
- PCGAMGRegister
- PCGAMGSetAggressiveLevels
- PCGAMGSetCoarseEqLim
- PCGAMGSetCoarseGridLayoutType
- PCGAMGSetCpuPinCoarseGrids
- PCGAMGSetEigenvalues
- PCGAMGSetNSmooths
- PCGAMGSetNlevels
- PCGAMGSetProcEqLim
- PCGAMGSetRankReductionFactors
- PCGAMGSetRepartition
- PCGAMGSetReuseInterpolation
- PCGAMGSetThreshold
- PCGAMGSetThresholdScale
- PCGAMGSetType
- PCGAMGSetUseParallelCoarseGridSolve
- PCGAMGSetUseSAEstEig
- PCGAMGType
- PCGASM
- PCGASMCreateSubdomains
- PCGASMCreateSubdomains2D
- PCGASMDestroySubdomains
- PCGASMGetSubKSP
- PCGASMGetSubdomains
- PCGASMGetSubmatrices
- PCGASMGetUseDMSubdomains
- PCGASMSetOverlap
- PCGASMSetSortIndices
- PCGASMSetSubdomains
- PCGASMSetTotalSubdomains
- PCGASMSetType
- PCGASMSetUseDMSubdomains
- PCGASMType
- PCGalerkinGetKSP
- PCGalerkinSetComputeSubmatrix
- PCGalerkinSetInterpolation
- PCGalerkinSetRestriction
- PCGetApplicationContext
- PCGetCoarseOperators
- PCGetDM
- PCGetDiagonalScale
- PCGetFailedReason
- PCGetFailedReasonRank
- PCGetInterpolations
- PCGetOperators
- PCGetOperatorsSet
- PCGetOptionsPrefix
- PCGetReusePreconditioner
- PCGetType
- PCGetUseAmat
- PCH2OPUS
- PCHMG
- PCHMGSetCoarseningComponent
- PCHMGSetInnerPCType
- PCHMGSetReuseInterpolation
- PCHMGSetUseSubspaceCoarsening
- PCHMGUseMatMAIJ
- PCHPDDM
- PCHPDDMCoarseCorrectionType
- PCHPDDMFinalizePackage
- PCHPDDMGetCoarseCorrectionType
- PCHPDDMGetComplexities
- PCHPDDMGetSTShareSubKSP
- PCHPDDMHasNeumannMat
- PCHPDDMInitializePackage
- PCHPDDMSetAuxiliaryMat
- PCHPDDMSetCoarseCorrectionType
- PCHPDDMSetDeflationMat
- PCHPDDMSetRHSMat
- PCHPDDMSetSTShareSubKSP
- PCHYPRE
- PCHYPREAMSSetInteriorNodes
- PCHYPREGetType
- PCHYPRESetAlphaPoissonMatrix
- PCHYPRESetBetaPoissonMatrix
- PCHYPRESetDiscreteCurl
- PCHYPRESetDiscreteGradient
- PCHYPRESetEdgeConstantVectors
- PCHYPRESetInterpolations
- PCHYPRESetType
- PCICC
- PCILU
- PCISSetSubdomainDiagonalScaling
- PCISSetSubdomainScalingFactor
- PCISSetUseStiffnessScaling
- PCJACOBI
- PCJacobiGetFixDiagonal
- PCJacobiGetType
- PCJacobiGetUseAbs
- PCJacobiSetFixDiagonal
- PCJacobiSetType
- PCJacobiSetUseAbs
- PCJacobiType
- PCKSP
- PCKSPGetKSP
- PCKSPSetKSP
- PCKaczmarz
- PCLMVM
- PCLMVMClearIS
- PCLMVMGetMatLMVM
- PCLMVMSetIS
- PCLMVMSetMatLMVM
- PCLSC
- PCLU
- PCLoad
- PCMAT
- PCMG
- PCMGCoarseSpaceType
- PCMGCycleType
- PCMGGalerkinGetMatProductAlgorithm
- PCMGGalerkinSetMatProductAlgorithm
- PCMGGetAdaptCR
- PCMGGetAdaptCoarseSpaceType
- PCMGGetAdaptInterpolation
- PCMGGetCoarseSolve
- PCMGGetCoarseSpaceConstructor
- PCMGGetGalerkin
- PCMGGetGridComplexity
- PCMGGetInjection
- PCMGGetInterpolation
- PCMGGetLevels
- PCMGGetRScale
- PCMGGetRestriction
- PCMGGetSmoother
- PCMGGetSmootherDown
- PCMGGetSmootherUp
- PCMGGetType
- PCMGMatResidualDefault
- PCMGMatResidualTransposeDefault
- PCMGMultiplicativeSetCycles
- PCMGRegisterCoarseSpaceConstructor
- PCMGResidualDefault
- PCMGResidualTransposeDefault
- PCMGSetAdaptCR
- PCMGSetAdaptCoarseSpaceType
- PCMGSetAdaptInterpolation
- PCMGSetCycleType
- PCMGSetCycleTypeOnLevel
- PCMGSetDistinctSmoothUp
- PCMGSetGalerkin
- PCMGSetInjection
- PCMGSetInterpolation
- PCMGSetLevels
- PCMGSetNumberSmooth
- PCMGSetOperators
- PCMGSetR
- PCMGSetRScale
- PCMGSetResidual
- PCMGSetResidualTranspose
- PCMGSetRestriction
- PCMGSetRhs
- PCMGSetType
- PCMGSetX
- PCMGType
- PCMGalerkinType
- PCML
- PCMPI
- PCMPIServerBegin
- PCMPIServerEnd
- PCMatApply
- PCModifySubMatrices
- PCNN
- PCNONE
- PCPARMS
- PCPARMSGlobalType
- PCPARMSLocalType
- PCPARMSSetFill
- PCPARMSSetGlobal
- PCPARMSSetLocal
- PCPARMSSetNonsymPerm
- PCPARMSSetSolveRestart
- PCPARMSSetSolveTolerances
- PCPATCH
- PCPBJACOBI
- PCPFMG
- PCPatchConstructType
- PCPatchSetComputeFunction
- PCPatchSetComputeFunctionInteriorFacets
- PCPatchSetComputeOperator
- PCPatchSetComputeOperatorInteriorFacets
- PCPostSolve
- PCPreSolve
- PCPythonGetType
- PCPythonSetType
- PCQR
- PCREDISTRIBUTE
- PCREDUNDANT
- PCRedistributeGetKSP
- PCRedundantGetKSP
- PCRedundantGetOperators
- PCRedundantSetNumber
- PCRedundantSetScatter
- PCRegister
- PCRegisterAll
- PCReset
- PCRichardsonConvergedReason
- PCRowScalingViennaCL
- PCSAViennaCL
- PCSHELL
- PCSMG
- PCSOR
- PCSORGetIterations
- PCSORGetOmega
- PCSORGetSymmetric
- PCSORSetIterations
- PCSORSetOmega
- PCSORSetSymmetric
- PCSPAI
- PCSPAISetBlockSize
- PCSPAISetCacheSize
- PCSPAISetEpsilon
- PCSPAISetMax
- PCSPAISetMaxNew
- PCSPAISetNBSteps
- PCSPAISetSp
- PCSPAISetVerbose
- PCSVD
- PCSYSPFMG
- PCSetApplicationContext
- PCSetCoordinates
- PCSetDM
- PCSetDiagonalScale
- PCSetErrorIfFailure
- PCSetFailedReason
- PCSetFromOptions
- PCSetModifySubMatrices
- PCSetOperators
- PCSetOptionsPrefix
- PCSetPreSolve
- PCSetReusePreconditioner
- PCSetType
- PCSetUp
- PCSetUpOnBlocks
- PCSetUseAmat
- PCShellGetContext
- PCShellGetName
- PCShellSetApply
- PCShellSetApplyBA
- PCShellSetApplyRichardson
- PCShellSetApplySymmetricLeft
- PCShellSetApplySymmetricRight
- PCShellSetApplyTranspose
- PCShellSetContext
- PCShellSetDestroy
- PCShellSetMatApply
- PCShellSetName
- PCShellSetPostSolve
- PCShellSetPreSolve
- PCShellSetSetUp
- PCShellSetView
- PCSide
- PCTELESCOPE
- PCTFS
- PCTelescopeGetDM
- PCTelescopeGetIgnoreDM
- PCTelescopeGetIgnoreKSPComputeOperators
- PCTelescopeGetKSP
- PCTelescopeGetReductionFactor
- PCTelescopeGetSubcommType
- PCTelescopeGetUseCoarseDM
- PCTelescopeSetIgnoreDM
- PCTelescopeSetIgnoreKSPComputeOperators
- PCTelescopeSetReductionFactor
- PCTelescopeSetSubcommType
- PCTelescopeSetUseCoarseDM
- PCType
- PCVPBJACOBI
- PCView
- PCViewFromOptions