Skip to main content
`Ctrl`+`K`

# KSPType

String with the name of a PETSc Krylov method. These are all the Krylov solvers that PETSc provides.

## Synopsis

    typedef const char *KSPType;
    #define KSPRICHARDSON "richardson"
    #define KSPCHEBYSHEV  "chebyshev"
    #define KSPCG         "cg"
    #define KSPGROPPCG    "groppcg"
    #define KSPPIPECG     "pipecg"
    #define KSPPIPECGRR   "pipecgrr"
    #define KSPPIPELCG    "pipelcg"
    #define KSPPIPEPRCG   "pipeprcg"
    #define KSPPIPECG2    "pipecg2"
    #define KSPCGNE       "cgne"
    #define KSPNASH       "nash"
    #define KSPSTCG       "stcg"
    #define KSPGLTR       "gltr"
    #define KSPCGNASH     PETSC_DEPRECATED_MACRO(3, 11, 0, "KSPNASH", ) "nash"
    #define KSPCGSTCG     PETSC_DEPRECATED_MACRO(3, 11, 0, "KSPSTCG", ) "stcg"
    #define KSPCGGLTR     PETSC_DEPRECATED_MACRO(3, 11, 0, "KSPSGLTR", ) "gltr"
    #define KSPFCG        "fcg"
    #define KSPPIPEFCG    "pipefcg"
    #define KSPGMRES      "gmres"
    #define KSPPIPEFGMRES "pipefgmres"
    #define KSPFGMRES     "fgmres"
    #define KSPLGMRES     "lgmres"
    #define KSPDGMRES     "dgmres"
    #define KSPPGMRES     "pgmres"
    #define KSPTCQMR      "tcqmr"
    #define KSPBCGS       "bcgs"
    #define KSPIBCGS      "ibcgs"
    #define KSPQMRCGS     "qmrcgs"
    #define KSPFBCGS      "fbcgs"
    #define KSPFBCGSR     "fbcgsr"
    #define KSPBCGSL      "bcgsl"
    #define KSPPIPEBCGS   "pipebcgs"
    #define KSPCGS        "cgs"
    #define KSPTFQMR      "tfqmr"
    #define KSPCR         "cr"
    #define KSPPIPECR     "pipecr"
    #define KSPLSQR       "lsqr"
    #define KSPPREONLY    "preonly"
    #define KSPNONE       "none"
    #define KSPQCG        "qcg"
    #define KSPBICG       "bicg"
    #define KSPMINRES     "minres"
    #define KSPSYMMLQ     "symmlq"
    #define KSPLCD        "lcd"
    #define KSPPYTHON     "python"
    #define KSPGCR        "gcr"
    #define KSPPIPEGCR    "pipegcr"
    #define KSPTSIRM      "tsirm"
    #define KSPCGLS       "cgls"
    #define KSPFETIDP     "fetidp"
    #define KSPHPDDM      "hpddm"

## See Also

Summary of Sparse Linear Solvers Available In PETSc, KSP: Linear System Solvers, `KSPSetType()`, `KSP`, `KSPRegister()`, `KSPCreate()`, `KSPSetFromOptions()`

## Level

beginner

## Location

include/petscksp.h

## Examples

src/ksp/ksp/tutorials/ex76.c
src/ksp/ksp/tutorials/ex27.c

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