29 #ifndef STRUMPACK_SPARSE_SOLVER_H
30 #define STRUMPACK_SPARSE_SOLVER_H
33 #include "StrumpackConfig.hpp"
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
105 } STRUMPACK_REORDERING_STRATEGY;
109 STRUMPACK_CLASSICAL=0,
111 } STRUMPACK_GRAM_SCHMIDT_TYPE;
117 } STRUMPACK_RANDOM_DISTRIBUTION;
123 } STRUMPACK_RANDOM_ENGINE;
130 STRUMPACK_PREC_GMRES=3,
132 STRUMPACK_PREC_BICGSTAB=5,
134 } STRUMPACK_KRYLOV_SOLVER;
139 STRUMPACK_MATRIX_NOT_SET=1,
140 STRUMPACK_REORDERING_ERROR=2
141 } STRUMPACK_RETURN_CODE;
148 void STRUMPACK_init_mt
150 STRUMPACK_INTERFACE interface,
int argc,
char* argv[],
int verbose);
152 #if defined(STRUMPACK_USE_MPI)
155 STRUMPACK_INTERFACE interface,
int argc,
char* argv[],
int verbose);
160 void STRUMPACK_set_csr_matrix
162 const void* col_ind,
const void* values,
int symmetric_pattern);
164 void STRUMPACK_update_csr_matrix_values
166 const void* col_ind,
const void* values,
int symmetric_pattern);
168 #if defined(STRUMPACK_USE_MPI)
169 void STRUMPACK_set_distributed_csr_matrix
171 const void* row_ptr,
const void* col_ind,
const void* values,
172 const void* dist,
int symmetric_pattern);
174 void STRUMPACK_update_distributed_csr_matrix_values
176 const void* row_ptr,
const void* col_ind,
const void* values,
177 const void* dist,
int symmetric_pattern);
180 void STRUMPACK_set_MPIAIJ_matrix
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,
186 void STRUMPACK_update_MPIAIJ_matrix_values
188 const void* d_ptr,
const void* d_ind,
const void* d_val,
189 const void* o_ptr,
const void* o_ind,
const void* o_val,
193 STRUMPACK_RETURN_CODE STRUMPACK_solve
196 STRUMPACK_RETURN_CODE STRUMPACK_matsolve
198 void* x,
int ldx,
int use_initial_guess);
204 STRUMPACK_RETURN_CODE STRUMPACK_reorder_regular
Definition: StrumpackSparseSolver.h:67