29 #ifndef STRUMPACK_SPARSE_SOLVER_H 
   30 #define STRUMPACK_SPARSE_SOLVER_H 
   33 #include "StrumpackConfig.h" 
   35 #if defined(STRUMPACK_USE_MPI) 
   36 #define OMPI_SKIP_MPICXX 1 
   49    STRUMPACK_FLOATCOMPLEX,
 
   50    STRUMPACK_DOUBLECOMPLEX,
 
   53    STRUMPACK_FLOATCOMPLEX_64,
 
   54    STRUMPACK_DOUBLECOMPLEX_64
 
   55   } STRUMPACK_PRECISION;
 
   65   } STRUMPACK_INTERFACE;
 
   69   STRUMPACK_PRECISION precision;
 
   70   STRUMPACK_INTERFACE interface;
 
   79    STRUMPACK_BLR_HODLR=4,
 
   80    STRUMPACK_ZFP_BLR_HODLR=5,
 
   83   } STRUMPACK_COMPRESSION_TYPE;
 
   87    STRUMPACK_MATCHING_NONE=0,
 
   88    STRUMPACK_MATCHING_MAX_CARDINALITY=1,
 
   89    STRUMPACK_MATCHING_MAX_SMALLEST_DIAGONAL=2,
 
   90    STRUMPACK_MATCHING_MAX_SMALLEST_DIAGONAL_2=3,
 
   91    STRUMPACK_MATCHING_MAX_DIAGONAL_SUM=4,
 
   92    STRUMPACK_MATCHING_MAX_DIAGONAL_PRODUCT_SCALING=5,
 
   93    STRUMPACK_MATCHING_COMBBLAS=6
 
   94   } STRUMPACK_MATCHING_JOB;
 
  100    STRUMPACK_PARMETIS=2,
 
  102    STRUMPACK_PTSCOTCH=4,
 
  104    STRUMPACK_GEOMETRIC=6,
 
  109    STRUMPACK_SPECTRAL=11,
 
  110   } STRUMPACK_REORDERING_STRATEGY;
 
  114    STRUMPACK_CLASSICAL=0,
 
  116   } STRUMPACK_GRAM_SCHMIDT_TYPE;
 
  122   } STRUMPACK_RANDOM_DISTRIBUTION;
 
  128   } STRUMPACK_RANDOM_ENGINE;
 
  135    STRUMPACK_PREC_GMRES=3,
 
  137    STRUMPACK_PREC_BICGSTAB=5,
 
  139   } STRUMPACK_KRYLOV_SOLVER;
 
  144    STRUMPACK_MATRIX_NOT_SET=1,
 
  145    STRUMPACK_REORDERING_ERROR=2,
 
  146    STRUMPACK_ZERO_PIVOT=3,
 
  147    STRUMPACK_NO_CONVERGENCE=4,
 
  148    STRUMPACK_INACCURATE_INERTIA=5
 
  149   } STRUMPACK_RETURN_CODE;
 
  157                          STRUMPACK_PRECISION precision,
 
  158                          STRUMPACK_INTERFACE interface,
 
  159                          int argc, 
char* argv[], 
int verbose);
 
  161 #if defined(STRUMPACK_USE_MPI) 
  163                       STRUMPACK_PRECISION precision,
 
  164                       STRUMPACK_INTERFACE interface,
 
  165                       int argc, 
char* argv[], 
int verbose);
 
  168 #if defined(STRUMPACK_USE_MPI) || defined(SWIG) 
  170                                             const void* local_rows,
 
  171                                             const void* row_ptr, 
const void* col_ind,
 
  172                                             const void* values, 
const void* dist,
 
  173                                             int symmetric_pattern);
 
  176                                                       const void* local_rows,
 
  177                                                       const void* row_ptr, 
const void* col_ind,
 
  178                                                       const void* values, 
const void* dist,
 
  179                                                       int symmetric_pattern);
 
  182                                    const void* d_ptr, 
const void* d_ind, 
const void* d_val,
 
  183                                    const void* o_ptr, 
const void* o_ind, 
const void* o_val,
 
  187                                              const void* d_ptr, 
const void* d_ind, 
const void* d_val,
 
  188                                              const void* o_ptr, 
const void* o_ind, 
const void* o_val,
 
  195                                 const void* N, 
const void* row_ptr,
 
  196                                 const void* col_ind, 
const void* values,
 
  197                                 int symmetric_pattern);
 
  200                                           const void* N, 
const void* row_ptr,
 
  201                                           const void* col_ind, 
const void* values,
 
  202                                           int symmetric_pattern);
 
  205                                         const void* b, 
void* x,
 
  206                                         int use_initial_guess);
 
  209                                            const void* b, 
int ldb,
 
  210                                            void* x, 
int ldx, 
int use_initial_guess);
 
  217                                                   int nx, 
int ny, 
int nz,
 
  218                                                   int components, 
int width);
 
  223                                           int* neg, 
int* zero, 
int* pos);
 
Definition: StrumpackSparseSolver.h:67