CHROMA
|
Linear multi-system solvers. More...
#include <syssolver.h>
Public Member Functions | |
virtual | ~MultiSystemSolver () |
Virtual destructor to help with cleanup;. More... | |
virtual SystemSolverResults_t | operator() (multi1d< T > &psi, const multi1d< Real > &shifts, const T &chi) const =0 |
Apply the operator onto a source std::vector. More... | |
virtual const Subset & | subset () const =0 |
Return the subset on which the operator acts. More... | |
Linear multi-system solvers.
Solves multi-shift linear systems of equations. The solver may only live on a subset.
Definition at line 92 of file syssolver.h.
|
inlinevirtual |
Virtual destructor to help with cleanup;.
Definition at line 96 of file syssolver.h.
|
pure virtual |
Apply the operator onto a source std::vector.
Solves A*psi = chi or psi = A^(-1)*chi up to some accuracy. There is the interesting possibility of generalizing to support PLUS/MINUS
Should the accuracy be specified here ???
Should the shifts be here or in the constructor???
Implemented in Chroma::MdagMMultiSysSolverCGChronoClover, Chroma::MdagMMultiSysSolverCG< T >, and Chroma::LinOpMultiSysSolverMR< T >.
|
pure virtual |
Return the subset on which the operator acts.
Implemented in Chroma::MdagMMultiSysSolverCGChronoClover, Chroma::MdagMMultiSysSolverCG< T >, and Chroma::LinOpMultiSysSolverMR< T >.