:orphan: # KSPGMRESGetOrthogonalization Gets the orthogonalization routine used by `KSPGMRES` and `KSPFGMRES`. ## Synopsis ``` #include "petscksp.h" PetscErrorCode KSPGMRESGetOrthogonalization(KSP ksp, PetscErrorCode (**fcn)(KSP, PetscInt)) ``` Not Collective ## Input Parameter - ***ksp -*** iterative context obtained from `KSPCreate()` ## Output Parameter - ***fcn -*** orthogonalization function ## Calling Sequence of `fcn` ```none PetscErrorCode fcn(KSP ksp, PetscInt it); ``` - ***KSP -*** the solver context - ***it -*** the current iteration ## Options Database Keys - ***-ksp_gmres_classicalgramschmidt -*** Activates KSPGMRESClassicalGramSchmidtOrthogonalization() (default) - ***-ksp_gmres_modifiedgramschmidt -*** Activates KSPGMRESModifiedGramSchmidtOrthogonalization() ## Notes Two orthogonalization routines are predefined, including `KSPGMRESModifiedGramSchmidtOrthogonalization()`, and the default `KSPGMRESClassicalGramSchmidtOrthogonalization()` Use `KSPGMRESSetCGSRefinementType()` to determine if iterative refinement is used to increase stability. ## See Also [](ch_ksp), `KSPGMRESSetRestart()`, `KSPGMRESSetPreAllocateVectors()`, `KSPGMRESSetCGSRefinementType()`, `KSPGMRESSetOrthogonalization()`, `KSPGMRESModifiedGramSchmidtOrthogonalization()`, `KSPGMRESClassicalGramSchmidtOrthogonalization()`, `KSPGMRESGetCGSRefinementType()` ## Level intermediate ## Location src/ksp/ksp/impls/gmres/gmres2.c ## Implementations KSPGMRESGetOrthogonalization_GMRES in src/ksp/ksp/impls/gmres/gmres.c
--- [Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/ksp/ksp/impls/gmres/gmres2.c) [Index of all KSP routines](index.md) [Table of Contents for all manual pages](/manualpages/index.md) [Index of all manual pages](/manualpages/singleindex.md)