|
CHROMA
|
Solve a system using Richardson iteration. More...
#include <syssolver_mdagm_richardson_multiprec_clover.h>
Public Types | |
| typedef LatticeFermion | T |
| typedef LatticeColorMatrix | U |
| typedef multi1d< LatticeColorMatrix > | Q |
| typedef LatticeFermionF | TF |
| typedef LatticeColorMatrixF | UF |
| typedef multi1d< LatticeColorMatrixF > | QF |
| typedef LatticeFermionD | TD |
| typedef LatticeColorMatrixD | UD |
| typedef multi1d< LatticeColorMatrixD > | QD |
Public Member Functions | |
| MdagMSysSolverRichardsonClover (Handle< LinearOperator< T > > A_, Handle< FermState< T, Q, Q > > state_, const SysSolverRichardsonCloverParams &invParam_) | |
| Constructor. More... | |
| ~MdagMSysSolverRichardsonClover () | |
| Destructor is automatic. More... | |
| const Subset & | subset () const |
| Return the subset on which the operator acts. More... | |
| SystemSolverResults_t | operator() (T &psi, const T &chi) const |
| Solver the linear system. More... | |
| SystemSolverResults_t | operator() (T &psi, const T &chi, AbsChronologicalPredictor4D< T > &predictor) const |
| Solve the linear system starting with a chrono guess. More... | |
Public Member Functions inherited from Chroma::SystemSolver< LatticeFermion > | |
| virtual | ~SystemSolver () |
| Virtual destructor to help with cleanup;. More... | |
Private Member Functions | |
| MdagMSysSolverRichardsonClover () | |
Private Attributes | |
| Handle< LinearOperator< T > > | A |
| const SysSolverRichardsonCloverParams | invParam |
| Handle< FermState< TF, QF, QF > > | fstate_single |
| Handle< FermState< TD, QD, QD > > | fstate_double |
| Handle< LinearOperator< TF > > | M_single |
| Handle< LinearOperator< TD > > | M_double |
| Handle< MdagMSystemSolver< TF > > | DInv |
Solve a system using Richardson iteration.
Definition at line 41 of file syssolver_mdagm_richardson_multiprec_clover.h.
| typedef multi1d<LatticeColorMatrix> Chroma::MdagMSysSolverRichardsonClover::Q |
Definition at line 46 of file syssolver_mdagm_richardson_multiprec_clover.h.
| typedef multi1d<LatticeColorMatrixD> Chroma::MdagMSysSolverRichardsonClover::QD |
Definition at line 54 of file syssolver_mdagm_richardson_multiprec_clover.h.
| typedef multi1d<LatticeColorMatrixF> Chroma::MdagMSysSolverRichardsonClover::QF |
Definition at line 50 of file syssolver_mdagm_richardson_multiprec_clover.h.
| typedef LatticeFermion Chroma::MdagMSysSolverRichardsonClover::T |
Definition at line 44 of file syssolver_mdagm_richardson_multiprec_clover.h.
| typedef LatticeFermionD Chroma::MdagMSysSolverRichardsonClover::TD |
Definition at line 52 of file syssolver_mdagm_richardson_multiprec_clover.h.
| typedef LatticeFermionF Chroma::MdagMSysSolverRichardsonClover::TF |
Definition at line 48 of file syssolver_mdagm_richardson_multiprec_clover.h.
| typedef LatticeColorMatrix Chroma::MdagMSysSolverRichardsonClover::U |
Definition at line 45 of file syssolver_mdagm_richardson_multiprec_clover.h.
| typedef LatticeColorMatrixD Chroma::MdagMSysSolverRichardsonClover::UD |
Definition at line 53 of file syssolver_mdagm_richardson_multiprec_clover.h.
| typedef LatticeColorMatrixF Chroma::MdagMSysSolverRichardsonClover::UF |
Definition at line 49 of file syssolver_mdagm_richardson_multiprec_clover.h.
|
inline |
Constructor.
| M_ | Linear operator ( Read ) |
| invParam | inverter parameters ( Read ) |
Definition at line 61 of file syssolver_mdagm_richardson_multiprec_clover.h.
References Chroma::SysSolverRichardsonCloverParams::clovParams, DInv, fstate_double, fstate_single, Chroma::GroupXML_t::id, Chroma::SysSolverRichardsonCloverParams::innerSolverParams, Chroma::SingletonHolder< T, CreationPolicy, LifetimePolicy, ThreadingModel >::Instance(), M_double, M_single, mu, Nd, Chroma::GroupXML_t::path, and Chroma::GroupXML_t::xml.
|
inline |
Destructor is automatic.
Definition at line 101 of file syssolver_mdagm_richardson_multiprec_clover.h.
|
inlineprivate |
Definition at line 183 of file syssolver_mdagm_richardson_multiprec_clover.h.
|
inlinevirtual |
Solver the linear system.
| psi | solution ( Modify ) |
| chi | source ( Read ) |
Implements Chroma::MdagMSystemSolver< LatticeFermion >.
Definition at line 112 of file syssolver_mdagm_richardson_multiprec_clover.h.
References A, Chroma::chi(), DInv, Chroma::END_CODE(), Chroma::InvMultiPrecRichardson(), invParam, M_double, Chroma::SysSolverRichardsonCloverParams::MaxIter, Chroma::MINUS, Chroma::SystemSolverResults_t::n_count, Chroma::PLUS, Chroma::psi, Chroma::r, Chroma::SystemSolverResults_t::resid, Chroma::SysSolverRichardsonCloverParams::RsdTarget, Chroma::START_CODE(), and Chroma::tmp.
|
inlinevirtual |
Solve the linear system starting with a chrono guess.
| psi | solution (Write) |
| chi | source (Read) |
| predictor | a chronological predictor (Read) |
Implements Chroma::MdagMSystemSolver< LatticeFermion >.
Definition at line 160 of file syssolver_mdagm_richardson_multiprec_clover.h.
References A, Chroma::chi(), Chroma::END_CODE(), MdagM, Chroma::AbsChronologicalPredictor4D< T >::newVector(), Chroma::psi, and Chroma::START_CODE().
|
inlinevirtual |
Return the subset on which the operator acts.
Implements Chroma::MdagMSystemSolver< LatticeFermion >.
Definition at line 104 of file syssolver_mdagm_richardson_multiprec_clover.h.
References A.
|
private |
Definition at line 184 of file syssolver_mdagm_richardson_multiprec_clover.h.
Referenced by operator()(), and subset().
|
private |
Definition at line 192 of file syssolver_mdagm_richardson_multiprec_clover.h.
Referenced by MdagMSysSolverRichardsonClover(), and operator()().
Definition at line 189 of file syssolver_mdagm_richardson_multiprec_clover.h.
Referenced by MdagMSysSolverRichardsonClover().
Definition at line 188 of file syssolver_mdagm_richardson_multiprec_clover.h.
Referenced by MdagMSysSolverRichardsonClover().
|
private |
Definition at line 185 of file syssolver_mdagm_richardson_multiprec_clover.h.
Referenced by operator()().
|
private |
Definition at line 191 of file syssolver_mdagm_richardson_multiprec_clover.h.
Referenced by MdagMSysSolverRichardsonClover(), and operator()().
|
private |
Definition at line 190 of file syssolver_mdagm_richardson_multiprec_clover.h.
Referenced by MdagMSysSolverRichardsonClover().