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 MATSOLVERSCALAPACK       "scalapack"
#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 MATSOLVERCUSPARSEBAND    "cusparseband"
#define MATSOLVERCUDA            "cuda"
#define MATSOLVERHIPSPARSE       "hipsparse"
#define MATSOLVERHIPSPARSEBAND   "hipsparseband"
#define MATSOLVERHIP             "hip"
#define MATSOLVERKOKKOS          "kokkos"
#define MATSOLVERKOKKOSDEVICE    "kokkosdevice"
#define MATSOLVERSPQR            "spqr"

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

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

See Also#

MatGetFactor(), PCFactorSetMatSolverType(), PCFactorGetMatSolverType()

Level#

beginner

Location#

include/petscmat.h


Edit on GitLab

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