53 #ifndef AMESOS2_SUPERLU_FUNCTIONMAP_HPP 54 #define AMESOS2_SUPERLU_FUNCTIONMAP_HPP 56 #ifdef HAVE_TEUCHOS_COMPLEX 78 #include "supermatrix.h" 83 sgssvx(SLU::superlu_options_t *, SLU::SuperMatrix *,
int *,
int *,
int *,
84 char *,
float *,
float *, SLU::SuperMatrix *, SLU::SuperMatrix *,
85 void *,
int, SLU::SuperMatrix *, SLU::SuperMatrix *,
86 float *,
float *,
float *,
float *,
87 SLU::mem_usage_t *, SLU::SuperLUStat_t *,
int *);
89 sgstrf (SLU::superlu_options_t*, SLU::SuperMatrix*,
90 int,
int,
int*,
void *,
int,
int *,
int *,
91 SLU::SuperMatrix *, SLU::SuperMatrix *, SLU::SuperLUStat_t*,
int *);
93 sgsisx(SLU::superlu_options_t *, SLU::SuperMatrix *,
int *,
int *,
int *,
94 char *,
float *,
float *, SLU::SuperMatrix *, SLU::SuperMatrix *,
95 void *,
int, SLU::SuperMatrix *, SLU::SuperMatrix *,
96 float *,
float *, SLU::mem_usage_t *, SLU::SuperLUStat_t *,
int *);
98 sgsitrf (SLU::superlu_options_t*, SLU::SuperMatrix*,
99 int,
int,
int*,
void *,
int,
int *,
int *,
100 SLU::SuperMatrix *, SLU::SuperMatrix *, SLU::SuperLUStat_t*,
int *);
102 sCreate_CompCol_Matrix(SLU::SuperMatrix *,
int,
int,
int,
float *,
103 int *,
int *, SLU::Stype_t, SLU::Dtype_t, SLU::Mtype_t);
105 sCreate_CompRow_Matrix(SLU::SuperMatrix *,
int,
int,
int,
float *,
106 int *,
int *, SLU::Stype_t, SLU::Dtype_t, SLU::Mtype_t);
108 sCreate_Dense_Matrix(SLU::SuperMatrix *,
int,
int,
float *,
int,
109 SLU::Stype_t, SLU::Dtype_t, SLU::Mtype_t);
112 sgsequ (SLU::SuperMatrix *,
float *,
float *,
float *,
113 float *,
float *,
int *);
116 slaqgs (SLU::SuperMatrix *,
float *,
float *,
float,
117 float,
float,
char *);
124 dgssvx(SLU::superlu_options_t *, SLU::SuperMatrix *,
int *,
int *,
int *,
125 char *,
double *,
double *, SLU::SuperMatrix *, SLU::SuperMatrix *,
126 void *,
int, SLU::SuperMatrix *, SLU::SuperMatrix *,
127 double *,
double *,
double *,
double *,
128 SLU::mem_usage_t *, SLU::SuperLUStat_t *,
int *);
130 dgstrf (SLU::superlu_options_t*, SLU::SuperMatrix*,
131 int,
int,
int*,
void *,
int,
int *,
int *,
132 SLU::SuperMatrix *, SLU::SuperMatrix *, SLU::SuperLUStat_t*,
int *);
134 dgsisx(SLU::superlu_options_t *, SLU::SuperMatrix *,
int *,
int *,
int *,
135 char *,
double *,
double *, SLU::SuperMatrix *, SLU::SuperMatrix *,
136 void *,
int, SLU::SuperMatrix *, SLU::SuperMatrix *,
137 double *,
double *, SLU::mem_usage_t *, SLU::SuperLUStat_t *,
int *);
139 dgsitrf (SLU::superlu_options_t*, SLU::SuperMatrix*,
140 int,
int,
int*,
void *,
int,
int *,
int *,
141 SLU::SuperMatrix *, SLU::SuperMatrix *, SLU::SuperLUStat_t*,
int *);
143 dCreate_CompCol_Matrix(SLU::SuperMatrix *,
int,
int,
int,
double *,
144 int *,
int *, SLU::Stype_t, SLU::Dtype_t, SLU::Mtype_t);
146 dCreate_CompRow_Matrix(SLU::SuperMatrix *,
int,
int,
int,
double *,
147 int *,
int *, SLU::Stype_t, SLU::Dtype_t, SLU::Mtype_t);
149 dCreate_Dense_Matrix(SLU::SuperMatrix *,
int,
int,
double *,
int,
150 SLU::Stype_t, SLU::Dtype_t, SLU::Mtype_t);
153 dlaqgs (SLU::SuperMatrix *,
double *,
double *,
double,
154 double,
double,
char *);
157 dgsequ (SLU::SuperMatrix *,
double *,
double *,
double *,
158 double *,
double *,
int *);
163 #ifdef HAVE_TEUCHOS_COMPLEX 166 cgssvx(SLU::superlu_options_t *, SLU::SuperMatrix *,
int *,
int *,
int *,
167 char *,
float *,
float *, SLU::SuperMatrix *, SLU::SuperMatrix *,
168 void *,
int, SLU::SuperMatrix *, SLU::SuperMatrix *,
169 float *,
float *,
float *,
float *,
170 SLU::mem_usage_t *, SLU::SuperLUStat_t *,
int *);
172 cgstrf (SLU::superlu_options_t*, SLU::SuperMatrix*,
173 int,
int,
int*,
void *,
int,
int *,
int *,
174 SLU::SuperMatrix *, SLU::SuperMatrix *, SLU::SuperLUStat_t*,
int *);
176 cgsisx(SLU::superlu_options_t *, SLU::SuperMatrix *,
int *,
int *,
int *,
177 char *,
float *,
float *, SLU::SuperMatrix *, SLU::SuperMatrix *,
178 void *,
int, SLU::SuperMatrix *, SLU::SuperMatrix *,
179 float *,
float *, SLU::mem_usage_t *, SLU::SuperLUStat_t *,
int *);
181 cgsitrf (SLU::superlu_options_t*, SLU::SuperMatrix*,
182 int,
int,
int*,
void *,
int,
int *,
int *,
183 SLU::SuperMatrix *, SLU::SuperMatrix *, SLU::SuperLUStat_t*,
int *);
185 cCreate_CompCol_Matrix(SLU::SuperMatrix *,
int,
int,
int, complex *,
186 int *,
int *, SLU::Stype_t, SLU::Dtype_t, SLU::Mtype_t);
188 cCreate_CompRow_Matrix(SLU::SuperMatrix *,
int,
int,
int, complex *,
189 int *,
int *, SLU::Stype_t, SLU::Dtype_t, SLU::Mtype_t);
191 cCreate_Dense_Matrix(SLU::SuperMatrix *,
int,
int, complex *,
int,
192 SLU::Stype_t, SLU::Dtype_t, SLU::Mtype_t);
195 cgsequ (SLU::SuperMatrix *,
float *,
float *,
float *,
196 float *,
float *,
int *);
199 claqgs (SLU::SuperMatrix *,
float *,
float *,
float,
200 float,
float,
char *);
207 zgssvx(SLU::superlu_options_t *, SLU::SuperMatrix *,
int *,
int *,
int *,
208 char *,
double *,
double *, SLU::SuperMatrix *, SLU::SuperMatrix *,
209 void *,
int, SLU::SuperMatrix *, SLU::SuperMatrix *,
210 double *,
double *,
double *,
double *,
211 SLU::mem_usage_t *, SLU::SuperLUStat_t *,
int *);
213 zgstrf (SLU::superlu_options_t*, SLU::SuperMatrix*,
214 int,
int,
int*,
void *,
int,
int *,
int *,
215 SLU::SuperMatrix *, SLU::SuperMatrix *, SLU::SuperLUStat_t*,
int *);
217 zgsisx(SLU::superlu_options_t *, SLU::SuperMatrix *,
int *,
int *,
int *,
218 char *,
double *,
double *, SLU::SuperMatrix *, SLU::SuperMatrix *,
219 void *,
int, SLU::SuperMatrix *, SLU::SuperMatrix *,
220 double *,
double *, SLU::mem_usage_t *, SLU::SuperLUStat_t *,
int *);
222 zgsitrf (SLU::superlu_options_t*, SLU::SuperMatrix*,
223 int,
int,
int*,
void *,
int,
int *,
int *,
224 SLU::SuperMatrix *, SLU::SuperMatrix *, SLU::SuperLUStat_t*,
int *);
226 zCreate_CompCol_Matrix(SLU::SuperMatrix *,
int,
int,
int, doublecomplex *,
227 int *,
int *, SLU::Stype_t, SLU::Dtype_t, SLU::Mtype_t);
229 zCreate_CompRow_Matrix(SLU::SuperMatrix *,
int,
int,
int, doublecomplex *,
230 int *,
int *, SLU::Stype_t, SLU::Dtype_t, SLU::Mtype_t);
232 zCreate_Dense_Matrix(SLU::SuperMatrix *,
int,
int, doublecomplex *,
int,
233 SLU::Stype_t, SLU::Dtype_t, SLU::Mtype_t);
236 zgsequ (SLU::SuperMatrix *,
double *,
double *,
double *,
237 double *,
double *,
int *);
240 zlaqgs (SLU::SuperMatrix *,
double *,
double *,
double,
241 double,
double,
char *);
245 #endif // HAVE_TEUCHOS_COMPLEX 283 struct FunctionMap<Superlu,float>
285 typedef TypeMap<Superlu,float> type_map;
290 static void gssvx(SLU::superlu_options_t* options, SLU::SuperMatrix* A,
291 int* perm_c,
int* perm_r,
int* etree,
char* equed,
float* R,
float* C,
292 SLU::SuperMatrix* L, SLU::SuperMatrix* U,
void* work,
int lwork,
293 SLU::SuperMatrix* B, SLU::SuperMatrix* X,
float* recip_pivot_growth,
294 float* rcond,
float* ferr,
float* berr, SLU::mem_usage_t* mem_usage,
295 SLU::SuperLUStat_t* stat,
int* info)
297 SLU::S::sgssvx(options, A, perm_c, perm_r, etree, equed, R, C, L, U, work,
298 lwork, B, X, recip_pivot_growth, rcond, ferr, berr, mem_usage, stat, info);
301 static void gsisx(SLU::superlu_options_t* options, SLU::SuperMatrix* A,
302 int* perm_c,
int* perm_r,
int* etree,
char* equed,
float* R,
float* C,
303 SLU::SuperMatrix* L, SLU::SuperMatrix* U,
void* work,
int lwork,
304 SLU::SuperMatrix* B, SLU::SuperMatrix* X,
float* recip_pivot_growth,
305 float* rcond, SLU::mem_usage_t* mem_usage,
306 SLU::SuperLUStat_t* stat,
int* info)
308 SLU::S::sgsisx(options, A, perm_c, perm_r, etree, equed, R, C, L, U, work,
309 lwork, B, X, recip_pivot_growth, rcond, mem_usage, stat, info);
331 static void gstrf(SLU::superlu_options_t* options, SLU::SuperMatrix* AC,
332 int relax,
int panel_size,
int* etree,
void* work,
333 int lwork,
int* perm_c,
int* perm_r, SLU::SuperMatrix* L,
334 SLU::SuperMatrix* U, SLU::SuperLUStat_t* stat,
int* info)
336 SLU::S::sgstrf(options, AC, relax, panel_size, etree,
337 work, lwork, perm_c, perm_r, L, U, stat, info);
340 static void gsitrf(SLU::superlu_options_t* options, SLU::SuperMatrix* AC,
341 int relax,
int panel_size,
int* etree,
void* work,
342 int lwork,
int* perm_c,
int* perm_r, SLU::SuperMatrix* L,
343 SLU::SuperMatrix* U, SLU::SuperLUStat_t* stat,
int* info)
345 SLU::S::sgsitrf(options, AC, relax, panel_size, etree,
346 work, lwork, perm_c, perm_r, L, U, stat, info);
352 static void create_CompCol_Matrix(SLU::SuperMatrix* A,
int m,
int n,
353 int nnz, type_map::type* nzval,
int* rowind,
int* colptr,
354 SLU::Stype_t stype, SLU::Dtype_t dtype, SLU::Mtype_t mtype)
356 SLU::S::sCreate_CompCol_Matrix(A, m, n, nnz, nzval, rowind, colptr,
357 stype, dtype, mtype);
363 static void create_CompRow_Matrix(SLU::SuperMatrix* A,
int m,
int n,
364 int nnz, type_map::type* nzval,
int* rowind,
int* colptr,
365 SLU::Stype_t stype, SLU::Dtype_t dtype, SLU::Mtype_t mtype)
367 SLU::S::sCreate_CompRow_Matrix(A, m, n, nnz, nzval, rowind, colptr,
368 stype, dtype, mtype);
380 static void create_Dense_Matrix(SLU::SuperMatrix* X,
int m,
int n,
381 type_map::type* x,
int ldx, SLU::Stype_t stype,
382 SLU::Dtype_t dtype, SLU::Mtype_t mtype)
384 SLU::S::sCreate_Dense_Matrix(X, m, n, x, ldx, stype, dtype, mtype);
390 static void gsequ(SLU::SuperMatrix* A,
float* R,
float* C,
391 float* rowcnd,
float* colcnd,
float* amax,
int* info)
393 SLU::S::sgsequ(A, R, C, rowcnd, colcnd, amax, info);
410 static void laqgs(SLU::SuperMatrix* A,
float* R,
float* C,
411 float rowcnd,
float colcnd,
float amax,
char* equed)
413 SLU::S::slaqgs(A, R, C, rowcnd, colcnd, amax, equed);
419 struct FunctionMap<Superlu,double>
421 typedef TypeMap<Superlu,double> type_map;
423 static void gssvx(SLU::superlu_options_t* options, SLU::SuperMatrix* A,
424 int* perm_c,
int* perm_r,
int* etree,
char* equed,
double* R,
double* C,
425 SLU::SuperMatrix* L, SLU::SuperMatrix* U,
void* work,
int lwork,
426 SLU::SuperMatrix* B, SLU::SuperMatrix* X,
double* recip_pivot_growth,
427 double* rcond,
double* ferr,
double* berr, SLU::mem_usage_t* mem_usage,
428 SLU::SuperLUStat_t* stat,
int* info)
430 SLU::D::dgssvx(options, A, perm_c, perm_r, etree, equed, R, C, L, U, work,
431 lwork, B, X, recip_pivot_growth, rcond, ferr, berr, mem_usage, stat, info);
434 static void gstrf(SLU::superlu_options_t* options, SLU::SuperMatrix* AC,
435 int relax,
int panel_size,
int* etree,
void* work,
int lwork,
int* perm_c,
436 int* perm_r, SLU::SuperMatrix* L, SLU::SuperMatrix* U,
437 SLU::SuperLUStat_t* stat,
int* info)
439 SLU::D::dgstrf(options, AC, relax, panel_size, etree,
440 work, lwork, perm_c, perm_r, L, U, stat, info);
443 static void gsisx(SLU::superlu_options_t* options, SLU::SuperMatrix* A,
444 int* perm_c,
int* perm_r,
int* etree,
char* equed,
double* R,
double* C,
445 SLU::SuperMatrix* L, SLU::SuperMatrix* U,
void* work,
int lwork,
446 SLU::SuperMatrix* B, SLU::SuperMatrix* X,
double* recip_pivot_growth,
447 double* rcond, SLU::mem_usage_t* mem_usage,
448 SLU::SuperLUStat_t* stat,
int* info)
450 SLU::D::dgsisx(options, A, perm_c, perm_r, etree, equed, R, C, L, U, work,
451 lwork, B, X, recip_pivot_growth, rcond, mem_usage, stat, info);
454 static void gsitrf(SLU::superlu_options_t* options, SLU::SuperMatrix* AC,
455 int relax,
int panel_size,
int* etree,
void* work,
int lwork,
int* perm_c,
456 int* perm_r, SLU::SuperMatrix* L, SLU::SuperMatrix* U,
457 SLU::SuperLUStat_t* stat,
int* info)
459 SLU::D::dgsitrf(options, AC, relax, panel_size, etree,
460 work, lwork, perm_c, perm_r, L, U, stat, info);
463 static void create_CompCol_Matrix(SLU::SuperMatrix* A,
int m,
int n,
464 int nnz, type_map::type* nzval,
int* rowind,
int* colptr,
465 SLU::Stype_t stype, SLU::Dtype_t dtype, SLU::Mtype_t mtype)
467 SLU::D::dCreate_CompCol_Matrix(A, m, n, nnz, nzval, rowind, colptr,
468 stype, dtype, mtype);
471 static void create_CompRow_Matrix(SLU::SuperMatrix* A,
int m,
int n,
472 int nnz, type_map::type* nzval,
int* rowind,
int* colptr,
473 SLU::Stype_t stype, SLU::Dtype_t dtype, SLU::Mtype_t mtype)
475 SLU::D::dCreate_CompRow_Matrix(A, m, n, nnz, nzval, rowind, colptr,
476 stype, dtype, mtype);
479 static void create_Dense_Matrix(SLU::SuperMatrix* X,
int m,
480 int n, type_map::type* x,
int ldx, SLU::Stype_t stype,
481 SLU::Dtype_t dtype, SLU::Mtype_t mtype)
483 SLU::D::dCreate_Dense_Matrix(X, m, n, x, ldx, stype, dtype, mtype);
486 static void gsequ(SLU::SuperMatrix* A,
double* R,
double* C,
487 double* rowcnd,
double* colcnd,
double* amax,
int* info)
489 SLU::D::dgsequ(A, R, C, rowcnd, colcnd, amax, info);
492 static void laqgs(SLU::SuperMatrix* A,
double* R,
double* C,
493 double rowcnd,
double colcnd,
double amax,
char* equed)
495 SLU::D::dlaqgs(A, R, C, rowcnd, colcnd, amax, equed);
501 #ifdef HAVE_TEUCHOS_COMPLEX 507 struct FunctionMap<Superlu,
SLU::C::complex>
509 static void gssvx(SLU::superlu_options_t* options, SLU::SuperMatrix* A,
510 int* perm_c,
int* perm_r,
int* etree,
char* equed,
float* R,
float* C,
511 SLU::SuperMatrix* L, SLU::SuperMatrix* U,
void* work,
int lwork,
512 SLU::SuperMatrix* B, SLU::SuperMatrix* X,
float* recip_pivot_growth,
513 float* rcond,
float* ferr,
float* berr, SLU::mem_usage_t* mem_usage,
514 SLU::SuperLUStat_t* stat,
int* info)
516 SLU::C::cgssvx(options, A, perm_c, perm_r, etree, equed, R, C, L, U, work,
517 lwork, B, X, recip_pivot_growth, rcond, ferr, berr, mem_usage, stat, info);
520 static void gstrf(SLU::superlu_options_t* options, SLU::SuperMatrix* AC,
521 int relax,
int panel_size,
int* etree,
void* work,
int lwork,
int* perm_c,
522 int* perm_r, SLU::SuperMatrix* L, SLU::SuperMatrix* U,
523 SLU::SuperLUStat_t* stat,
int* info)
525 SLU::C::cgstrf(options, AC, relax, panel_size, etree,
526 work, lwork, perm_c, perm_r, L, U, stat, info);
529 static void gsisx(SLU::superlu_options_t* options, SLU::SuperMatrix* A,
530 int* perm_c,
int* perm_r,
int* etree,
char* equed,
float* R,
float* C,
531 SLU::SuperMatrix* L, SLU::SuperMatrix* U,
void* work,
int lwork,
532 SLU::SuperMatrix* B, SLU::SuperMatrix* X,
float* recip_pivot_growth,
533 float* rcond, SLU::mem_usage_t* mem_usage,
534 SLU::SuperLUStat_t* stat,
int* info)
536 SLU::C::cgsisx(options, A, perm_c, perm_r, etree, equed, R, C, L, U, work,
537 lwork, B, X, recip_pivot_growth, rcond, mem_usage, stat, info);
540 static void gsitrf(SLU::superlu_options_t* options, SLU::SuperMatrix* AC,
541 int relax,
int panel_size,
int* etree,
void* work,
int lwork,
int* perm_c,
542 int* perm_r, SLU::SuperMatrix* L, SLU::SuperMatrix* U,
543 SLU::SuperLUStat_t* stat,
int* info)
545 SLU::C::cgsitrf(options, AC, relax, panel_size, etree,
546 work, lwork, perm_c, perm_r, L, U, stat, info);
549 static void create_CompCol_Matrix(SLU::SuperMatrix* A,
int m,
int n,
int nnz,
550 SLU::C::complex* nzval,
int* rowind,
int* colptr,
551 SLU::Stype_t stype, SLU::Dtype_t dtype, SLU::Mtype_t mtype)
553 SLU::C::cCreate_CompCol_Matrix(A, m, n, nnz, nzval, rowind, colptr,
554 stype, dtype, mtype);
557 static void create_CompRow_Matrix(SLU::SuperMatrix* A,
int m,
int n,
int nnz,
558 SLU::C::complex* nzval,
int* rowind,
int* colptr,
559 SLU::Stype_t stype, SLU::Dtype_t dtype, SLU::Mtype_t mtype)
561 SLU::C::cCreate_CompRow_Matrix(A, m, n, nnz, nzval, rowind, colptr,
562 stype, dtype, mtype);
565 static void create_Dense_Matrix(SLU::SuperMatrix* X,
int m,
int n,
566 SLU::C::complex* x,
int ldx, SLU::Stype_t stype,
567 SLU::Dtype_t dtype, SLU::Mtype_t mtype)
569 SLU::C::cCreate_Dense_Matrix(X, m, n, x, ldx, stype, dtype, mtype);
572 static void gsequ(SLU::SuperMatrix* A,
float* R,
float* C,
573 float* rowcnd,
float* colcnd,
float* amax,
int* info)
575 SLU::C::cgsequ(A, R, C, rowcnd, colcnd, amax, info);
578 static void laqgs(SLU::SuperMatrix* A,
float* R,
float* C,
579 float rowcnd,
float colcnd,
float amax,
char* equed)
581 SLU::C::claqgs(A, R, C, rowcnd, colcnd, amax, equed);
587 struct FunctionMap<Superlu,
SLU::Z::doublecomplex>
589 static void gssvx(SLU::superlu_options_t* options, SLU::SuperMatrix* A,
590 int* perm_c,
int* perm_r,
int* etree,
char* equed,
double* R,
double* C,
591 SLU::SuperMatrix* L, SLU::SuperMatrix* U,
void* work,
int lwork,
592 SLU::SuperMatrix* B, SLU::SuperMatrix* X,
double* recip_pivot_growth,
593 double* rcond,
double* ferr,
double* berr, SLU::mem_usage_t* mem_usage,
594 SLU::SuperLUStat_t* stat,
int* info)
596 SLU::Z::zgssvx(options, A, perm_c, perm_r, etree, equed, R, C, L, U, work,
597 lwork, B, X, recip_pivot_growth, rcond, ferr, berr, mem_usage, stat, info);
600 static void gstrf(SLU::superlu_options_t* options, SLU::SuperMatrix* AC,
601 int relax,
int panel_size,
int* etree,
void* work,
int lwork,
int* perm_c,
602 int* perm_r, SLU::SuperMatrix* L, SLU::SuperMatrix* U,
603 SLU::SuperLUStat_t* stat,
int* info)
605 SLU::Z::zgstrf(options, AC, relax, panel_size, etree,
606 work, lwork, perm_c, perm_r, L, U, stat, info);
609 static void gsisx(SLU::superlu_options_t* options, SLU::SuperMatrix* A,
610 int* perm_c,
int* perm_r,
int* etree,
char* equed,
double* R,
double* C,
611 SLU::SuperMatrix* L, SLU::SuperMatrix* U,
void* work,
int lwork,
612 SLU::SuperMatrix* B, SLU::SuperMatrix* X,
double* recip_pivot_growth,
613 double* rcond, SLU::mem_usage_t* mem_usage,
614 SLU::SuperLUStat_t* stat,
int* info)
616 SLU::Z::zgsisx(options, A, perm_c, perm_r, etree, equed, R, C, L, U, work,
617 lwork, B, X, recip_pivot_growth, rcond, mem_usage, stat, info);
620 static void gsitrf(SLU::superlu_options_t* options, SLU::SuperMatrix* AC,
621 int relax,
int panel_size,
int* etree,
void* work,
int lwork,
int* perm_c,
622 int* perm_r, SLU::SuperMatrix* L, SLU::SuperMatrix* U,
623 SLU::SuperLUStat_t* stat,
int* info)
625 SLU::Z::zgsitrf(options, AC, relax, panel_size, etree,
626 work, lwork, perm_c, perm_r, L, U, stat, info);
629 static void create_CompCol_Matrix(SLU::SuperMatrix* A,
int m,
int n,
int nnz,
630 SLU::Z::doublecomplex* nzval,
int* rowind,
int* colptr,
631 SLU::Stype_t stype, SLU::Dtype_t dtype, SLU::Mtype_t mtype)
633 SLU::Z::zCreate_CompCol_Matrix(A, m, n, nnz, nzval, rowind, colptr,
634 stype, dtype, mtype);
636 TEUCHOS_TEST_FOR_EXCEPTION( A == NULL,
638 "Supermatrix A not initialized properly!");
642 static void create_CompRow_Matrix(SLU::SuperMatrix* A,
int m,
int n,
int nnz,
643 SLU::Z::doublecomplex* nzval,
int* rowind,
int* colptr,
644 SLU::Stype_t stype, SLU::Dtype_t dtype, SLU::Mtype_t mtype)
646 SLU::Z::zCreate_CompRow_Matrix(A, m, n, nnz, nzval, rowind, colptr,
647 stype, dtype, mtype);
649 TEUCHOS_TEST_FOR_EXCEPTION( A == NULL,
651 "Supermatrix A not initialized properly!");
654 static void create_Dense_Matrix(SLU::SuperMatrix* X,
int m,
int n,
655 SLU::Z::doublecomplex* x,
int ldx, SLU::Stype_t stype,
656 SLU::Dtype_t dtype, SLU::Mtype_t mtype)
658 SLU::Z::zCreate_Dense_Matrix(X, m, n, x, ldx, stype, dtype, mtype);
661 static void gsequ(SLU::SuperMatrix* A,
double* R,
double* C,
662 double* rowcnd,
double* colcnd,
double* amax,
int* info)
664 SLU::Z::zgsequ(A, R, C, rowcnd, colcnd, amax, info);
667 static void laqgs(SLU::SuperMatrix* A,
double* R,
double* C,
668 double rowcnd,
double colcnd,
double amax,
char* equed)
670 SLU::Z::zlaqgs(A, R, C, rowcnd, colcnd, amax, equed);
673 #endif // HAVE_TEUCHOS_COMPLEX 680 #endif // AMESOS2_SUPERLU_FUNCTIONMAP_HPP Declaration of Function mapping class for Amesos2.
Definition: Amesos2_AbstractConcreteMatrixAdapter.hpp:48
Provides definition of SuperLU types as well as conversions and type traits.
Definition: Amesos2_Superlu_FunctionMap.hpp:74