petsc-3.12.4 2020-02-04
Report Typos and Errors

# MatSolverType

String with the name of a PETSc matrix solver type.

### Synopsis

    typedef const char* MatSolverType;
    #define MATSOLVERSUPERLU          "superlu"
    #define MATSOLVERSUPERLU_DIST     "superlu_dist"
    #define MATSOLVERSTRUMPACK        "strumpack"
    #define MATSOLVERUMFPACK          "umfpack"
    #define MATSOLVERCHOLMOD          "cholmod"
    #define MATSOLVERKLU              "klu"
    #define MATSOLVERSPARSEELEMENTAL  "sparseelemental"
    #define MATSOLVERELEMENTAL        "elemental"
    #define MATSOLVERESSL             "essl"
    #define MATSOLVERLUSOL            "lusol"
    #define MATSOLVERMUMPS            "mumps"
    #define MATSOLVERMKL_PARDISO      "mkl_pardiso"
    #define MATSOLVERMKL_CPARDISO     "mkl_cpardiso"
    #define MATSOLVERPASTIX           "pastix"
    #define MATSOLVERMATLAB           "matlab"
    #define MATSOLVERPETSC            "petsc"
    #define MATSOLVERBAS              "bas"
    #define MATSOLVERCUSPARSE         "cusparse"
    #define MATSOLVERCUDA             "cuda"

For example: "petsc" indicates what PETSc provides, "superlu_dist" the parallel SuperLU_DIST package etc

Notes: MATSOLVERUMFPACK, MATSOLVERCHOLMOD, MATSOLVERKLU form the SuiteSparse package for which you can use --download-suitesparse

### See Also

MatGetFactor(), PCFactorSetMatSolverType(), PCFactorGetMatSolverType()

### Level

beginner

### Location

src/mat/../../include/petscmat.h
Index of all Mat routines
Table of Contents for all manual pages
Index of all manual pages