Skip to main content
`Ctrl`+`K`

# KSP_GMRES_CGS_REFINE_ALWAYS

Do two steps of the classical (unmodified) Gram-Schmidt process.

## Notes

This is roughly twice the cost of `KSP_GMRES_CGS_REFINE_NEVER` because it performs the process twice but it saves the extra norm calculation needed by `KSP_GMRES_CGS_REFINE_IFNEEDED`.

You should only use this if you absolutely know that the iterative refinement is needed.

## See Also

KSP: Linear System Solvers, `KSPGMRES`, `KSPGMRESCGSRefinementType`, `KSPGMRESClassicalGramSchmidtOrthogonalization()`, `KSPGMRESSetOrthogonalization()`, `KSP`, `KSPGMRESGetOrthogonalization()`, `KSPGMRESSetCGSRefinementType()`, `KSPGMRESGetCGSRefinementType()`, `KSP_GMRES_CGS_REFINE_IFNEEDED`, `KSP_GMRES_CGS_REFINE_ALWAYS`, `KSPGMRESModifiedGramSchmidtOrthogonalization()`

## Level

advanced

## Location

include/petscksp.h

Index of all KSP routines
Table of Contents for all manual pages
Index of all manual pages