CHROMA
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members

Solve a system using Richardson iteration. More...

#include <syssolver_mdagm_rel_cg_clover.h>

Inheritance diagram for Chroma::MdagMSysSolverReliableCGClover:
Chroma::MdagMSystemSolver< LatticeFermion > Chroma::SystemSolver< LatticeFermion >

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

 MdagMSysSolverReliableCGClover (Handle< LinearOperator< T > > A_, Handle< FermState< T, Q, Q > > state_, const SysSolverReliableCGCloverParams &invParam_)
 Constructor. More...
 
 ~MdagMSysSolverReliableCGClover ()
 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

 MdagMSysSolverReliableCGClover ()
 

Private Attributes

Handle< LinearOperator< T > > A
 
const SysSolverReliableCGCloverParams 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
 

Detailed Description

Solve a system using Richardson iteration.

WARNING THIS SOLVER WORKS FOR CLOVER FERMIONS ONLY ***

Definition at line 42 of file syssolver_mdagm_rel_cg_clover.h.

Member Typedef Documentation

◆ Q

typedef multi1d<LatticeColorMatrix> Chroma::MdagMSysSolverReliableCGClover::Q

Definition at line 47 of file syssolver_mdagm_rel_cg_clover.h.

◆ QD

typedef multi1d<LatticeColorMatrixD> Chroma::MdagMSysSolverReliableCGClover::QD

Definition at line 55 of file syssolver_mdagm_rel_cg_clover.h.

◆ QF

typedef multi1d<LatticeColorMatrixF> Chroma::MdagMSysSolverReliableCGClover::QF

Definition at line 51 of file syssolver_mdagm_rel_cg_clover.h.

◆ T

Definition at line 45 of file syssolver_mdagm_rel_cg_clover.h.

◆ TD

Definition at line 53 of file syssolver_mdagm_rel_cg_clover.h.

◆ TF

Definition at line 49 of file syssolver_mdagm_rel_cg_clover.h.

◆ U

typedef LatticeColorMatrix Chroma::MdagMSysSolverReliableCGClover::U

Definition at line 46 of file syssolver_mdagm_rel_cg_clover.h.

◆ UD

typedef LatticeColorMatrixD Chroma::MdagMSysSolverReliableCGClover::UD

Definition at line 54 of file syssolver_mdagm_rel_cg_clover.h.

◆ UF

typedef LatticeColorMatrixF Chroma::MdagMSysSolverReliableCGClover::UF

Definition at line 50 of file syssolver_mdagm_rel_cg_clover.h.

Constructor & Destructor Documentation

◆ MdagMSysSolverReliableCGClover() [1/2]

Chroma::MdagMSysSolverReliableCGClover::MdagMSysSolverReliableCGClover ( Handle< LinearOperator< T > >  A_,
Handle< FermState< T, Q, Q > >  state_,
const SysSolverReliableCGCloverParams invParam_ 
)
inline

Constructor.

Parameters
M_Linear operator ( Read )
invParaminverter parameters ( Read )

Definition at line 62 of file syssolver_mdagm_rel_cg_clover.h.

References Chroma::SysSolverReliableBiCGStabCloverParams::clovParams, fstate_double, fstate_single, M_double, M_single, mu, and Nd.

◆ ~MdagMSysSolverReliableCGClover()

Chroma::MdagMSysSolverReliableCGClover::~MdagMSysSolverReliableCGClover ( )
inline

Destructor is automatic.

Definition at line 94 of file syssolver_mdagm_rel_cg_clover.h.

◆ MdagMSysSolverReliableCGClover() [2/2]

Chroma::MdagMSysSolverReliableCGClover::MdagMSysSolverReliableCGClover ( )
inlineprivate

Definition at line 187 of file syssolver_mdagm_rel_cg_clover.h.

Member Function Documentation

◆ operator()() [1/2]

SystemSolverResults_t Chroma::MdagMSysSolverReliableCGClover::operator() ( T psi,
const T chi 
) const
inlinevirtual

◆ operator()() [2/2]

SystemSolverResults_t Chroma::MdagMSysSolverReliableCGClover::operator() ( T psi,
const T chi,
AbsChronologicalPredictor4D< T > &  predictor 
) const
inlinevirtual

Solve the linear system starting with a chrono guess.

Parameters
psisolution (Write)
chisource (Read)
predictora chronological predictor (Read)
Returns
syssolver results

Implements Chroma::MdagMSystemSolver< LatticeFermion >.

Definition at line 163 of file syssolver_mdagm_rel_cg_clover.h.

References A, Chroma::chi(), Chroma::END_CODE(), MdagM, Chroma::AbsChronologicalPredictor4D< T >::newVector(), Chroma::psi, and Chroma::START_CODE().

◆ subset()

const Subset& Chroma::MdagMSysSolverReliableCGClover::subset ( void  ) const
inlinevirtual

Return the subset on which the operator acts.

Implements Chroma::MdagMSystemSolver< LatticeFermion >.

Definition at line 97 of file syssolver_mdagm_rel_cg_clover.h.

References A.

Member Data Documentation

◆ A

Handle< LinearOperator<T> > Chroma::MdagMSysSolverReliableCGClover::A
private

Definition at line 188 of file syssolver_mdagm_rel_cg_clover.h.

Referenced by operator()(), and subset().

◆ fstate_double

Handle< FermState<TD, QD, QD> > Chroma::MdagMSysSolverReliableCGClover::fstate_double
private

Definition at line 193 of file syssolver_mdagm_rel_cg_clover.h.

Referenced by MdagMSysSolverReliableCGClover().

◆ fstate_single

Handle< FermState<TF, QF, QF> > Chroma::MdagMSysSolverReliableCGClover::fstate_single
private

Definition at line 192 of file syssolver_mdagm_rel_cg_clover.h.

Referenced by MdagMSysSolverReliableCGClover().

◆ invParam

const SysSolverReliableCGCloverParams Chroma::MdagMSysSolverReliableCGClover::invParam
private

Definition at line 189 of file syssolver_mdagm_rel_cg_clover.h.

Referenced by operator()().

◆ M_double

Handle< LinearOperator<TD> > Chroma::MdagMSysSolverReliableCGClover::M_double
private

Definition at line 195 of file syssolver_mdagm_rel_cg_clover.h.

Referenced by MdagMSysSolverReliableCGClover(), and operator()().

◆ M_single

Handle< LinearOperator<TF> > Chroma::MdagMSysSolverReliableCGClover::M_single
private

Definition at line 194 of file syssolver_mdagm_rel_cg_clover.h.

Referenced by MdagMSysSolverReliableCGClover(), and operator()().


The documentation for this class was generated from the following file: