|
#include <Solver.hpp>
Public Types | |
enum | { NUMTMP_ = 100 } |
enum | { NUMTMP_BICGSTAB2 = 11 } |
number of auxiliary vectors required by BICGSTAB2. | |
enum | { NUMTMP_CG = 4 } |
number of auxiliary vectors required by CG. | |
Public Methods | |
Solver () | |
default constructor. | |
int | BiCGSTAB2 (I *X, I *RHS) |
BiCGStab2 solver, returns number of iterations. | |
Public Attributes | |
Operator<I,DIM>* | Op |
the operator, default NULL. | |
bool (* | StopCriterion )(double currentresidual, double startresidual, double stopvalue) |
pointer to a function which checks whether to stop the iteration or not. Up to now there are: StoppingCriterionAbsoluteResidual(double res, double , double eps): res<=eps ? StoppingCriterionRelativeResidual(double res, double startres , double eps): res<=eps * startres ? You must set a stopping criterion before you can use one of the solvers! | |
double | eps |
stop value for StopCriterion, default 1e-15. | |
int | maxiter |
max number of iterations , default 1000. | |
int | restart |
enforce restart after <restart> iterations, default MAXINT. | |
char* | |
if !=NULL output each <prstep>-th iteration the iteration count, residual and some other informations, default NULL. | |
int | prstep |
see above, default 10. | |
I* | Tmp [NUMTMP_] |
for auxiliary vectors. | |
double | startresidual |
the solvers store some status information like startresidual. | |
double | finalresidual |
finalresidual. | |
int | iterations |
number of iterations. |