Flexible GMRES from ITSOL developed by Yousef Saad.
More...
|
void | cdotc_ (complex *, int *, complex[], int *, complex[], int *) |
|
float | scnrm2_ (int *, complex[], int *) |
|
int | cfgmr (int n, void(*cmatvec)(complex, complex[], complex, complex[]), void(*cpsolve)(int, complex[], complex[]), complex *rhs, complex *sol, double tol, int im, int *itmax, FILE *fits) |
| Simple version of the ARMS preconditioned FGMRES algorithm. More...
|
|
◆ epsmac
◆ cdotc_()
◆ cfgmr()
int cfgmr |
( |
int |
n, |
|
|
void(*)(complex, complex[], complex, complex[]) |
cmatvec, |
|
|
void(*)(int, complex[], complex[]) |
cpsolve, |
|
|
complex * |
rhs, |
|
|
complex * |
sol, |
|
|
double |
tol, |
|
|
int |
im, |
|
|
int * |
itmax, |
|
|
FILE * |
fits |
|
) |
| |
Y. S. Dec. 2000. – Apr. 2008
internal work arrays: vv = work array of length [im+1][n] (used to store the Arnoldi basis) hh = work array of length [im][im+1] (Householder matrix) z = work array of length [im][n] to store preconditioned vectors
- Parameters
-
[in] | n | Dimension of vectors and matrices. |
[in] | cmatvec | Operation for matrix-vector multiplication. |
[in] | cpsolve | (right) preconditioning operation. Can be a NULL pointer (GMRES without preconditioner) |
[in] | rhs | Real vector of length n containing the right hand side. |
[in,out] | sol | In: Real vector of length n containing an initial guess to the solution on input. Out: Contains an approximate solution (upon successful return). |
[in] | tol | Tolerance for stopping iteration |
[in] | im | Krylov subspace dimension |
[in,out] | itmax | In: max number of iterations allowed. Out: number of steps required to converge. |
[in] | fits | If NULL, no output. If not NULL, file handle to output "resid vs time and its". |
- Returns
- Whether the algorithm finished successfully.
◆ scnrm2_()
float scnrm2_ |
( |
int * |
, |
|
|
complex |
[], |
|
|
int * |
|
|
) |
| |