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