PaStiX Handbook  6.2.1
api.h
Go to the documentation of this file.
1 /**
2  *
3  * @file pastix/api.h
4  *
5  * PaStiX API enums parameters.
6  *
7  * This file is generated automatically. If you want to modify it, modify
8  * ${PASTIX_HOME}/tools/gen_param/pastix_[iparm/dparm/enums].py and run
9  * ${PASTIX_HOME}/tools/gen_param/gen_parm_files.py ${PASTIX_HOME}.
10  *
11  * @copyright 2004-2021 Bordeaux INP, CNRS (LaBRI UMR 5800), Inria,
12  * Univ. Bordeaux. All rights reserved.
13  *
14  * @version 6.2.1
15  * @author Xavier Lacoste
16  * @author Pierre Ramet
17  * @author Mathieu Faverge
18  * @author Esragul Korkmaz
19  * @author Gregoire Pichon
20  * @author Tony Delarue
21  * @date 2021-07-02
22  *
23  * @addtogroup pastix_api
24  * @{
25  *
26  **/
27 #ifndef _pastix_api_h_
28 #define _pastix_api_h_
29 
30 BEGIN_C_DECLS
31 
32 /**
33  * @brief Integer parameters
34  */
35 typedef enum pastix_iparm_e {
36  IPARM_VERBOSE, /**< Verbose mode (@see pastix_verbose_t) Default: PastixVerboseNo IN */
37  IPARM_IO_STRATEGY, /**< IO strategy (@see pastix_io_t) Default: PastixIONo IN */
38 
39  /* Stats */
40  IPARM_NNZEROS, /**< Number of nonzero entries in the factorized matrix Default: - OUT */
41  IPARM_NNZEROS_BLOCK_LOCAL, /**< Number of nonzero entries in the local block factorized matrix Default: - OUT */
42  IPARM_ALLOCATED_TERMS, /**< Maximum memory allocated for matrix terms Default: - OUT */
43  IPARM_PRODUCE_STATS, /**< Compute some statistiques (such as precision error) Default: 0 IN */
44  IPARM_TRACE, /**< Bitmask of the steps to trace Default: PastixTraceNumfact IN */
45 
46  /* Scaling */
47  IPARM_MC64, /**< MC64 operation Default: 0 IN */
48 
49  /* Ordering */
50  IPARM_ORDERING, /**< Choose ordering Default: PastixOrderScotch IN */
51  IPARM_ORDERING_DEFAULT, /**< Use default ordering parameters with Scotch or Metis Default: 1 IN */
52 
53  /* Subset for Scotch */
54  IPARM_SCOTCH_MT, /**< Ordering multi-threaded (see Scotch Manual) Default: 1 (if available) IN */
55  IPARM_SCOTCH_SWITCH_LEVEL, /**< Ordering switch level (see Scotch Manual) Default: 120 IN */
56  IPARM_SCOTCH_CMIN, /**< Ordering cmin parameter (see Scotch Manual) Default: 0 IN */
57  IPARM_SCOTCH_CMAX, /**< Ordering cmax parameter (see Scotch Manual) Default: 100000 IN */
58  IPARM_SCOTCH_FRAT, /**< Ordering frat parameter (see Scotch Manual) Default: 8 IN */
59 
60  /* Subset for Metis */
61  IPARM_METIS_CTYPE, /**< Metis parameters (see Metis Manual) Default: METIS_CTYPE_SHEM IN */
62  IPARM_METIS_RTYPE, /**< Metis parameters (see Metis Manual) Default: METIS_RTYPE_SEP1SIDED IN */
63  IPARM_METIS_NO2HOP, /**< Metis parameters (see Metis Manual) Default: 0 IN */
64  IPARM_METIS_NSEPS, /**< Metis parameters (see Metis Manual) Default: 1 IN */
65  IPARM_METIS_NITER, /**< Metis parameters (see Metis Manual) Default: 10 IN */
66  IPARM_METIS_UFACTOR, /**< Metis parameters (see Metis Manual) Default: 200 IN */
67  IPARM_METIS_COMPRESS, /**< Metis parameters (see Metis Manual) Default: 1 IN */
68  IPARM_METIS_CCORDER, /**< Metis parameters (see Metis Manual) Default: 0 IN */
69  IPARM_METIS_PFACTOR, /**< Metis parameters (see Metis Manual) Default: 0 IN */
70  IPARM_METIS_SEED, /**< Metis parameters (see Metis Manual) Default: 3452 IN */
71  IPARM_METIS_DBGLVL, /**< Metis parameters (see Metis Manual) Default: 0 IN */
72 
73  /* Symbolic Factorization */
74  IPARM_AMALGAMATION_LVLBLAS, /**< Amalgamation level Default: 5 IN */
75  IPARM_AMALGAMATION_LVLCBLK, /**< Amalgamation level Default: 5 IN */
76 
77  /* Reordering */
78  IPARM_REORDERING_SPLIT, /**< Reordering split level Default: 0 IN */
79  IPARM_REORDERING_STOP, /**< Reordering stop criterion Default: PASTIX_INT_MAX IN */
80  IPARM_SPLITTING_STRATEGY, /**< Strategy used to split supernodes Default: PastixSplitKway IN */
81  IPARM_SPLITTING_LEVELS_PROJECTIONS, /**< Levels of projections Default: 0 IN */
82  IPARM_SPLITTING_LEVELS_KWAY, /**< Levels of kway Default: PASTIX_INT_MAX IN */
83  IPARM_SPLITTING_PROJECTIONS_DEPTH, /**< Number of level used for projections Default: 3 IN */
84  IPARM_SPLITTING_PROJECTIONS_DISTANCE, /**< Distance used for projections Default: 3 IN */
85  IPARM_SPLITTING_PROJECTIONS_WIDTH, /**< Width used for projections Default: 1 IN */
86 
87  /* Analyze */
88  IPARM_MIN_BLOCKSIZE, /**< Minimum block size Default: 160 IN */
89  IPARM_MAX_BLOCKSIZE, /**< Maximum block size Default: 320 IN */
90  IPARM_TASKS2D_LEVEL, /**< 2D Distribution level (-1 for autolevel, 0 for 1D) Default: -1 IN */
91  IPARM_TASKS2D_WIDTH, /**< Minimal width for 2D tasks with autolevel Default: IPARM_MIN_BLOCKSIZE IN */
92  IPARM_ALLCAND, /**< Allow all threads to be candidate in the proportional mapping Default: 0 IN */
93 
94  /* Incomplete */
95  IPARM_INCOMPLETE, /**< Incomplete factorization Default: 0 IN */
96  IPARM_LEVEL_OF_FILL, /**< Level of fill for incomplete factorization Default: 0 IN */
97 
98  /* Factorization */
99  IPARM_FACTORIZATION, /**< Factorization mode Default: PastixFactLU IN */
100  IPARM_STATIC_PIVOTING, /**< Static pivoting Default: - OUT */
101  IPARM_FREE_CSCUSER, /**< Free user CSC Default: 0 IN */
102  IPARM_SCHUR_FACT_MODE, /**< Specify if the Schur is factorized (@see pastix_fact_mode_t) Default: PastixFactModeLocal IN */
103 
104  /* Solve */
105  IPARM_TRANSPOSE_SOLVE, /**< Solve A^t x = b (to avoid CSR/CSC conversion for instance) Default: PastixNoTrans IN */
106  IPARM_SCHUR_SOLV_MODE, /**< Specify the solve parts to apply (@see pastix_solv_mode_t) Default: PastixSolvModeLocal IN */
107  IPARM_APPLYPERM_WS, /**< Enable/disable extra workspace for a thread-safe swap Default: 1 IN */
108 
109  /* Refinement */
110  IPARM_REFINEMENT, /**< Refinement mode Default: PastixRefineGMRES IN */
111  IPARM_NBITER, /**< Number of iterations performed in refinement Default: - OUT */
112  IPARM_ITERMAX, /**< Maximum iteration number for refinement Default: 250 IN */
113  IPARM_GMRES_IM, /**< GMRES restart parameter Default: 25 IN */
114 
115  /* Context */
116  IPARM_SCHEDULER, /**< Scheduler mode Default: PastixSchedDynamic IN */
117  IPARM_THREAD_NBR, /**< Number of threads per process (-1 for auto detect) Default: -1 IN */
118  IPARM_AUTOSPLIT_COMM, /**< Automaticaly split communicator to have one MPI task by node Default: 0 IN */
119 
120  /* GPU */
121  IPARM_GPU_NBR, /**< Number of GPU devices Default: 0 IN */
122  IPARM_GPU_MEMORY_PERCENTAGE, /**< Maximum percentage of the GPU memory used by the solver Default: 95 IN */
123  IPARM_GPU_MEMORY_BLOCK_SIZE, /**< Size of GPU memory pages (for PaRSEC runtime) Default: 32 * 1024 IN */
124 
125  /* Compression */
126  IPARM_COMPRESS_MIN_WIDTH, /**< Minimum width to compress a supernode Default: 128 IN */
127  IPARM_COMPRESS_MIN_HEIGHT, /**< Minimum height to compress an off-diagonal block Default: 20 IN */
128  IPARM_COMPRESS_WHEN, /**< When to compress a supernode Default: PastixCompressNever IN */
129  IPARM_COMPRESS_METHOD, /**< Compression method (See pastix_compress_method_t) Default: PastixCompressMethodPQRCP IN */
130  IPARM_COMPRESS_ORTHO, /**< Orthogonalization method Default: PastixCompressOrthoCGS IN */
131  IPARM_COMPRESS_RELTOL, /**< Enable/Disable relative tolerance Default: 0 IN */
132  IPARM_COMPRESS_PRESELECT, /**< Enable/Disable compression of preselected blocks Default: 1 IN */
133  IPARM_COMPRESS_ILUK, /**< Set the ILU(k) level of preselection (-2 for auto-level) Default: -2 IN */
134 
135  /* MPI modes */
136  IPARM_MPI_THREAD_LEVEL, /**< MPI thread level support Default: PastixMpiNone OUT */
137 
138  /* Subset for old interface */
139  IPARM_MODIFY_PARAMETER, /**< Indicate if parameters have been set by user Default: 1 IN */
140  IPARM_START_TASK, /**< Indicate the first step to execute Default: PastixTaskOrdering IN */
141  IPARM_END_TASK, /**< Indicate the last step to execute Default: PastixTaskClean IN */
142  IPARM_FLOAT, /**< Indicate the arithmetics Default: PastixDouble IN */
143  IPARM_MTX_TYPE, /**< Indicate matrix format Default: -1 IN */
144  IPARM_DOF_NBR, /**< Degree of freedom per node Default: 1 IN */
145 
146  IPARM_SIZE
148 
149 /**
150  * @brief Float parameters
151  */
152 typedef enum pastix_dparm_e {
153  DPARM_FILL_IN, /**< Maximum memory (-DMEMORY_USAGE) Default: - OUT */
154  DPARM_EPSILON_REFINEMENT, /**< Epsilon for refinement Default: -1. IN */
155  DPARM_RELATIVE_ERROR, /**< Relative backward error Default: - OUT */
156  DPARM_EPSILON_MAGN_CTRL, /**< Epsilon for magnitude control Default: 0. IN */
157  DPARM_ORDER_TIME, /**< Time for subtask order (wallclock) Default: - OUT */
158  DPARM_SYMBFACT_TIME, /**< Time for subtask symbfact (wallclock) Default: - OUT */
159  DPARM_REORDER_TIME, /**< Time for subtask reordering (wallclock) Default: - OUT */
160  DPARM_BLEND_TIME, /**< Time for subtask blend (wallclock) Default: - OUT */
161  DPARM_ANALYZE_TIME, /**< Time for task analyse (wallclock) Default: - OUT */
162  DPARM_PRED_FACT_TIME, /**< Predicted factorization time Default: - OUT */
163  DPARM_FACT_TIME, /**< Time for task Numerical Factorization (wallclock) Default: - OUT */
164  DPARM_FACT_FLOPS, /**< Factorization GFlops/s Default: - OUT */
165  DPARM_FACT_THFLOPS, /**< Factorization theoretical Flops Default: - OUT */
166  DPARM_FACT_RLFLOPS, /**< Factorization performed Flops Default: - OUT */
167  DPARM_SOLV_TIME, /**< Time for task Solve (wallclock) Default: - OUT */
168  DPARM_SOLV_FLOPS, /**< Solve GFlops/s Default: - OUT */
169  DPARM_SOLV_THFLOPS, /**< Solve theoretical Flops Default: - OUT */
170  DPARM_SOLV_RLFLOPS, /**< Solve performed Flops Default: - OUT */
171  DPARM_REFINE_TIME, /**< Time for task refinement (wallclock) Default: - OUT */
172  DPARM_A_NORM, /**< (||A||_f) norm Default: - OUT */
173  DPARM_COMPRESS_TOLERANCE, /**< Tolerance for low-rank kernels Default: 0.01 IN */
174  DPARM_COMPRESS_MIN_RATIO, /**< Min ratio for rank w.r.t. strict rank Default: 1.0 IN */
175  DPARM_SIZE
177 
178 /**
179  * @brief Main steps for the pastix() interface.
180  *
181  * Those enums are used of the IPARM_START_TASK and IPARM_END_TASK parameters
182  * that configure the pastix() call.
183  */
184 typedef enum pastix_task_e {
185  PastixTaskInit = 0, /**< Startup the library */
186  PastixTaskOrdering = 1, /**< Ordering */
187  PastixTaskSymbfact = 2, /**< Symbolic factorization */
188  PastixTaskAnalyze = 3, /**< Tasks mapping and scheduling */
189  PastixTaskNumfact = 4, /**< Numerical factorization */
190  PastixTaskSolve = 5, /**< Numerical solve */
191  PastixTaskRefine = 6, /**< Numerical refinement */
192  PastixTaskClean = 7 /**< Clean */
193 } pastix_task_t;
194 
195 /**
196  * @brief Steps to trace.
197  */
198 typedef enum pastix_trace_e {
199  PastixTraceNumfact = 16,
200  PastixTraceSolve = 32
202 
203 /**
204  * @brief Verbose modes
205  */
206 typedef enum pastix_verbose_e {
207  PastixVerboseNot = 0, /**< Nothing */
208  PastixVerboseNo = 1, /**< Default */
209  PastixVerboseYes = 2 /**< Extended */
211 
212 /**
213  * @brief IO strategy for graph and ordering
214  */
215 typedef enum pastix_io_e {
216  PastixIONo = 0, /**< No output or input */
217  PastixIOLoad = 1, /**< Load ordering and symbol matrix instead of applying symbolic factorization step */
218  PastixIOSave = 2, /**< Save ordering and symbol matrix after symbolic factorization step */
219  PastixIOLoadGraph = 4, /**< Load graph during ordering step */
220  PastixIOSaveGraph = 8, /**< Save graph during ordering step */
221  PastixIOLoadCSC = 16, /**< Load CSC(d) during ordering step */
222  PastixIOSaveCSC = 32 /**< Save CSC(d) during ordering step */
223 } pastix_io_t;
224 
225 /**
226  * @brief Factorization Schur modes
227  *
228  * Describe which part of the matrix is factorized or not
229  */
230 typedef enum pastix_fact_mode_e {
231  PastixFactModeLocal = 0,
232  PastixFactModeSchur = 1,
233  PastixFactModeBoth = 2
235 
236 /**
237  * @brief Solve Schur modes
238  *
239  * Describe which part of the solve is applied with the matrix
240  *
241  * \f[ A = \left( \begin{array}{cc}
242  * L_{11}U_{11} & U_{12} \\
243  * L_{21} & S_{22} \end{array} \right) \f]
244  *
245  * For the lower part (and symmetrically for upper part):
246  * -# Solve \f[ L_{11} * x_{11} = b_{11} \f]
247  * -# Apply the update \f[ b_{22} = b_{22} - L_{21} * b_{11} \f]
248  * -# Solve the lower part of \f[ S_{22} * x_{22} = b_{22} \f] if S22 has been previously factorized.
249  *
250  * PastixSolvModeLocal applies only the step 1.
251  * PastixSolvModeInterface applies steps 1 and 2.
252  * PastixSolvModeSchur applies all steps.
253  */
254 typedef enum pastix_solv_mode_e {
255  PastixSolvModeLocal = 0,
256  PastixSolvModeInterface = 1,
257  PastixSolvModeSchur = 2
259 
260 /**
261  * @brief Iterative refinement algorithms
262  */
263 typedef enum pastix_refine_e {
264  PastixRefineGMRES, /**< GMRES */
265  PastixRefineCG, /**< Conjugate Gradient */
266  PastixRefineSR, /**< Simple refinement */
267  PastixRefineBiCGSTAB /**< BiCGStab */
269 
270 /**
271  * @brief Arithmetic types.
272  *
273  * This describes the different arithmetics that can be stored in a sparse matrix.
274  * @remark The values start at 2 for compatibility purpose with PLASMA and
275  * DPLASMA libraries, and they match the ones used in spm.
276  *
277  * @sa spm_coeftype_t
278  *
279  * @{
280  */
281 #define pastix_coeftype_t spm_coeftype_t
282 #define PastixPattern SpmPattern
283 #define PastixFloat SpmFloat
284 #define PastixDouble SpmDouble
285 #define PastixComplex32 SpmComplex32
286 #define PastixComplex64 SpmComplex64
287 /**
288  * @}
289  */
290 
291 /**
292  * @brief Factorization algorithms available for IPARM_FACTORIZATION parameter
293  */
294 typedef enum pastix_factotype_e {
295  PastixFactPOTRF = 0, /**< Cholesky factorization */
296  PastixFactSYTRF = 1, /**< LDL^t factorization */
297  PastixFactGETRF = 2, /**< LU factorization */
298  PastixFactPXTRF = 3, /**< LL^t factorization for complex matrices */
299  PastixFactHETRF = 4, /**< LDL^h factorization for complex matrices */
300  PastixFactLLH = 0, /**< LL^h factorization for complex matrices */
301  PastixFactLDLT = 1, /**< LDL^t factorization */
302  PastixFactLU = 2, /**< LU factorization */
303  PastixFactLLT = 3, /**< LL^t factorization */
304  PastixFactLDLH = 4 /**< LDL^h factorization for complex matrices */
306 
307 /**
308  * @brief Scheduler
309  */
310 typedef enum pastix_scheduler_e {
311  PastixSchedSequential = 0, /**< Sequential */
312  PastixSchedStatic = 1, /**< Shared memory with static scheduler */
313  PastixSchedParsec = 2, /**< PaRSEC scheduler */
314  PastixSchedStarPU = 3, /**< StarPU scheduler */
315  PastixSchedDynamic = 4 /**< Shared memory with dynamic scheduler */
317 
318 /**
319  * @brief Ordering strategy
320  */
321 typedef enum pastix_ordering_e {
322  PastixOrderScotch, /**< Use Scotch ordering */
323  PastixOrderMetis, /**< Use Metis ordering */
324  PastixOrderPersonal, /**< Apply user's permutation, or load from file */
325  PastixOrderPtScotch, /**< Use Pt-Scotch ordering */
326  PastixOrderParMetis /**< Use ParMetis ordering */
328 
329 /**
330  * @brief MPI thread mode
331  */
333  PastixMpiNone = 0, /**< No MPI support */
334  PastixMpiThreadSingle = 1, /**< MPI thread single support */
335  PastixMpiThreadFunneled = 2, /**< MPI thread funneled support */
336  PastixMpiThreadSerialized = 3, /**< MPI thread serialized support */
337  PastixMpiThreadMultiple = 4 /**< MPI thread multiple support */
339 
340 /**
341  * @brief Error codes
342  */
343 typedef enum pastix_error_e {
344  PASTIX_SUCCESS = 0, /**< No error */
345  PASTIX_ERR_UNKNOWN = 1, /**< Unknown error */
346  PASTIX_ERR_ALLOC = 2, /**< Allocation error */
347  PASTIX_ERR_NOTIMPLEMENTED = 3, /**< Not implemented feature */
348  PASTIX_ERR_OUTOFMEMORY = 4, /**< Not enough memory */
349  PASTIX_ERR_THREAD = 5, /**< Error with threads */
350  PASTIX_ERR_INTERNAL = 6, /**< Internal error */
351  PASTIX_ERR_BADPARAMETER = 7, /**< Bad parameters given */
352  PASTIX_ERR_FILE = 8, /**< Error in In/Out operations */
353  PASTIX_ERR_INTEGER_TYPE = 9, /**< Error with integer types */
354  PASTIX_ERR_IO = 10, /**< Error with input/output */
355  PASTIX_ERR_MPI = 11 /**< Error with MPI calls */
357 
358 /**
359  * @brief Compression strategy available for IPARM_COMPRESS_WHEN parameter
360  */
362  PastixCompressNever, /**< Do not use compression */
363  PastixCompressWhenBegin, /**< Compress before any numerical operation (Minimal-Memory) */
364  PastixCompressWhenEnd, /**< Compress after contributions were accumulated (Just-In-Time) */
365  PastixCompressWhenDuring /**< Compress after contributions from other supernodes were accumulated */
367 
368 /**
369  * @brief Compression method available for IPARM_COMPRESS_METHOD parameter
370  */
372  PastixCompressMethodSVD, /**< Use singular value decomposition for low-rank compression */
373  PastixCompressMethodPQRCP, /**< Use partial QR with column pivoting for low-rank compression */
374  PastixCompressMethodRQRCP, /**< Use randomized QR with column pivoting for low-rank compression */
375  PastixCompressMethodTQRCP, /**< Use truncated QR with column pivotingfor low-rank compression */
376  PastixCompressMethodRQRRT, /**< Use randomized QR with rotation for low-rank compression */
377  PastixCompressMethodNbr /**< Total number of available compression methods */
379 
380 /**
381  * @brief Orthogonalization method available for IPARM_COMPRESS_ORTHO parameter
382  */
384  PastixCompressOrthoCGS, /**< Orthogonalize low-rank bases with Gram-Schimdt */
385  PastixCompressOrthoQR, /**< Orthogonalize low-rank bases with QR decomposition */
386  PastixCompressOrthoPartialQR /**< Orthogonalize low-rank bases with projections in orthogonal space followed by smaller QR */
388 
389 /**
390  * @brief Splitting strategy available for IPARM_SPLITTING_STRATEGY parameter
391  */
392 typedef enum pastix_split_e {
393  PastixSplitNot, /**< Do not apply dedicated low-rank clustering strategy */
394  PastixSplitKway, /**< Use k-way partitioning */
395  PastixSplitKwayProjections /**< Use projections and k-way in clusters */
397 
398 /**
399  *
400  * @name Constants compatible with CBLAS & LAPACK & PLASMA
401  * @{
402  * The naming and numbering of the following constants is consistent with:
403  *
404  * - CBLAS from Netlib (http://www.netlib.org/blas/blast-forum/cblas.tgz)
405  * - C Interface to LAPACK from Netlib (http://www.netlib.org/lapack/lapwrapc/)
406  * - Plasma (http://icl.cs.utk.edu/plasma/index.html)
407  *
408  */
409 
410 /**
411  * @brief Direction of the matrix storage
412  */
413 typedef enum pastix_layout_e {
414  PastixRowMajor = 101, /**< Storage in row major order */
415  PastixColMajor = 102 /**< Storage in column major order */
417 
418 /**
419  * @brief Transpostion
420  */
421 typedef enum pastix_trans_e {
422  PastixNoTrans = 111, /**< Use A */
423  PastixTrans = 112, /**< Use A^t */
424  PastixConjTrans = 113 /**< Use conj(A^t) */
426 
427 /**
428  * @brief Matrix symmetry type property.
429  *
430  * @remark Must match transposition.
431  */
432 typedef enum pastix_mtxtype_e {
433  PastixGeneral = PastixNoTrans, /**< The matrix is general */
434  PastixSymmetric = PastixTrans, /**< The matrix is symmetric */
435  PastixHermitian = PastixConjTrans /**< The matrix is hermitian */
437 
438 /**
439  * @brief Upper/Lower part
440  */
441 typedef enum pastix_uplo_e {
442  PastixUpper = 121, /**< Use lower triangle of A */
443  PastixLower = 122, /**< Use upper triangle of A */
444  PastixUpperLower = 123 /**< Use the full A */
445 } pastix_uplo_t;
446 
447 /**
448  * @brief Data blocks used in the kernel
449  *
450  * @warning Must be 0 and 1 respectively for Left and Upper as is it used to
451  * shift the pointers in the kernels from the lower to upper part.
452  */
453 typedef enum pastix_coefside_e {
454  PastixLCoef = 0, /**< Coefficients of the lower triangular L are used */
455  PastixUCoef = 1, /**< Coefficients of the upper triangular U are used */
456  PastixLUCoef = 2 /**< Coefficients of the upper/lower triangular U/L are used */
458 
459 /**
460  * @brief Diagonal
461  */
462 typedef enum pastix_diag_e {
463  PastixNonUnit = 131, /**< Diagonal is non unitary */
464  PastixUnit = 132 /**< Diagonal is unitary */
465 } pastix_diag_t;
466 
467 /**
468  * @brief Side of the operation
469  */
470 typedef enum pastix_side_e {
471  PastixLeft = 141, /**< Apply operator on the left */
472  PastixRight = 142 /**< Apply operator on the right */
473 } pastix_side_t;
474 
475 /**
476  * @brief Norms
477  */
478 typedef enum pastix_normtype_e {
479  PastixOneNorm = 171, /**< One norm: max_j( sum_i( |a_{ij}| ) ) */
480  PastixFrobeniusNorm = 174, /**< Frobenius norm: sqrt( sum_{i,j} (a_{ij}^2) ) */
481  PastixInfNorm = 175, /**< Inifinite norm: max_i( sum_j( |a_{ij}| ) ) */
482  PastixMaxNorm = 177 /**< Inifinite norm: max_{i,j}( | a_{ij} | ) */
484 
485 /**
486  * @brief Direction
487  */
488 typedef enum pastix_dir_e {
489  PastixDirForward = 391, /**< Forward direction */
490  PastixDirBackward = 392 /**< Backward direction */
491 } pastix_dir_t;
492 
493 /**
494  * @}
495  */
496 
497 END_C_DECLS
498 
499 #endif /* _pastix_api_h_ */
500 
501 /**
502  * @}
503  */
IPARM_METIS_SEED
@ IPARM_METIS_SEED
Definition: api.h:70
PastixFrobeniusNorm
@ PastixFrobeniusNorm
Definition: api.h:480
pastix_ordering_e
pastix_ordering_e
Ordering strategy.
Definition: api.h:321
IPARM_NBITER
@ IPARM_NBITER
Definition: api.h:111
PastixInfNorm
@ PastixInfNorm
Definition: api.h:481
pastix_mpithreadmode_t
enum pastix_mpithreadmode_e pastix_mpithreadmode_t
MPI thread mode.
PastixTrans
@ PastixTrans
Definition: api.h:423
pastix_uplo_t
enum pastix_uplo_e pastix_uplo_t
Upper/Lower part.
PastixFactLLT
@ PastixFactLLT
Definition: api.h:303
PastixCompressMethodRQRRT
@ PastixCompressMethodRQRRT
Definition: api.h:376
IPARM_ITERMAX
@ IPARM_ITERMAX
Definition: api.h:112
pastix_refine_t
enum pastix_refine_e pastix_refine_t
Iterative refinement algorithms.
PastixRowMajor
@ PastixRowMajor
Definition: api.h:414
DPARM_FACT_FLOPS
@ DPARM_FACT_FLOPS
Definition: api.h:164
pastix_mpithreadmode_e
pastix_mpithreadmode_e
MPI thread mode.
Definition: api.h:332
IPARM_TRACE
@ IPARM_TRACE
Definition: api.h:44
DPARM_COMPRESS_TOLERANCE
@ DPARM_COMPRESS_TOLERANCE
Definition: api.h:173
IPARM_SCHUR_SOLV_MODE
@ IPARM_SCHUR_SOLV_MODE
Definition: api.h:106
pastix_compress_method_e
pastix_compress_method_e
Compression method available for IPARM_COMPRESS_METHOD parameter.
Definition: api.h:371
IPARM_SCOTCH_CMIN
@ IPARM_SCOTCH_CMIN
Definition: api.h:56
pastix_fact_mode_t
enum pastix_fact_mode_e pastix_fact_mode_t
Factorization Schur modes.
pastix_coefside_e
pastix_coefside_e
Data blocks used in the kernel.
Definition: api.h:453
IPARM_ORDERING
@ IPARM_ORDERING
Definition: api.h:50
PastixCompressOrthoQR
@ PastixCompressOrthoQR
Definition: api.h:385
IPARM_METIS_COMPRESS
@ IPARM_METIS_COMPRESS
Definition: api.h:67
pastix_compress_ortho_t
enum pastix_compress_ortho_e pastix_compress_ortho_t
Orthogonalization method available for IPARM_COMPRESS_ORTHO parameter.
IPARM_ORDERING_DEFAULT
@ IPARM_ORDERING_DEFAULT
Definition: api.h:51
DPARM_SYMBFACT_TIME
@ DPARM_SYMBFACT_TIME
Definition: api.h:158
pastix_solv_mode_t
enum pastix_solv_mode_e pastix_solv_mode_t
Solve Schur modes.
IPARM_MPI_THREAD_LEVEL
@ IPARM_MPI_THREAD_LEVEL
Definition: api.h:136
IPARM_MAX_BLOCKSIZE
@ IPARM_MAX_BLOCKSIZE
Definition: api.h:89
PastixTaskNumfact
@ PastixTaskNumfact
Definition: api.h:189
pastix_refine_e
pastix_refine_e
Iterative refinement algorithms.
Definition: api.h:263
PASTIX_ERR_MPI
@ PASTIX_ERR_MPI
Definition: api.h:355
pastix_dparm_t
enum pastix_dparm_e pastix_dparm_t
Float parameters.
DPARM_EPSILON_REFINEMENT
@ DPARM_EPSILON_REFINEMENT
Definition: api.h:154
pastix_split_t
enum pastix_split_e pastix_split_t
Splitting strategy available for IPARM_SPLITTING_STRATEGY parameter.
pastix_layout_t
enum pastix_layout_e pastix_layout_t
Direction of the matrix storage.
PastixSplitKway
@ PastixSplitKway
Definition: api.h:394
IPARM_LEVEL_OF_FILL
@ IPARM_LEVEL_OF_FILL
Definition: api.h:96
pastix_coefside_t
enum pastix_coefside_e pastix_coefside_t
Data blocks used in the kernel.
IPARM_COMPRESS_RELTOL
@ IPARM_COMPRESS_RELTOL
Definition: api.h:131
IPARM_SPLITTING_PROJECTIONS_DEPTH
@ IPARM_SPLITTING_PROJECTIONS_DEPTH
Definition: api.h:83
IPARM_METIS_PFACTOR
@ IPARM_METIS_PFACTOR
Definition: api.h:69
DPARM_REFINE_TIME
@ DPARM_REFINE_TIME
Definition: api.h:171
pastix_uplo_e
pastix_uplo_e
Upper/Lower part.
Definition: api.h:441
pastix_task_e
pastix_task_e
Main steps for the pastix() interface.
Definition: api.h:184
pastix_scheduler_t
enum pastix_scheduler_e pastix_scheduler_t
Scheduler.
IPARM_MC64
@ IPARM_MC64
Definition: api.h:47
PastixRefineSR
@ PastixRefineSR
Definition: api.h:266
pastix_trans_t
enum pastix_trans_e pastix_trans_t
Transpostion.
pastix_trans_e
pastix_trans_e
Transpostion.
Definition: api.h:421
pastix_dparm_e
pastix_dparm_e
Float parameters.
Definition: api.h:152
IPARM_GPU_MEMORY_PERCENTAGE
@ IPARM_GPU_MEMORY_PERCENTAGE
Definition: api.h:122
IPARM_SCOTCH_SWITCH_LEVEL
@ IPARM_SCOTCH_SWITCH_LEVEL
Definition: api.h:55
IPARM_STATIC_PIVOTING
@ IPARM_STATIC_PIVOTING
Definition: api.h:100
IPARM_NNZEROS_BLOCK_LOCAL
@ IPARM_NNZEROS_BLOCK_LOCAL
Definition: api.h:41
IPARM_ALLCAND
@ IPARM_ALLCAND
Definition: api.h:92
PastixCompressMethodPQRCP
@ PastixCompressMethodPQRCP
Definition: api.h:373
IPARM_COMPRESS_ORTHO
@ IPARM_COMPRESS_ORTHO
Definition: api.h:130
PastixCompressNever
@ PastixCompressNever
Definition: api.h:362
PastixLower
@ PastixLower
Definition: api.h:443
pastix_error_t
enum pastix_error_e pastix_error_t
Error codes.
IPARM_TASKS2D_WIDTH
@ IPARM_TASKS2D_WIDTH
Definition: api.h:91
PASTIX_ERR_IO
@ PASTIX_ERR_IO
Definition: api.h:354
IPARM_PRODUCE_STATS
@ IPARM_PRODUCE_STATS
Definition: api.h:43
PastixFactHETRF
@ PastixFactHETRF
Definition: api.h:299
PastixCompressOrthoCGS
@ PastixCompressOrthoCGS
Definition: api.h:384
PastixIOSave
@ PastixIOSave
Definition: api.h:218
PastixGeneral
@ PastixGeneral
Definition: api.h:433
DPARM_A_NORM
@ DPARM_A_NORM
Definition: api.h:172
IPARM_COMPRESS_MIN_HEIGHT
@ IPARM_COMPRESS_MIN_HEIGHT
Definition: api.h:127
PastixOrderMetis
@ PastixOrderMetis
Definition: api.h:323
PastixDirForward
@ PastixDirForward
Definition: api.h:489
IPARM_SCOTCH_CMAX
@ IPARM_SCOTCH_CMAX
Definition: api.h:57
pastix_scheduler_e
pastix_scheduler_e
Scheduler.
Definition: api.h:310
PastixMpiNone
@ PastixMpiNone
Definition: api.h:333
PastixNoTrans
@ PastixNoTrans
Definition: api.h:422
IPARM_NNZEROS
@ IPARM_NNZEROS
Definition: api.h:40
IPARM_GPU_MEMORY_BLOCK_SIZE
@ IPARM_GPU_MEMORY_BLOCK_SIZE
Definition: api.h:123
IPARM_SCOTCH_FRAT
@ IPARM_SCOTCH_FRAT
Definition: api.h:58
PastixUpper
@ PastixUpper
Definition: api.h:442
pastix_trace_t
enum pastix_trace_e pastix_trace_t
Steps to trace.
DPARM_PRED_FACT_TIME
@ DPARM_PRED_FACT_TIME
Definition: api.h:162
IPARM_COMPRESS_METHOD
@ IPARM_COMPRESS_METHOD
Definition: api.h:129
PastixConjTrans
@ PastixConjTrans
Definition: api.h:424
PastixRefineBiCGSTAB
@ PastixRefineBiCGSTAB
Definition: api.h:267
PastixNonUnit
@ PastixNonUnit
Definition: api.h:463
pastix_trace_e
pastix_trace_e
Steps to trace.
Definition: api.h:198
pastix_compress_ortho_e
pastix_compress_ortho_e
Orthogonalization method available for IPARM_COMPRESS_ORTHO parameter.
Definition: api.h:383
PastixFactGETRF
@ PastixFactGETRF
Definition: api.h:297
PASTIX_ERR_NOTIMPLEMENTED
@ PASTIX_ERR_NOTIMPLEMENTED
Definition: api.h:347
IPARM_SCHEDULER
@ IPARM_SCHEDULER
Definition: api.h:116
IPARM_THREAD_NBR
@ IPARM_THREAD_NBR
Definition: api.h:117
PastixCompressMethodRQRCP
@ PastixCompressMethodRQRCP
Definition: api.h:374
PastixFactSYTRF
@ PastixFactSYTRF
Definition: api.h:296
pastix_mtxtype_e
pastix_mtxtype_e
Matrix symmetry type property.
Definition: api.h:432
pastix_compress_when_e
pastix_compress_when_e
Compression strategy available for IPARM_COMPRESS_WHEN parameter.
Definition: api.h:361
PASTIX_ERR_FILE
@ PASTIX_ERR_FILE
Definition: api.h:352
DPARM_FACT_THFLOPS
@ DPARM_FACT_THFLOPS
Definition: api.h:165
IPARM_AMALGAMATION_LVLCBLK
@ IPARM_AMALGAMATION_LVLCBLK
Definition: api.h:75
pastix_verbose_t
enum pastix_verbose_e pastix_verbose_t
Verbose modes.
PASTIX_ERR_INTEGER_TYPE
@ PASTIX_ERR_INTEGER_TYPE
Definition: api.h:353
IPARM_METIS_UFACTOR
@ IPARM_METIS_UFACTOR
Definition: api.h:66
PastixTaskRefine
@ PastixTaskRefine
Definition: api.h:191
DPARM_SOLV_THFLOPS
@ DPARM_SOLV_THFLOPS
Definition: api.h:169
PastixSchedParsec
@ PastixSchedParsec
Definition: api.h:313
PastixTaskAnalyze
@ PastixTaskAnalyze
Definition: api.h:188
pastix_verbose_e
pastix_verbose_e
Verbose modes.
Definition: api.h:206
IPARM_MIN_BLOCKSIZE
@ IPARM_MIN_BLOCKSIZE
Definition: api.h:88
PastixOneNorm
@ PastixOneNorm
Definition: api.h:479
pastix_normtype_t
enum pastix_normtype_e pastix_normtype_t
Norms.
DPARM_RELATIVE_ERROR
@ DPARM_RELATIVE_ERROR
Definition: api.h:155
PastixIOSaveGraph
@ PastixIOSaveGraph
Definition: api.h:220
PastixCompressWhenBegin
@ PastixCompressWhenBegin
Definition: api.h:363
pastix_error_e
pastix_error_e
Error codes.
Definition: api.h:343
PastixMpiThreadFunneled
@ PastixMpiThreadFunneled
Definition: api.h:335
pastix_io_e
pastix_io_e
IO strategy for graph and ordering.
Definition: api.h:215
PastixIOSaveCSC
@ PastixIOSaveCSC
Definition: api.h:222
pastix_factotype_t
enum pastix_factotype_e pastix_factotype_t
Factorization algorithms available for IPARM_FACTORIZATION parameter.
PastixCompressMethodNbr
@ PastixCompressMethodNbr
Definition: api.h:377
pastix_normtype_e
pastix_normtype_e
Norms.
Definition: api.h:478
PastixTaskInit
@ PastixTaskInit
Definition: api.h:185
IPARM_COMPRESS_MIN_WIDTH
@ IPARM_COMPRESS_MIN_WIDTH
Definition: api.h:126
PastixSchedSequential
@ PastixSchedSequential
Definition: api.h:311
IPARM_SPLITTING_STRATEGY
@ IPARM_SPLITTING_STRATEGY
Definition: api.h:80
pastix_io_t
enum pastix_io_e pastix_io_t
IO strategy for graph and ordering.
PastixFactLLH
@ PastixFactLLH
Definition: api.h:300
PastixVerboseNot
@ PastixVerboseNot
Definition: api.h:207
IPARM_TRANSPOSE_SOLVE
@ IPARM_TRANSPOSE_SOLVE
Definition: api.h:105
DPARM_FILL_IN
@ DPARM_FILL_IN
Definition: api.h:153
PastixUCoef
@ PastixUCoef
Definition: api.h:455
PASTIX_SUCCESS
@ PASTIX_SUCCESS
Definition: api.h:344
PastixVerboseNo
@ PastixVerboseNo
Definition: api.h:208
PastixIOLoadGraph
@ PastixIOLoadGraph
Definition: api.h:219
PastixCompressMethodTQRCP
@ PastixCompressMethodTQRCP
Definition: api.h:375
IPARM_REORDERING_STOP
@ IPARM_REORDERING_STOP
Definition: api.h:79
PastixDirBackward
@ PastixDirBackward
Definition: api.h:490
PASTIX_ERR_UNKNOWN
@ PASTIX_ERR_UNKNOWN
Definition: api.h:345
DPARM_SOLV_RLFLOPS
@ DPARM_SOLV_RLFLOPS
Definition: api.h:170
pastix_compress_method_t
enum pastix_compress_method_e pastix_compress_method_t
Compression method available for IPARM_COMPRESS_METHOD parameter.
PastixRefineCG
@ PastixRefineCG
Definition: api.h:265
IPARM_COMPRESS_WHEN
@ IPARM_COMPRESS_WHEN
Definition: api.h:128
pastix_side_e
pastix_side_e
Side of the operation.
Definition: api.h:470
PastixRefineGMRES
@ PastixRefineGMRES
Definition: api.h:264
PastixTaskSymbfact
@ PastixTaskSymbfact
Definition: api.h:187
PastixLCoef
@ PastixLCoef
Definition: api.h:454
IPARM_APPLYPERM_WS
@ IPARM_APPLYPERM_WS
Definition: api.h:107
PastixMpiThreadMultiple
@ PastixMpiThreadMultiple
Definition: api.h:337
IPARM_MTX_TYPE
@ IPARM_MTX_TYPE
Definition: api.h:143
IPARM_SPLITTING_LEVELS_PROJECTIONS
@ IPARM_SPLITTING_LEVELS_PROJECTIONS
Definition: api.h:81
IPARM_METIS_DBGLVL
@ IPARM_METIS_DBGLVL
Definition: api.h:71
PastixOrderPersonal
@ PastixOrderPersonal
Definition: api.h:324
pastix_solv_mode_e
pastix_solv_mode_e
Solve Schur modes.
Definition: api.h:254
IPARM_FREE_CSCUSER
@ IPARM_FREE_CSCUSER
Definition: api.h:101
IPARM_END_TASK
@ IPARM_END_TASK
Definition: api.h:141
PASTIX_ERR_OUTOFMEMORY
@ PASTIX_ERR_OUTOFMEMORY
Definition: api.h:348
PastixHermitian
@ PastixHermitian
Definition: api.h:435
PastixColMajor
@ PastixColMajor
Definition: api.h:415
IPARM_FLOAT
@ IPARM_FLOAT
Definition: api.h:142
DPARM_FACT_TIME
@ DPARM_FACT_TIME
Definition: api.h:163
DPARM_REORDER_TIME
@ DPARM_REORDER_TIME
Definition: api.h:159
DPARM_COMPRESS_MIN_RATIO
@ DPARM_COMPRESS_MIN_RATIO
Definition: api.h:174
IPARM_SCHUR_FACT_MODE
@ IPARM_SCHUR_FACT_MODE
Definition: api.h:102
IPARM_METIS_RTYPE
@ IPARM_METIS_RTYPE
Definition: api.h:62
IPARM_COMPRESS_ILUK
@ IPARM_COMPRESS_ILUK
Definition: api.h:133
PastixUnit
@ PastixUnit
Definition: api.h:464
pastix_dir_t
enum pastix_dir_e pastix_dir_t
Direction.
PastixCompressWhenDuring
@ PastixCompressWhenDuring
Definition: api.h:365
pastix_factotype_e
pastix_factotype_e
Factorization algorithms available for IPARM_FACTORIZATION parameter.
Definition: api.h:294
DPARM_SOLV_FLOPS
@ DPARM_SOLV_FLOPS
Definition: api.h:168
PastixIOLoadCSC
@ PastixIOLoadCSC
Definition: api.h:221
IPARM_GPU_NBR
@ IPARM_GPU_NBR
Definition: api.h:121
PastixTaskClean
@ PastixTaskClean
Definition: api.h:192
PastixFactLDLT
@ PastixFactLDLT
Definition: api.h:301
PastixFactPOTRF
@ PastixFactPOTRF
Definition: api.h:295
pastix_diag_t
enum pastix_diag_e pastix_diag_t
Diagonal.
IPARM_AMALGAMATION_LVLBLAS
@ IPARM_AMALGAMATION_LVLBLAS
Definition: api.h:74
PastixLUCoef
@ PastixLUCoef
Definition: api.h:456
PastixTaskSolve
@ PastixTaskSolve
Definition: api.h:190
IPARM_MODIFY_PARAMETER
@ IPARM_MODIFY_PARAMETER
Definition: api.h:139
DPARM_SOLV_TIME
@ DPARM_SOLV_TIME
Definition: api.h:167
PastixCompressWhenEnd
@ PastixCompressWhenEnd
Definition: api.h:364
IPARM_ALLOCATED_TERMS
@ IPARM_ALLOCATED_TERMS
Definition: api.h:42
pastix_layout_e
pastix_layout_e
Direction of the matrix storage.
Definition: api.h:413
IPARM_SPLITTING_PROJECTIONS_WIDTH
@ IPARM_SPLITTING_PROJECTIONS_WIDTH
Definition: api.h:85
PastixTaskOrdering
@ PastixTaskOrdering
Definition: api.h:186
IPARM_SPLITTING_PROJECTIONS_DISTANCE
@ IPARM_SPLITTING_PROJECTIONS_DISTANCE
Definition: api.h:84
DPARM_ORDER_TIME
@ DPARM_ORDER_TIME
Definition: api.h:157
pastix_task_t
enum pastix_task_e pastix_task_t
Main steps for the pastix() interface.
IPARM_VERBOSE
@ IPARM_VERBOSE
Definition: api.h:36
pastix_iparm_t
BEGIN_C_DECLS enum pastix_iparm_e pastix_iparm_t
Integer parameters.
PastixIONo
@ PastixIONo
Definition: api.h:216
PastixFactLU
@ PastixFactLU
Definition: api.h:302
PastixMpiThreadSerialized
@ PastixMpiThreadSerialized
Definition: api.h:336
IPARM_SPLITTING_LEVELS_KWAY
@ IPARM_SPLITTING_LEVELS_KWAY
Definition: api.h:82
DPARM_ANALYZE_TIME
@ DPARM_ANALYZE_TIME
Definition: api.h:161
PastixCompressOrthoPartialQR
@ PastixCompressOrthoPartialQR
Definition: api.h:386
IPARM_METIS_NO2HOP
@ IPARM_METIS_NO2HOP
Definition: api.h:63
IPARM_START_TASK
@ IPARM_START_TASK
Definition: api.h:140
PASTIX_ERR_INTERNAL
@ PASTIX_ERR_INTERNAL
Definition: api.h:350
PastixMpiThreadSingle
@ PastixMpiThreadSingle
Definition: api.h:334
PastixSplitNot
@ PastixSplitNot
Definition: api.h:393
IPARM_GMRES_IM
@ IPARM_GMRES_IM
Definition: api.h:113
PastixOrderScotch
@ PastixOrderScotch
Definition: api.h:322
DPARM_BLEND_TIME
@ DPARM_BLEND_TIME
Definition: api.h:160
pastix_split_e
pastix_split_e
Splitting strategy available for IPARM_SPLITTING_STRATEGY parameter.
Definition: api.h:392
pastix_fact_mode_e
pastix_fact_mode_e
Factorization Schur modes.
Definition: api.h:230
pastix_mtxtype_t
enum pastix_mtxtype_e pastix_mtxtype_t
Matrix symmetry type property.
PastixFactPXTRF
@ PastixFactPXTRF
Definition: api.h:298
IPARM_INCOMPLETE
@ IPARM_INCOMPLETE
Definition: api.h:95
PastixOrderParMetis
@ PastixOrderParMetis
Definition: api.h:326
pastix_dir_e
pastix_dir_e
Direction.
Definition: api.h:488
IPARM_METIS_CCORDER
@ IPARM_METIS_CCORDER
Definition: api.h:68
IPARM_TASKS2D_LEVEL
@ IPARM_TASKS2D_LEVEL
Definition: api.h:90
PASTIX_ERR_ALLOC
@ PASTIX_ERR_ALLOC
Definition: api.h:346
IPARM_DOF_NBR
@ IPARM_DOF_NBR
Definition: api.h:144
IPARM_METIS_NSEPS
@ IPARM_METIS_NSEPS
Definition: api.h:64
DPARM_FACT_RLFLOPS
@ DPARM_FACT_RLFLOPS
Definition: api.h:166
PastixMaxNorm
@ PastixMaxNorm
Definition: api.h:482
IPARM_REORDERING_SPLIT
@ IPARM_REORDERING_SPLIT
Definition: api.h:78
PastixIOLoad
@ PastixIOLoad
Definition: api.h:217
IPARM_METIS_CTYPE
@ IPARM_METIS_CTYPE
Definition: api.h:61
IPARM_METIS_NITER
@ IPARM_METIS_NITER
Definition: api.h:65
PastixOrderPtScotch
@ PastixOrderPtScotch
Definition: api.h:325
PastixSchedStatic
@ PastixSchedStatic
Definition: api.h:312
pastix_diag_e
pastix_diag_e
Diagonal.
Definition: api.h:462
DPARM_EPSILON_MAGN_CTRL
@ DPARM_EPSILON_MAGN_CTRL
Definition: api.h:156
PASTIX_ERR_THREAD
@ PASTIX_ERR_THREAD
Definition: api.h:349
PastixSchedStarPU
@ PastixSchedStarPU
Definition: api.h:314
pastix_iparm_e
pastix_iparm_e
Integer parameters.
Definition: api.h:35
IPARM_IO_STRATEGY
@ IPARM_IO_STRATEGY
Definition: api.h:37
PastixSplitKwayProjections
@ PastixSplitKwayProjections
Definition: api.h:395
PastixLeft
@ PastixLeft
Definition: api.h:471
PASTIX_ERR_BADPARAMETER
@ PASTIX_ERR_BADPARAMETER
Definition: api.h:351
IPARM_AUTOSPLIT_COMM
@ IPARM_AUTOSPLIT_COMM
Definition: api.h:118
pastix_side_t
enum pastix_side_e pastix_side_t
Side of the operation.
IPARM_REFINEMENT
@ IPARM_REFINEMENT
Definition: api.h:110
PastixUpperLower
@ PastixUpperLower
Definition: api.h:444
IPARM_SCOTCH_MT
@ IPARM_SCOTCH_MT
Definition: api.h:54
PastixFactLDLH
@ PastixFactLDLH
Definition: api.h:304
IPARM_FACTORIZATION
@ IPARM_FACTORIZATION
Definition: api.h:99
PastixSchedDynamic
@ PastixSchedDynamic
Definition: api.h:315
PastixVerboseYes
@ PastixVerboseYes
Definition: api.h:209
PastixRight
@ PastixRight
Definition: api.h:472
PastixCompressMethodSVD
@ PastixCompressMethodSVD
Definition: api.h:372
pastix_compress_when_t
enum pastix_compress_when_e pastix_compress_when_t
Compression strategy available for IPARM_COMPRESS_WHEN parameter.
IPARM_COMPRESS_PRESELECT
@ IPARM_COMPRESS_PRESELECT
Definition: api.h:132
PastixSymmetric
@ PastixSymmetric
Definition: api.h:434
pastix_ordering_t
enum pastix_ordering_e pastix_ordering_t
Ordering strategy.