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 MATSOLVERKOKKOS "kokkos" #define MATSOLVERKOKKOSDEVICE "kokkosdevice"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