|
CHROMA
|
Solve a CG2 system. Here, the operator is NOT assumed to be hermitian. More...
#include <multi_syssolver_mdagm_cg_chrono_clover.h>
Public Types | |
| typedef LatticeFermion | T |
| typedef LatticeColorMatrix | U |
| typedef multi1d< LatticeColorMatrix > | Q |
| typedef multi1d< LatticeColorMatrix > | P |
| typedef LatticeFermionF | TF |
| typedef LatticeColorMatrixF | UF |
| typedef multi1d< LatticeColorMatrixF > | QF |
| typedef multi1d< LatticeColorMatrixF > | PF |
| typedef LatticeFermionD | TD |
| typedef LatticeColorMatrixD | UD |
| typedef multi1d< LatticeColorMatrixD > | QD |
| typedef multi1d< LatticeColorMatrixD > | PD |
Public Member Functions | |
| MdagMMultiSysSolverCGChronoClover (Handle< LinearOperator< T > > M_, Handle< FermState< T, P, Q > > state_, const MultiSysSolverCGChronoCloverParams &invParam_) | |
| Constructor. More... | |
| ~MdagMMultiSysSolverCGChronoClover () | |
| Destructor is automatic. More... | |
| const Subset & | subset () const |
| Return the subset on which the operator acts. More... | |
| SystemSolverResults_t | operator() (multi1d< T > &psi, const multi1d< Real > &shifts, const T &chi) const |
| Solver the linear system. More... | |
Public Member Functions inherited from Chroma::MultiSystemSolver< T > | |
| virtual | ~MultiSystemSolver () |
| Virtual destructor to help with cleanup;. More... | |
Private Member Functions | |
| MdagMMultiSysSolverCGChronoClover () | |
Private Attributes | |
| Handle< LinearOperator< T > > | M |
| const MultiSysSolverCGChronoCloverParams | invParam |
| Handle< FermState< TF, QF, QF > > | fstate_single |
| Handle< FermState< TD, QD, QD > > | fstate_double |
Solve a CG2 system. Here, the operator is NOT assumed to be hermitian.
Definition at line 64 of file multi_syssolver_mdagm_cg_chrono_clover.h.
| typedef multi1d<LatticeColorMatrix> Chroma::MdagMMultiSysSolverCGChronoClover::P |
Definition at line 70 of file multi_syssolver_mdagm_cg_chrono_clover.h.
| typedef multi1d<LatticeColorMatrixD> Chroma::MdagMMultiSysSolverCGChronoClover::PD |
Definition at line 80 of file multi_syssolver_mdagm_cg_chrono_clover.h.
| typedef multi1d<LatticeColorMatrixF> Chroma::MdagMMultiSysSolverCGChronoClover::PF |
Definition at line 75 of file multi_syssolver_mdagm_cg_chrono_clover.h.
| typedef multi1d<LatticeColorMatrix> Chroma::MdagMMultiSysSolverCGChronoClover::Q |
Definition at line 69 of file multi_syssolver_mdagm_cg_chrono_clover.h.
| typedef multi1d<LatticeColorMatrixD> Chroma::MdagMMultiSysSolverCGChronoClover::QD |
Definition at line 79 of file multi_syssolver_mdagm_cg_chrono_clover.h.
| typedef multi1d<LatticeColorMatrixF> Chroma::MdagMMultiSysSolverCGChronoClover::QF |
Definition at line 74 of file multi_syssolver_mdagm_cg_chrono_clover.h.
| typedef LatticeFermion Chroma::MdagMMultiSysSolverCGChronoClover::T |
Definition at line 67 of file multi_syssolver_mdagm_cg_chrono_clover.h.
| typedef LatticeFermionD Chroma::MdagMMultiSysSolverCGChronoClover::TD |
Definition at line 77 of file multi_syssolver_mdagm_cg_chrono_clover.h.
| typedef LatticeFermionF Chroma::MdagMMultiSysSolverCGChronoClover::TF |
Definition at line 72 of file multi_syssolver_mdagm_cg_chrono_clover.h.
| typedef LatticeColorMatrix Chroma::MdagMMultiSysSolverCGChronoClover::U |
Definition at line 68 of file multi_syssolver_mdagm_cg_chrono_clover.h.
| typedef LatticeColorMatrixD Chroma::MdagMMultiSysSolverCGChronoClover::UD |
Definition at line 78 of file multi_syssolver_mdagm_cg_chrono_clover.h.
| typedef LatticeColorMatrixF Chroma::MdagMMultiSysSolverCGChronoClover::UF |
Definition at line 73 of file multi_syssolver_mdagm_cg_chrono_clover.h.
|
inline |
Constructor.
| M_ | Linear operator ( Read ) |
| invParam | inverter parameters ( Read ) |
Definition at line 87 of file multi_syssolver_mdagm_cg_chrono_clover.h.
References fstate_double, fstate_single, mu, and Nd.
|
inline |
Destructor is automatic.
Definition at line 110 of file multi_syssolver_mdagm_cg_chrono_clover.h.
|
inlineprivate |
Definition at line 258 of file multi_syssolver_mdagm_cg_chrono_clover.h.
|
inlinevirtual |
Solver the linear system.
| psi | solution ( Modify ) |
| chi | source ( Read ) |
Implements Chroma::MultiSystemSolver< T >.
Definition at line 121 of file multi_syssolver_mdagm_cg_chrono_clover.h.
References Chroma::chi(), Chroma::MultiSysSolverCGChronoCloverParams::clovParams, Chroma::MultiSysSolverCGChronoCloverParams::CutoffRsd, Chroma::MultiSysSolverCGChronoCloverParams::Delta, Chroma::END_CODE(), fstate_double, fstate_single, Chroma::getXMLLogInstance(), Chroma::i, Chroma::InvCGReliable(), invParam, M, Chroma::MultiSysSolverCGChronoCloverParams::MaxChrono, Chroma::MultiSysSolverCGChronoCloverParams::MaxIter, Chroma::MINUS, Chroma::MInvCG2(), Chroma::SystemSolverResults_t::n_count, Chroma::MinimalResidualExtrapolationShifted4DChronoPredictor< T, R >::newXVector(), Chroma::PLUS, Chroma::pop(), Chroma::MinimalResidualExtrapolationShifted4DChronoPredictor< T, R >::predictX(), Chroma::psi, Chroma::push(), Chroma::r, Chroma::MinimalResidualExtrapolationShifted4DChronoPredictor< T, R >::reset(), Chroma::SystemSolverResults_t::resid, Chroma::RsdCG, Chroma::MultiSysSolverCGChronoCloverParams::RsdTarget, Chroma::START_CODE(), tmp2, Chroma::write(), and Chroma::zero.
|
inlinevirtual |
Return the subset on which the operator acts.
Implements Chroma::MultiSystemSolver< T >.
Definition at line 113 of file multi_syssolver_mdagm_cg_chrono_clover.h.
References M.
Definition at line 263 of file multi_syssolver_mdagm_cg_chrono_clover.h.
Referenced by MdagMMultiSysSolverCGChronoClover(), and operator()().
Definition at line 262 of file multi_syssolver_mdagm_cg_chrono_clover.h.
Referenced by MdagMMultiSysSolverCGChronoClover(), and operator()().
|
private |
Definition at line 261 of file multi_syssolver_mdagm_cg_chrono_clover.h.
Referenced by operator()().
|
private |
Definition at line 260 of file multi_syssolver_mdagm_cg_chrono_clover.h.
Referenced by operator()(), and subset().