![]() |
SenK
SenK is a C++ library for high-performance linear solvers.
|
Contains solvers. More...
Functions | |
template<typename T > | |
void | Bicgstab (T *val, int *cind, int *rptr, T *b, T *x, T nrm_b, int max_iter, int N, T epsilon) |
Non-preconditioned BiCGStab solver. More... | |
template<typename T > | |
void | IluBicgstab (T *val, int *cind, int *rptr, T *lval, int *lcind, int *lrptr, T *uval, int *ucind, int *urptr, T *b, T *x, T nrm_b, int max_iter, int N, T epsilon) |
ILU preconditioned BiCGStab solver. More... | |
template<typename T , int bnl, int bnw> | |
void | IlubBicgstab (T *val, int *cind, int *rptr, T *blval, int *blcind, int *blrptr, T *buval, int *bucind, int *burptr, T *b, T *x, T nrm_b, int max_iter, int N, T epsilon) |
ILUB preconditioned BiCGStab solver. More... | |
template<typename T > | |
void | Gcrm (T *val, int *cind, int *rptr, T *b, T *x, T nrm_b, int outer, int m, int N, T epsilon) |
The Non-preconditioned GCR(m) solver. More... | |
template<typename T > | |
void | IluGcrm (T *val, int *cind, int *rptr, T *lval, int *lcind, int *lrptr, T *uval, int *ucind, int *urptr, T *b, T *x, T nrm_b, int outer, int m, int N, T epsilon) |
The ILU preconditioned GCR(m) solver. More... | |
template<typename T , int bnl, int bnw> | |
void | IlubGcrm (T *val, int *cind, int *rptr, T *blval, int *blcind, int *blrptr, T *buval, int *bucind, int *burptr, T *b, T *x, T nrm_b, int outer, int m, int N, T epsilon) |
The ILUB preconditioned GCR(m) solver. More... | |
template<typename T > | |
void | Gmresm (T *val, int *cind, int *rptr, T *b, T *x, T nrm_b, int outer, int m, int N, T epsilon) |
The Non-preconditioned GMRES(m) solver. More... | |
template<typename T , int bnl, int bnw> | |
void | Gmresm (T *bval, int *bcind, int *brptr, T *b, T *x, T nrm_b, int outer, int m, int N, T epsilon) |
The Non-preconditioned GMRES(m) solver. More... | |
template<typename T > | |
void | IluGmresm (T *val, int *cind, int *rptr, T *lval, int *lcind, int *lrptr, T *uval, int *ucind, int *urptr, T *b, T *x, T nrm_b, int outer, int m, int N, T epsilon) |
The ILU preconditioned GMRES(m) solver. More... | |
template<typename T > | |
void | AmcIluGmresm (T *val, int *cind, int *rptr, T *lval, int *lcind, int *lrptr, T *uval, int *ucind, int *urptr, int *cptr, int cnum, T *b, T *x, T nrm_b, int outer, int m, int N, T epsilon) |
The ILU preconditioned GMRES(m) solver parallelized by AMC ordering. More... | |
template<typename T > | |
void | AbmcIluGmresm (T *val, int *cind, int *rptr, T *lval, int *lcind, int *lrptr, T *uval, int *ucind, int *urptr, int *cptr, int cnum, int bsize, T *b, T *x, T nrm_b, int outer, int m, int N, T epsilon) |
The ILU preconditioned GMRES(m) solver parallelized by ABMC ordering. More... | |
template<typename T > | |
void | BjIluGmresm (T *val, int *cind, int *rptr, T *lval, int *lcind, int *lrptr, T *uval, int *ucind, int *urptr, int bnum, T *b, T *x, T nrm_b, int outer, int m, int N, T epsilon) |
The ILU preconditioned GMRES(m) solver parallelized by the block Jacobi method. More... | |
template<typename T , int bnl, int bnw> | |
void | IlubGmresm (T *val, int *cind, int *rptr, T *blval, int *blcind, int *blrptr, T *buval, int *bucind, int *burptr, T *b, T *x, T nrm_b, int outer, int m, int N, T epsilon) |
The ILUB preconditioned GMRES(m) solver. More... | |
template<typename T , int bnl, int bnw> | |
void | AbmcIlubGmresm (T *val, int *cind, int *rptr, T *blval, int *blcind, int *blrptr, T *buval, int *bucind, int *burptr, int *cptr, int cnum, int bsize, T *b, T *x, T nrm_b, int outer, int m, int N, T epsilon) |
The ILUB preconditioned GMRES(m) solver parallelized by ABMC ordering. More... | |
Contains solvers.
void senk::solver::AbmcIlubGmresm | ( | T * | val, |
int * | cind, | ||
int * | rptr, | ||
T * | blval, | ||
int * | blcind, | ||
int * | blrptr, | ||
T * | buval, | ||
int * | bucind, | ||
int * | burptr, | ||
int * | cptr, | ||
int | cnum, | ||
int | bsize, | ||
T * | b, | ||
T * | x, | ||
T | nrm_b, | ||
int | outer, | ||
int | m, | ||
int | N, | ||
T | epsilon | ||
) |
The ILUB preconditioned GMRES(m) solver parallelized by ABMC ordering.
T | The type of a coefficient matrix and vectors. |
val | val array of the CSR storage format. |
cind | column index array of the CSR storage format. |
rptr | row pointer array of the CSR storage format. |
blval | values of L in the BCSR format. |
blcind | colum positions of blocks of L in the BCSR format. |
blrptr | starting positions of row blocks of L in the BCSR format. |
buval | values of U in the BCSR format. |
bucind | colum positions of blocks of U in the BCSR format. |
burptr | starting positions of row blocks of U in the BCSR format. |
cptr | The starting index of each color is stored. |
cnum | The number of colors. |
bsize | The number of rows/columns of the blocks used in ABMC. |
b | A right-hand side vector. |
x | An unknown vector. |
nrm_b | The 2-norm of b. |
outer | The maximum number of iterations of outer loop. |
m | The number of the restart period. |
N | The size of the matrix and the vectors. |
epsilon | The convergence criterion. |
Definition at line 680 of file senk_gmres.hpp.
void senk::solver::AbmcIluGmresm | ( | T * | val, |
int * | cind, | ||
int * | rptr, | ||
T * | lval, | ||
int * | lcind, | ||
int * | lrptr, | ||
T * | uval, | ||
int * | ucind, | ||
int * | urptr, | ||
int * | cptr, | ||
int | cnum, | ||
int | bsize, | ||
T * | b, | ||
T * | x, | ||
T | nrm_b, | ||
int | outer, | ||
int | m, | ||
int | N, | ||
T | epsilon | ||
) |
The ILU preconditioned GMRES(m) solver parallelized by ABMC ordering.
T | The type of a coefficient matrix and vectors. |
val | val array of the CSR storage format. |
cind | column index array of the CSR storage format. |
rptr | row pointer array of the CSR storage format. |
lval | Same as val, but for the matrix L. |
lcind | Same as cind, but for the matrix L. |
lrptr | Same as rptr, but for the matrix L. |
uval | Same as val, but for the matrix U. |
ucind | Same as cind, but for the matrix U. |
urptr | Same as rptr, but for the matrix U. |
cptr | The starting index of each color is stored. |
cnum | The number of colors. |
bsize | The number of rows/columns of the blocks used in ABMC. |
b | A right-hand side vector. |
x | An unknown vector. |
nrm_b | The 2-norm of b. |
outer | The maximum number of iterations of outer loop. |
m | The number of the restart period. |
N | The size of the matrix and the vectors. |
epsilon | The convergence criterion. |
Definition at line 392 of file senk_gmres.hpp.
void senk::solver::AmcIluGmresm | ( | T * | val, |
int * | cind, | ||
int * | rptr, | ||
T * | lval, | ||
int * | lcind, | ||
int * | lrptr, | ||
T * | uval, | ||
int * | ucind, | ||
int * | urptr, | ||
int * | cptr, | ||
int | cnum, | ||
T * | b, | ||
T * | x, | ||
T | nrm_b, | ||
int | outer, | ||
int | m, | ||
int | N, | ||
T | epsilon | ||
) |
The ILU preconditioned GMRES(m) solver parallelized by AMC ordering.
T | The type of a coefficient matrix and vectors. |
val | val array of the CSR storage format. |
cind | column index array of the CSR storage format. |
rptr | row pointer array of the CSR storage format. |
lval | Same as val, but for the matrix L. |
lcind | Same as cind, but for the matrix L. |
lrptr | Same as rptr, but for the matrix L. |
uval | Same as val, but for the matrix U. |
ucind | Same as cind, but for the matrix U. |
urptr | Same as rptr, but for the matrix U. |
cptr | The starting index of each color is stored. |
cnum | The number of colors. |
b | A right-hand side vector. |
x | An unknown vector. |
nrm_b | The 2-norm of b. |
outer | The maximum number of iterations of outer loop. |
m | The number of the restart period. |
N | The size of the matrix and the vectors. |
epsilon | The convergence criterion. |
Definition at line 294 of file senk_gmres.hpp.
void senk::solver::Bicgstab | ( | T * | val, |
int * | cind, | ||
int * | rptr, | ||
T * | b, | ||
T * | x, | ||
T | nrm_b, | ||
int | max_iter, | ||
int | N, | ||
T | epsilon | ||
) |
Non-preconditioned BiCGStab solver.
T | The type of a coefficient matrix and vectors. |
val | val array of the CSR storage format. |
cind | col-index array of the CSR storage format. |
rptr | row-ptr array of the CSR storage format. |
b | The right-hand side vector. |
x | The unknown vector. |
nrm_b | The 2-norm of b. |
max_iter | The maximum number of iterations. |
N | The size of the matrix and the vectors. |
epsilon | The convergence criterion. |
Definition at line 30 of file senk_bicgstab.hpp.
void senk::solver::BjIluGmresm | ( | T * | val, |
int * | cind, | ||
int * | rptr, | ||
T * | lval, | ||
int * | lcind, | ||
int * | lrptr, | ||
T * | uval, | ||
int * | ucind, | ||
int * | urptr, | ||
int | bnum, | ||
T * | b, | ||
T * | x, | ||
T | nrm_b, | ||
int | outer, | ||
int | m, | ||
int | N, | ||
T | epsilon | ||
) |
The ILU preconditioned GMRES(m) solver parallelized by the block Jacobi method.
T | The type of a coefficient matrix and vectors. |
val | val array of the CSR storage format. |
cind | column index array of the CSR storage format. |
rptr | row pointer array of the CSR storage format. |
lval | Same as val, but for the matrix L. |
lcind | Same as cind, but for the matrix L. |
lrptr | Same as rptr, but for the matrix L. |
uval | Same as val, but for the matrix U. |
ucind | Same as cind, but for the matrix U. |
urptr | Same as rptr, but for the matrix U. |
bnum | The number of blocks. |
b | A right-hand side vector. |
x | An unknown vector. |
nrm_b | The 2-norm of b. |
outer | The maximum number of iterations of outer loop. |
m | The number of the restart period. |
N | The size of the matrix and the vectors. |
epsilon | The convergence criterion. |
Definition at line 488 of file senk_gmres.hpp.
void senk::solver::Gcrm | ( | T * | val, |
int * | cind, | ||
int * | rptr, | ||
T * | b, | ||
T * | x, | ||
T | nrm_b, | ||
int | outer, | ||
int | m, | ||
int | N, | ||
T | epsilon | ||
) |
The Non-preconditioned GCR(m) solver.
T | The type of a coefficient matrix and vectors. |
val | val array of the CSR storage format. |
cind | column index array of the CSR storage format. |
rptr | row pointer array of the CSR storage format. |
b | A right-hand side vector. |
x | An unknown vector. |
nrm_b | The 2-norm of b. |
outer | The maximum number of iterations of outer loop. |
m | The number of the restart period. |
N | The size of the matrix and the vectors. |
epsilon | The convergence criterion. |
Definition at line 31 of file senk_gcr.hpp.
void senk::solver::Gmresm | ( | T * | bval, |
int * | bcind, | ||
int * | brptr, | ||
T * | b, | ||
T * | x, | ||
T | nrm_b, | ||
int | outer, | ||
int | m, | ||
int | N, | ||
T | epsilon | ||
) |
The Non-preconditioned GMRES(m) solver.
T | The type of a coefficient matrix and vectors. |
bnl | The number of rows of the block. |
bnw | The number of columns of the block. |
bval | val array of the BCSR storage format. |
bcind | column index array of the BCSR storage format. |
brptr | row pointer array of the BCSR storage format. |
b | A right-hand side vector. |
x | An unknown vector. |
nrm_b | The 2-norm of b. |
outer | The maximum number of iterations of outer loop. |
m | The number of the restart period. |
N | The size of the matrix and the vectors. |
epsilon | The convergence criterion. |
Definition at line 114 of file senk_gmres.hpp.
void senk::solver::Gmresm | ( | T * | val, |
int * | cind, | ||
int * | rptr, | ||
T * | b, | ||
T * | x, | ||
T | nrm_b, | ||
int | outer, | ||
int | m, | ||
int | N, | ||
T | epsilon | ||
) |
The Non-preconditioned GMRES(m) solver.
T | The type of a coefficient matrix and vectors. |
val | val array of the CSR storage format. |
cind | column index array of the CSR storage format. |
rptr | row pointer array of the CSR storage format. |
b | A right-hand side vector. |
x | An unknown vector. |
nrm_b | The 2-norm of b. |
outer | The maximum number of iterations of outer loop. |
m | The number of the restart period. |
N | The size of the matrix and the vectors. |
epsilon | The convergence criterion. |
Definition at line 34 of file senk_gmres.hpp.
void senk::solver::IlubBicgstab | ( | T * | val, |
int * | cind, | ||
int * | rptr, | ||
T * | blval, | ||
int * | blcind, | ||
int * | blrptr, | ||
T * | buval, | ||
int * | bucind, | ||
int * | burptr, | ||
T * | b, | ||
T * | x, | ||
T | nrm_b, | ||
int | max_iter, | ||
int | N, | ||
T | epsilon | ||
) |
ILUB preconditioned BiCGStab solver.
T | The type of a coefficient matrix and vectors. |
bnl | The number of rows of the block. |
bnw | The number of columns of the block. |
val | val array of the CSR storage format. |
cind | col-index array of the CSR storage format. |
rptr | row-ptr array of the CSR storage format. |
blval | values of L in the BCSR format. |
blcind | colum positions of blocks of L in the BCSR format. |
blrptr | starting positions of row blocks of L in the BCSR format. |
buval | values of U in the BCSR format. |
bucind | colum positions of blocks of U in the BCSR format. |
burptr | starting positions of row blocks of U in the BCSR format. |
b | The right-hand side vector. |
x | The unknown vector. |
nrm_b | The 2-norm of b. |
max_iter | The maximum number of iterations. |
N | The size of the matrix and the vectors. |
epsilon | The convergence criterion. |
Definition at line 199 of file senk_bicgstab.hpp.
void senk::solver::IlubGcrm | ( | T * | val, |
int * | cind, | ||
int * | rptr, | ||
T * | blval, | ||
int * | blcind, | ||
int * | blrptr, | ||
T * | buval, | ||
int * | bucind, | ||
int * | burptr, | ||
T * | b, | ||
T * | x, | ||
T | nrm_b, | ||
int | outer, | ||
int | m, | ||
int | N, | ||
T | epsilon | ||
) |
The ILUB preconditioned GCR(m) solver.
T | The type of a coefficient matrix and vectors. |
val | val array of the CSR storage format. |
cind | column index array of the CSR storage format. |
rptr | row pointer array of the CSR storage format. |
blval | values of L in the BCSR format. |
blcind | colum positions of blocks of L in the BCSR format. |
blrptr | starting positions of row blocks of L in the BCSR format. |
buval | values of U in the BCSR format. |
bucind | colum positions of blocks of U in the BCSR format. |
burptr | starting positions of row blocks of U in the BCSR format. |
b | A right-hand side vector. |
x | An unknown vector. |
nrm_b | The 2-norm of b. |
outer | The maximum number of iterations of outer loop. |
m | The number of the restart period. |
N | The size of the matrix and the vectors. |
epsilon | The convergence criterion. |
Definition at line 164 of file senk_gcr.hpp.
void senk::solver::IlubGmresm | ( | T * | val, |
int * | cind, | ||
int * | rptr, | ||
T * | blval, | ||
int * | blcind, | ||
int * | blrptr, | ||
T * | buval, | ||
int * | bucind, | ||
int * | burptr, | ||
T * | b, | ||
T * | x, | ||
T | nrm_b, | ||
int | outer, | ||
int | m, | ||
int | N, | ||
T | epsilon | ||
) |
The ILUB preconditioned GMRES(m) solver.
T | The type of a coefficient matrix and vectors. |
val | val array of the CSR storage format. |
cind | column index array of the CSR storage format. |
rptr | row pointer array of the CSR storage format. |
blval | values of L in the BCSR format. |
blcind | colum positions of blocks of L in the BCSR format. |
blrptr | starting positions of row blocks of L in the BCSR format. |
buval | values of U in the BCSR format. |
bucind | colum positions of blocks of U in the BCSR format. |
burptr | starting positions of row blocks of U in the BCSR format. |
b | A right-hand side vector. |
x | An unknown vector. |
nrm_b | The 2-norm of b. |
outer | The maximum number of iterations of outer loop. |
m | The number of the restart period. |
N | The size of the matrix and the vectors. |
epsilon | The convergence criterion. |
Definition at line 583 of file senk_gmres.hpp.
void senk::solver::IluBicgstab | ( | T * | val, |
int * | cind, | ||
int * | rptr, | ||
T * | lval, | ||
int * | lcind, | ||
int * | lrptr, | ||
T * | uval, | ||
int * | ucind, | ||
int * | urptr, | ||
T * | b, | ||
T * | x, | ||
T | nrm_b, | ||
int | max_iter, | ||
int | N, | ||
T | epsilon | ||
) |
ILU preconditioned BiCGStab solver.
T | The type of a coefficient matrix and vectors. |
val | val array of the CSR storage format. |
cind | col-index array of the CSR storage format. |
rptr | row-ptr array of the CSR storage format. |
lval | Same as val, but for the matrix L. |
lcind | Same as cind, but for the matrix L. |
lrptr | Same as rptr, but for the matrix L. |
uval | Same as val, but for the matrix U. |
ucind | Same as cind, but for the matrix U. |
urptr | Same as rptr, but for the matrix U. |
b | The right-hand side vector. |
x | The unknown vector. |
nrm_b | The 2-norm of b. |
max_iter | The maximum number of iterations. |
N | The size of the matrix and the vectors. |
epsilon | The convergence criterion. |
Definition at line 108 of file senk_bicgstab.hpp.
void senk::solver::IluGcrm | ( | T * | val, |
int * | cind, | ||
int * | rptr, | ||
T * | lval, | ||
int * | lcind, | ||
int * | lrptr, | ||
T * | uval, | ||
int * | ucind, | ||
int * | urptr, | ||
T * | b, | ||
T * | x, | ||
T | nrm_b, | ||
int | outer, | ||
int | m, | ||
int | N, | ||
T | epsilon | ||
) |
The ILU preconditioned GCR(m) solver.
T | The type of a coefficient matrix and vectors. |
val | val array of the CSR storage format. |
cind | column index array of the CSR storage format. |
rptr | row pointer array of the CSR storage format. |
lval | Same as val, but for the matrix L. |
lcind | Same as cind, but for the matrix L. |
lrptr | Same as rptr, but for the matrix L. |
uval | Same as val, but for the matrix U. |
ucind | Same as cind, but for the matrix U. |
urptr | Same as rptr, but for the matrix U. |
b | A right-hand side vector. |
x | An unknown vector. |
nrm_b | The 2-norm of b. |
outer | The maximum number of iterations of outer loop. |
m | The number of the restart period. |
N | The size of the matrix and the vectors. |
epsilon | The convergence criterion. |
Definition at line 94 of file senk_gcr.hpp.
void senk::solver::IluGmresm | ( | T * | val, |
int * | cind, | ||
int * | rptr, | ||
T * | lval, | ||
int * | lcind, | ||
int * | lrptr, | ||
T * | uval, | ||
int * | ucind, | ||
int * | urptr, | ||
T * | b, | ||
T * | x, | ||
T | nrm_b, | ||
int | outer, | ||
int | m, | ||
int | N, | ||
T | epsilon | ||
) |
The ILU preconditioned GMRES(m) solver.
T | The type of a coefficient matrix and vectors. |
val | val array of the CSR storage format. |
cind | column index array of the CSR storage format. |
rptr | row pointer array of the CSR storage format. |
lval | Same as val, but for the matrix L. |
lcind | Same as cind, but for the matrix L. |
lrptr | Same as rptr, but for the matrix L. |
uval | Same as val, but for the matrix U. |
ucind | Same as cind, but for the matrix U. |
urptr | Same as rptr, but for the matrix U. |
b | A right-hand side vector. |
x | An unknown vector. |
nrm_b | The 2-norm of b. |
outer | The maximum number of iterations of outer loop. |
m | The number of the restart period. |
N | The size of the matrix and the vectors. |
epsilon | The convergence criterion. |
Definition at line 198 of file senk_gmres.hpp.