CHROMA
|
Solve a system using CG iteration. More...
#include <syssolver_mdagm_cg_lf_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 | |
MdagMSysSolverCGLFClover (Handle< LinearOperator< T > > A_, Handle< FermState< T, Q, Q > > state_, const SysSolverCGCloverParams &invParam_) | |
Constructor. More... | |
~MdagMSysSolverCGLFClover () | |
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 | |
MdagMSysSolverCGLFClover () | |
Private Attributes | |
Handle< LinearOperator< T > > | A |
const SysSolverCGCloverParams | invParam |
Handle< FermState< TF, QF, QF > > | fstate_single |
Handle< LinearOperator< TF > > | M_single |
Solve a system using CG iteration.
Definition at line 41 of file syssolver_mdagm_cg_lf_clover.h.
typedef multi1d<LatticeColorMatrix> Chroma::MdagMSysSolverCGLFClover::Q |
Definition at line 46 of file syssolver_mdagm_cg_lf_clover.h.
typedef multi1d<LatticeColorMatrixD> Chroma::MdagMSysSolverCGLFClover::QD |
Definition at line 54 of file syssolver_mdagm_cg_lf_clover.h.
typedef multi1d<LatticeColorMatrixF> Chroma::MdagMSysSolverCGLFClover::QF |
Definition at line 50 of file syssolver_mdagm_cg_lf_clover.h.
typedef LatticeFermion Chroma::MdagMSysSolverCGLFClover::T |
Definition at line 44 of file syssolver_mdagm_cg_lf_clover.h.
typedef LatticeFermionD Chroma::MdagMSysSolverCGLFClover::TD |
Definition at line 52 of file syssolver_mdagm_cg_lf_clover.h.
typedef LatticeFermionF Chroma::MdagMSysSolverCGLFClover::TF |
Definition at line 48 of file syssolver_mdagm_cg_lf_clover.h.
typedef LatticeColorMatrix Chroma::MdagMSysSolverCGLFClover::U |
Definition at line 45 of file syssolver_mdagm_cg_lf_clover.h.
typedef LatticeColorMatrixD Chroma::MdagMSysSolverCGLFClover::UD |
Definition at line 53 of file syssolver_mdagm_cg_lf_clover.h.
typedef LatticeColorMatrixF Chroma::MdagMSysSolverCGLFClover::UF |
Definition at line 49 of file syssolver_mdagm_cg_lf_clover.h.
|
inline |
Constructor.
M_ | Linear operator ( Read ) |
invParam | inverter parameters ( Read ) |
Definition at line 61 of file syssolver_mdagm_cg_lf_clover.h.
References Chroma::SysSolverCGCloverParams::clovParams, fstate_single, M_single, mu, and Nd.
|
inline |
Destructor is automatic.
Definition at line 87 of file syssolver_mdagm_cg_lf_clover.h.
|
inlineprivate |
Definition at line 174 of file syssolver_mdagm_cg_lf_clover.h.
|
inlinevirtual |
Solver the linear system.
psi | solution ( Modify ) |
chi | source ( Read ) |
Implements Chroma::MdagMSystemSolver< LatticeFermion >.
Definition at line 98 of file syssolver_mdagm_cg_lf_clover.h.
References A, Chroma::chi(), Chroma::END_CODE(), Chroma::InvCG2(), invParam, M_single, Chroma::SysSolverCGCloverParams::MaxCG, Chroma::MINUS, Chroma::SystemSolverResults_t::n_count, Chroma::PLUS, Chroma::psi, Chroma::r, Chroma::SystemSolverResults_t::resid, Chroma::SysSolverCGCloverParams::RsdCG, 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 151 of file syssolver_mdagm_cg_lf_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 90 of file syssolver_mdagm_cg_lf_clover.h.
References A.
|
private |
Definition at line 175 of file syssolver_mdagm_cg_lf_clover.h.
Referenced by operator()(), and subset().
Definition at line 179 of file syssolver_mdagm_cg_lf_clover.h.
Referenced by MdagMSysSolverCGLFClover().
|
private |
Definition at line 176 of file syssolver_mdagm_cg_lf_clover.h.
Referenced by operator()().
|
private |
Definition at line 180 of file syssolver_mdagm_cg_lf_clover.h.
Referenced by MdagMSysSolverCGLFClover(), and operator()().