|
Grid 0.7.0
|
#include <FlexibleGeneralisedMinimalResidual.h>
Public Member Functions | |
| FlexibleGeneralisedMinimalResidual (RealD tol, Integer maxit, LinearFunction< Field > &Prec, Integer restart_length, bool err_on_no_conv=true) | |
| void | operator() (LinearOperatorBase< Field > &LinOp, const Field &src, Field &psi) |
| RealD | outerLoopBody (LinearOperatorBase< Field > &LinOp, const Field &src, Field &psi, RealD rsq) |
| void | arnoldiStep (LinearOperatorBase< Field > &LinOp, std::vector< Field > &v, std::vector< Field > &z, Field &w, int iter) |
| void | qrUpdate (int iter) |
| void | computeSolution (std::vector< Field > const &z, Field &psi, int iter) |
| virtual void | operator() (LinearOperatorBase< Field > &Linop, const std::vector< Field > &in, std::vector< Field > &out) |
Data Fields | |
| bool | ErrorOnNoConverge |
| RealD | Tolerance |
| Integer | MaxIterations |
| Integer | RestartLength |
| Integer | MaxNumberOfRestarts |
| Integer | IterationCount |
| GridStopWatch | MatrixTimer |
| GridStopWatch | PrecTimer |
| GridStopWatch | LinalgTimer |
| GridStopWatch | QrTimer |
| GridStopWatch | CompSolutionTimer |
| Eigen::MatrixXcd | H |
| std::vector< ComplexD > | y |
| std::vector< ComplexD > | gamma |
| std::vector< ComplexD > | c |
| std::vector< ComplexD > | s |
| LinearFunction< Field > & | Preconditioner |
Definition at line 35 of file FlexibleGeneralisedMinimalResidual.h.
|
inline |
Definition at line 65 of file FlexibleGeneralisedMinimalResidual.h.
References c, ErrorOnNoConverge, gamma, H, MaxIterations, MaxNumberOfRestarts, Preconditioner, RestartLength, s, Tolerance, and y.
|
inlinevirtual |
Implements OperatorFunction< Field >.
Definition at line 82 of file FlexibleGeneralisedMinimalResidual.h.
References axpy(), CompSolutionTimer, conformable(), GridStopWatch::Elapsed(), ErrorOnNoConverge, GridLogIterative, GridLogMessage, IterationCount, LinalgTimer, MatrixTimer, MaxNumberOfRestarts, norm2(), LinearOperatorBase< Field >::Op(), outerLoopBody(), PrecTimer, QrTimer, sqrt(), GridStopWatch::Start(), GridStopWatch::Stop(), and Tolerance.
|
inline |
Definition at line 148 of file FlexibleGeneralisedMinimalResidual.h.
References arnoldiStep(), computeSolution(), gamma, GridLogIterative, IterationCount, LinalgTimer, MatrixTimer, MaxIterations, norm2(), LinearOperatorBase< Field >::Op(), qrUpdate(), RestartLength, and sqrt().
Referenced by operator()().
|
inline |
Definition at line 196 of file FlexibleGeneralisedMinimalResidual.h.
References H, innerProduct(), LinalgTimer, MatrixTimer, norm2(), LinearOperatorBase< Field >::Op(), Preconditioner, PrecTimer, and sqrt().
Referenced by outerLoopBody().
|
inline |
Definition at line 217 of file FlexibleGeneralisedMinimalResidual.h.
References c, conjugate(), gamma, H, QrTimer, s, and sqrt().
Referenced by outerLoopBody().
|
inline |
Definition at line 240 of file FlexibleGeneralisedMinimalResidual.h.
References CompSolutionTimer, gamma, H, and y.
Referenced by outerLoopBody().
|
inlinevirtualinherited |
Reimplemented in BlockConjugateGradient< Field >.
Definition at line 625 of file LinearOperator.h.
| bool Grid::FlexibleGeneralisedMinimalResidual< Field >::ErrorOnNoConverge |
Definition at line 39 of file FlexibleGeneralisedMinimalResidual.h.
Referenced by FlexibleGeneralisedMinimalResidual(), and operator()().
| RealD Grid::FlexibleGeneralisedMinimalResidual< Field >::Tolerance |
Definition at line 42 of file FlexibleGeneralisedMinimalResidual.h.
Referenced by FlexibleGeneralisedMinimalResidual(), and operator()().
| Integer Grid::FlexibleGeneralisedMinimalResidual< Field >::MaxIterations |
Definition at line 44 of file FlexibleGeneralisedMinimalResidual.h.
Referenced by FlexibleGeneralisedMinimalResidual(), and outerLoopBody().
| Integer Grid::FlexibleGeneralisedMinimalResidual< Field >::RestartLength |
Definition at line 45 of file FlexibleGeneralisedMinimalResidual.h.
Referenced by FlexibleGeneralisedMinimalResidual(), and outerLoopBody().
| Integer Grid::FlexibleGeneralisedMinimalResidual< Field >::MaxNumberOfRestarts |
Definition at line 46 of file FlexibleGeneralisedMinimalResidual.h.
Referenced by FlexibleGeneralisedMinimalResidual(), and operator()().
| Integer Grid::FlexibleGeneralisedMinimalResidual< Field >::IterationCount |
Definition at line 47 of file FlexibleGeneralisedMinimalResidual.h.
Referenced by operator()(), and outerLoopBody().
| GridStopWatch Grid::FlexibleGeneralisedMinimalResidual< Field >::MatrixTimer |
Definition at line 50 of file FlexibleGeneralisedMinimalResidual.h.
Referenced by arnoldiStep(), operator()(), and outerLoopBody().
| GridStopWatch Grid::FlexibleGeneralisedMinimalResidual< Field >::PrecTimer |
Definition at line 51 of file FlexibleGeneralisedMinimalResidual.h.
Referenced by arnoldiStep(), and operator()().
| GridStopWatch Grid::FlexibleGeneralisedMinimalResidual< Field >::LinalgTimer |
Definition at line 52 of file FlexibleGeneralisedMinimalResidual.h.
Referenced by arnoldiStep(), operator()(), and outerLoopBody().
| GridStopWatch Grid::FlexibleGeneralisedMinimalResidual< Field >::QrTimer |
Definition at line 53 of file FlexibleGeneralisedMinimalResidual.h.
Referenced by operator()(), and qrUpdate().
| GridStopWatch Grid::FlexibleGeneralisedMinimalResidual< Field >::CompSolutionTimer |
Definition at line 54 of file FlexibleGeneralisedMinimalResidual.h.
Referenced by computeSolution(), and operator()().
| Eigen::MatrixXcd Grid::FlexibleGeneralisedMinimalResidual< Field >::H |
Definition at line 56 of file FlexibleGeneralisedMinimalResidual.h.
Referenced by arnoldiStep(), computeSolution(), FlexibleGeneralisedMinimalResidual(), and qrUpdate().
| std::vector<ComplexD> Grid::FlexibleGeneralisedMinimalResidual< Field >::y |
Definition at line 58 of file FlexibleGeneralisedMinimalResidual.h.
Referenced by computeSolution(), and FlexibleGeneralisedMinimalResidual().
| std::vector<ComplexD> Grid::FlexibleGeneralisedMinimalResidual< Field >::gamma |
Definition at line 59 of file FlexibleGeneralisedMinimalResidual.h.
Referenced by computeSolution(), FlexibleGeneralisedMinimalResidual(), outerLoopBody(), and qrUpdate().
| std::vector<ComplexD> Grid::FlexibleGeneralisedMinimalResidual< Field >::c |
Definition at line 60 of file FlexibleGeneralisedMinimalResidual.h.
Referenced by FlexibleGeneralisedMinimalResidual(), and qrUpdate().
| std::vector<ComplexD> Grid::FlexibleGeneralisedMinimalResidual< Field >::s |
Definition at line 61 of file FlexibleGeneralisedMinimalResidual.h.
Referenced by FlexibleGeneralisedMinimalResidual(), and qrUpdate().
| LinearFunction<Field>& Grid::FlexibleGeneralisedMinimalResidual< Field >::Preconditioner |
Definition at line 63 of file FlexibleGeneralisedMinimalResidual.h.
Referenced by arnoldiStep(), and FlexibleGeneralisedMinimalResidual().