# KSPGMRESClassicalGramSchmidtOrthogonalization

This is the basic orthogonalization routine using classical Gram-Schmidt with possible iterative refinement to improve the stability

### Synopsis

    #undef __FUNCT__
    #define __FUNCT__ "KSPGMRESClassicalGramSchmidtOrthogonalization"
    PetscErrorCode PETSCKSP_DLLEXPORT KSPGMRESClassicalGramSchmidtOrthogonalization(KSP  ksp,PetscInt it)

Collective on KSP

### Input Parameters

| ksp | - KSP object, must be associated with GMRES, FGMRES, or LGMRES Krylov method
| its | - one less then the current GMRES restart iteration, i.e. the size of the Krylov space

### Options Database Keys

| -ksp_gmres_classicalgramschmidt | - Activates KSPGMRESClassicalGramSchmidtOrthogonalization()
| -ksp_gmres_cgs_refinement_type <refine_never,refine_ifneeded,refine_always> | - determine if iterative refinement is used to increase the stability of the classical Gram-Schmidt orthogonalization.

Notes: Use KSPGMRESSetCGSRefinementType() to determine if iterative refinement is to be used

### See Also

aso: KSPGMRESSetOrthogonalization(), KSPGMRESClassicalGramSchmidtOrthogonalization(), KSPGMRESSetCGSRefinementType()

Level:intermediate
Location:src/ksp/ksp/impls/gmres/borthog2.c
Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages