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

Solve a system using CG iteration. More...

#include <syssolver_mdagm_cg_lf_clover.h>

Inheritance diagram for Chroma::MdagMSysSolverCGLFClover:
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

 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
 

Detailed Description

Solve a system using CG iteration.

Definition at line 41 of file syssolver_mdagm_cg_lf_clover.h.

Member Typedef Documentation

◆ Q

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

Definition at line 46 of file syssolver_mdagm_cg_lf_clover.h.

◆ QD

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

Definition at line 54 of file syssolver_mdagm_cg_lf_clover.h.

◆ QF

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

Definition at line 50 of file syssolver_mdagm_cg_lf_clover.h.

◆ T

typedef LatticeFermion Chroma::MdagMSysSolverCGLFClover::T

Definition at line 44 of file syssolver_mdagm_cg_lf_clover.h.

◆ TD

typedef LatticeFermionD Chroma::MdagMSysSolverCGLFClover::TD

Definition at line 52 of file syssolver_mdagm_cg_lf_clover.h.

◆ TF

typedef LatticeFermionF Chroma::MdagMSysSolverCGLFClover::TF

Definition at line 48 of file syssolver_mdagm_cg_lf_clover.h.

◆ U

typedef LatticeColorMatrix Chroma::MdagMSysSolverCGLFClover::U

Definition at line 45 of file syssolver_mdagm_cg_lf_clover.h.

◆ UD

typedef LatticeColorMatrixD Chroma::MdagMSysSolverCGLFClover::UD

Definition at line 53 of file syssolver_mdagm_cg_lf_clover.h.

◆ UF

typedef LatticeColorMatrixF Chroma::MdagMSysSolverCGLFClover::UF

Definition at line 49 of file syssolver_mdagm_cg_lf_clover.h.

Constructor & Destructor Documentation

◆ MdagMSysSolverCGLFClover() [1/2]

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

Constructor.

Parameters
M_Linear operator ( Read )
invParaminverter 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.

◆ ~MdagMSysSolverCGLFClover()

Chroma::MdagMSysSolverCGLFClover::~MdagMSysSolverCGLFClover ( )
inline

Destructor is automatic.

Definition at line 87 of file syssolver_mdagm_cg_lf_clover.h.

◆ MdagMSysSolverCGLFClover() [2/2]

Chroma::MdagMSysSolverCGLFClover::MdagMSysSolverCGLFClover ( )
inlineprivate

Definition at line 174 of file syssolver_mdagm_cg_lf_clover.h.

Member Function Documentation

◆ operator()() [1/2]

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

◆ operator()() [2/2]

SystemSolverResults_t Chroma::MdagMSysSolverCGLFClover::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 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().

◆ subset()

const Subset& Chroma::MdagMSysSolverCGLFClover::subset ( void  ) const
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.

Member Data Documentation

◆ A

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

Definition at line 175 of file syssolver_mdagm_cg_lf_clover.h.

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

◆ fstate_single

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

Definition at line 179 of file syssolver_mdagm_cg_lf_clover.h.

Referenced by MdagMSysSolverCGLFClover().

◆ invParam

const SysSolverCGCloverParams Chroma::MdagMSysSolverCGLFClover::invParam
private

Definition at line 176 of file syssolver_mdagm_cg_lf_clover.h.

Referenced by operator()().

◆ M_single

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

Definition at line 180 of file syssolver_mdagm_cg_lf_clover.h.

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


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