CHROMA
|
Linear system solvers. More...
#include <syssolver.h>
Public Member Functions | |
virtual | ~SystemSolver () |
Virtual destructor to help with cleanup;. More... | |
virtual SystemSolverResults_t | operator() (T &psi, 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 system solvers.
Solves linear systems of equations. The solver may only live on a subset.
Definition at line 33 of file syssolver.h.
|
inlinevirtual |
Virtual destructor to help with cleanup;.
Definition at line 37 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 ???
Implemented in Chroma::MdagMSystemSolver< T >, Chroma::SymEvenOddPrecActQprop< T, P, Q >, Chroma::FermActQprop< T >, Chroma::EvenOddFermActQprop< T, P, Q >, Chroma::PrecFermActQprop< T, P, Q >, Chroma::DWFQprop< T >, Chroma::PolyPrecSysSolverCG< T >, Chroma::MdagMSysSolverRichardsonClover, Chroma::MdagMSysSolverReliableIBiCGStabClover, Chroma::MdagMSysSolverReliableCGClover, Chroma::MdagMSysSolverReliableBiCGStabClover, Chroma::MdagMSysSolverOptEigCG< T >, Chroma::MdagMSysSolverMR< T >, Chroma::MdagMSysSolverIBiCGStab< T >, Chroma::MdagMSysSolverQDPEigCG< T >, Chroma::MdagMSysSolverCGTimings< T >, Chroma::MdagMSysSolverCGLFClover, Chroma::MdagMSysSolverCG< T >, Chroma::MdagMSysSolverBiCGStab< T >, Chroma::LinOpSysSolverRichardsonClover, Chroma::LinOpSysSolverReliableIBiCGStabClover, Chroma::LinOpSysSolverReliableCGClover, Chroma::LinOpSysSolverReliableBiCGStabClover, Chroma::LinOpSysSolverOptEigBiCG< T >, Chroma::LinOpSysSolverMR< T >, Chroma::LinOpSysSolverIBiCGStab< T >, Chroma::LinOpSysSolverFGMRESDR, Chroma::LinOpSysSolverEigCG< T >, Chroma::LinOpSysSolverCGTiming< T >, Chroma::LinOpSysSolverCG< T >, Chroma::LinOpSysSolverBiCRStab< T >, Chroma::LinOpSysSolverBiCGStab< T >, Chroma::MdagMSysSolverQOPMG, Chroma::LinOpSysSolverQOPMG, Chroma::LinOpSysSolverMGProtoQPhiXEOClover, Chroma::LinOpSysSolverMGProtoQPhiXClover, Chroma::LinOpSysSolverMGProtoClover, Chroma::OvUnprecCF5DQprop< T >, Chroma::OvExt5DQprop< T >, Chroma::OvHTCFZ5DQprop< T >, Chroma::ContFrac5DQprop< T, P, Q >, Chroma::PrecOvExt5DQprop< T, P, Q >, Chroma::HtContFrac5DQprop< T, P, Q >, Chroma::AsqtadCPSWrapperQprop, Chroma::MdagMSystemSolver< LatticeFermion >, and Chroma::Ovlap4DQprop.
|
pure virtual |
Return the subset on which the operator acts.
Implemented in Chroma::MdagMSystemSolver< LatticeFermion >, Chroma::MdagMSystemSolver< T >, Chroma::SymEvenOddPrecActQprop< T, P, Q >, Chroma::FermActQprop< T >, Chroma::EvenOddFermActQprop< T, P, Q >, Chroma::PrecFermActQprop< T, P, Q >, Chroma::DWFQprop< T >, Chroma::AsqtadCPSWrapperQprop, Chroma::PolyPrecSysSolverCG< T >, Chroma::MdagMSysSolverRichardsonClover, Chroma::MdagMSysSolverReliableIBiCGStabClover, Chroma::MdagMSysSolverReliableCGClover, Chroma::MdagMSysSolverReliableBiCGStabClover, Chroma::MdagMSysSolverOptEigCG< T >, Chroma::MdagMSysSolverMR< T >, Chroma::MdagMSysSolverIBiCGStab< T >, Chroma::MdagMSysSolverQDPEigCG< T >, Chroma::MdagMSysSolverCGTimings< T >, Chroma::MdagMSysSolverCGLFClover, Chroma::MdagMSysSolverCG< T >, Chroma::MdagMSysSolverBiCGStab< T >, Chroma::LinOpSysSolverRichardsonClover, Chroma::LinOpSysSolverReliableIBiCGStabClover, Chroma::LinOpSysSolverReliableCGClover, Chroma::LinOpSysSolverReliableBiCGStabClover, Chroma::LinOpSysSolverOptEigBiCG< T >, Chroma::LinOpSysSolverMR< T >, Chroma::LinOpSysSolverIBiCGStab< T >, Chroma::LinOpSysSolverFGMRESDR, Chroma::LinOpSysSolverEigCG< T >, Chroma::LinOpSysSolverCGTiming< T >, Chroma::LinOpSysSolverCG< T >, Chroma::LinOpSysSolverBiCRStab< T >, Chroma::LinOpSysSolverBiCGStab< T >, Chroma::MdagMSysSolverQOPMG, Chroma::LinOpSysSolverQOPMG, Chroma::LinOpSysSolverMGProtoQPhiXEOClover, Chroma::LinOpSysSolverMGProtoQPhiXClover, Chroma::LinOpSysSolverMGProtoClover, Chroma::OvUnprecCF5DQprop< T >, Chroma::OvExt5DQprop< T >, Chroma::OvHTCFZ5DQprop< T >, Chroma::Ovlap4DQprop, Chroma::ContFrac5DQprop< T, P, Q >, Chroma::PrecOvExt5DQprop< T, P, Q >, and Chroma::HtContFrac5DQprop< T, P, Q >.
Referenced by Chroma::FlexibleArnoldiT().