Header file for Krylov subspace methods. More...


Go to the source code of this file.
Macros | |
| #define | eps 2.22e-16 |
Functions | |
| ucfd_status_t | serial_gmres (sparse_matrix_t op, ucfd_precon_type_t precon_type, int bn, int block, int m, int *iter, double tol, int *row_ptr, int *col_ind, int *diag_ind, double *precon_nnz_data, double *x, double *b, double *H, double *V, double *g, double *y, double *w, double *r) |
| Serial GMRES routine. More... | |
| ucfd_status_t | step_gmres (sparse_matrix_t op, ucfd_precon_solve psolve, const struct matrix_descr descr, int bn, int m, int *flag, int *row_ptr, int *col_ind, int *diag_ind, double *precon_nnz_data, double *x, double *b, double *H, double *V, double *g, double *y, double *w, double *r) |
| Single GMRES iteration routine. More... | |
| ucfd_status_t | serial_bicgstab (sparse_matrix_t op, ucfd_precon_type_t precon_type, int bn, int *iter, double tol, int *row_ptr, int *col_ind, int *diag_ind, double *precon_nnz_data, double *x, double *b, double *r, double *p, double *v, double *s, double *t) |
| Serial BiCGstab routine. More... | |
Header file for Krylov subspace methods.
Definition in file krylov.h.
| ucfd_status_t serial_bicgstab | ( | sparse_matrix_t | op, |
| ucfd_precon_type_t | precon_type, | ||
| int | bn, | ||
| int * | iter, | ||
| double | tol, | ||
| int * | row_ptr, | ||
| int * | col_ind, | ||
| int * | diag_ind, | ||
| double * | precon_nnz_data, | ||
| double * | x, | ||
| double * | b, | ||
| double * | r, | ||
| double * | p, | ||
| double * | v, | ||
| double * | s, | ||
| double * | t | ||
| ) |
Serial BiCGstab routine.
| op | Intel MKL sparse matrix handler (System matrix) |
| precon_type | Preconditioner type |
| bn | Number of element cells (= Number of block rows) |
| block | Block size of BSR matrix (= Size of blocks) |
| iter | Maximum iteration number |
| tol | Tolerence of convergence |
| row_ptr | Row-directional index pointer array of the matrix |
| col_ind | Column index array of the matrix |
| diag_ind | Diagonal matrix index array based on row_ptr |
| precon_nnz_data | Non-zero value array of the preconditioner matrix |
| x | Solution array |
| b | Right-hand-side array |
| r | Residual array |
| p |
Overall process of BiCGstab routine. Outer iteration ends when solution is converged or reached in maximum iteration number. UCFD_STATUS_CONVERGED is returned when L-2 norm of the residual vector becomes smaller than tol, and UCFD_STATUS_NOT_CONVERGED is returned when maximum iteration finished.
Definition at line 286 of file krylov.c.

| ucfd_status_t serial_gmres | ( | sparse_matrix_t | op, |
| ucfd_precon_type_t | precon_type, | ||
| int | bn, | ||
| int | block, | ||
| int | m, | ||
| int * | iter, | ||
| double | tol, | ||
| int * | row_ptr, | ||
| int * | col_ind, | ||
| int * | diag_ind, | ||
| double * | precon_nnz_data, | ||
| double * | x, | ||
| double * | b, | ||
| double * | H, | ||
| double * | V, | ||
| double * | g, | ||
| double * | y, | ||
| double * | w, | ||
| double * | r | ||
| ) |
Serial GMRES routine.
| op | Intel MKL sparse matrix handler (System matrix) |
| precon_type | Preconditioner type |
| bn | Number of element cells (= Number of block rows) |
| block | Block size of BSR matrix (= Size of blocks) |
| m | Restart number |
| iter | Maximum iteration number |
| tol | Tolerence of convergence |
| row_ptr | Row-directional index pointer array of the matrix |
| col_ind | Column index array of the matrix |
| diag_ind | Diagonal matrix index array based on row_ptr |
| precon_nnz_data | Non-zero value array of the preconditioner matrix |
| x | Solution array |
| b | Right-hand-side array |
| H | Upper Hessenberg matrix |
| V | Orthogonal matrix |
| g | Givens rotation prameters |
| y | Least squares array for argmin(||beta - Hy||) |
| w | Arnoldi iteration array |
| r | Residual array |
Overall process of GMRES routine. Outer iteration ends when solution is converged or reached in maximum iteration number. UCFD_STATUS_CONVERGED is returned when L-2 norm of the residual vector becomes smaller than tol, and UCFD_STATUS_NOT_CONVERGED is returned when maximum iteration finished.
Definition at line 46 of file krylov.c.

| ucfd_status_t step_gmres | ( | sparse_matrix_t | op, |
| ucfd_precon_solve | psolve, | ||
| const struct matrix_descr | descr, | ||
| int | bn, | ||
| int | m, | ||
| int * | flag, | ||
| int * | row_ptr, | ||
| int * | col_ind, | ||
| int * | diag_ind, | ||
| double * | precon_nnz_data, | ||
| double * | x, | ||
| double * | b, | ||
| double * | H, | ||
| double * | V, | ||
| double * | g, | ||
| double * | y, | ||
| double * | w, | ||
| double * | r | ||
| ) |
Single GMRES iteration routine.
| op | Intel MKL sparse matrix handler (System matrix) |
| precon_type | Preconditioner type |
| bn | Number of element cells (= Number of block rows) |
| block | Block size of BSR matrix (= Size of blocks) |
| m | Restart number |
| row_ptr | Row-directional index pointer array of the matrix |
| col_ind | Column index array of the matrix |
| diag_ind | Diagonal matrix index array based on row_ptr |
| precon_nnz_data | Non-zero value array of the preconditioner matrix |
| x | Solution array |
| b | Right-hand-side array |
| H | Upper Hessenberg matrix |
| V | Orthogonal matrix |
| g | Givens rotation prameters |
| y | Least squares array for argmin(||beta - Hy||) |
| w | Arnoldi iteration array |
| r | Residual array |
Single iteration of GMRES.
r must be initialized, r := b - A @ x.