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... | |
![]() | |
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().