CHROMA
|
Solve a system using Richardson iteration. More...
#include <syssolver_linop_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 | |
LinOpSysSolverRichardsonClover (Handle< LinearOperator< T > > A_, Handle< FermState< T, Q, Q > > state_, const SysSolverRichardsonCloverParams &invParam_) | |
Constructor. More... | |
~LinOpSysSolverRichardsonClover () | |
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... | |
Public Member Functions inherited from Chroma::SystemSolver< LatticeFermion > | |
virtual | ~SystemSolver () |
Virtual destructor to help with cleanup;. More... | |
Private Member Functions | |
LinOpSysSolverRichardsonClover () | |
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< LinOpSystemSolver< TF > > | DInv |
Solve a system using Richardson iteration.
WARNING THIS SOLVER WORKS FOR CLOVER FERMIONS ONLY ***
Definition at line 42 of file syssolver_linop_richardson_multiprec_clover.h.
typedef multi1d<LatticeColorMatrix> Chroma::LinOpSysSolverRichardsonClover::Q |
Definition at line 47 of file syssolver_linop_richardson_multiprec_clover.h.
typedef multi1d<LatticeColorMatrixD> Chroma::LinOpSysSolverRichardsonClover::QD |
Definition at line 55 of file syssolver_linop_richardson_multiprec_clover.h.
typedef multi1d<LatticeColorMatrixF> Chroma::LinOpSysSolverRichardsonClover::QF |
Definition at line 51 of file syssolver_linop_richardson_multiprec_clover.h.
typedef LatticeFermion Chroma::LinOpSysSolverRichardsonClover::T |
Definition at line 45 of file syssolver_linop_richardson_multiprec_clover.h.
typedef LatticeFermionD Chroma::LinOpSysSolverRichardsonClover::TD |
Definition at line 53 of file syssolver_linop_richardson_multiprec_clover.h.
typedef LatticeFermionF Chroma::LinOpSysSolverRichardsonClover::TF |
Definition at line 49 of file syssolver_linop_richardson_multiprec_clover.h.
typedef LatticeColorMatrix Chroma::LinOpSysSolverRichardsonClover::U |
Definition at line 46 of file syssolver_linop_richardson_multiprec_clover.h.
typedef LatticeColorMatrixD Chroma::LinOpSysSolverRichardsonClover::UD |
Definition at line 54 of file syssolver_linop_richardson_multiprec_clover.h.
typedef LatticeColorMatrixF Chroma::LinOpSysSolverRichardsonClover::UF |
Definition at line 50 of file syssolver_linop_richardson_multiprec_clover.h.
|
inline |
Constructor.
M_ | Linear operator ( Read ) |
invParam | inverter parameters ( Read ) |
Definition at line 62 of file syssolver_linop_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_linop_richardson_multiprec_clover.h.
|
inlineprivate |
Definition at line 161 of file syssolver_linop_richardson_multiprec_clover.h.
|
inlinevirtual |
Solver the linear system.
psi | solution ( Modify ) |
chi | source ( Read ) |
Implements Chroma::SystemSolver< LatticeFermion >.
Definition at line 112 of file syssolver_linop_richardson_multiprec_clover.h.
References A, Chroma::chi(), DInv, Chroma::END_CODE(), Chroma::InvMultiPrecRichardson(), invParam, M_double, Chroma::SysSolverRichardsonCloverParams::MaxIter, 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 |
Return the subset on which the operator acts.
Implements Chroma::SystemSolver< LatticeFermion >.
Definition at line 104 of file syssolver_linop_richardson_multiprec_clover.h.
References A.
|
private |
Definition at line 162 of file syssolver_linop_richardson_multiprec_clover.h.
Referenced by operator()(), and subset().
|
private |
Definition at line 170 of file syssolver_linop_richardson_multiprec_clover.h.
Referenced by LinOpSysSolverRichardsonClover(), and operator()().
Definition at line 167 of file syssolver_linop_richardson_multiprec_clover.h.
Referenced by LinOpSysSolverRichardsonClover().
Definition at line 166 of file syssolver_linop_richardson_multiprec_clover.h.
Referenced by LinOpSysSolverRichardsonClover().
|
private |
Definition at line 163 of file syssolver_linop_richardson_multiprec_clover.h.
Referenced by operator()().
|
private |
Definition at line 169 of file syssolver_linop_richardson_multiprec_clover.h.
Referenced by LinOpSysSolverRichardsonClover(), and operator()().
|
private |
Definition at line 168 of file syssolver_linop_richardson_multiprec_clover.h.
Referenced by LinOpSysSolverRichardsonClover().