CHROMA
Public Types | Public Member Functions | Private Member Functions | Private Attributes | List of all members
Chroma::MdagMMultiSysSolverCGChronoClover Class Reference

Solve a CG2 system. Here, the operator is NOT assumed to be hermitian. More...

#include <multi_syssolver_mdagm_cg_chrono_clover.h>

Inheritance diagram for Chroma::MdagMMultiSysSolverCGChronoClover:
Chroma::MdagMMultiSystemSolver< LatticeFermion > Chroma::MultiSystemSolver< T >

Public Types

typedef LatticeFermion T
 
typedef LatticeColorMatrix U
 
typedef multi1d< LatticeColorMatrix > Q
 
typedef multi1d< LatticeColorMatrix > P
 
typedef LatticeFermionF TF
 
typedef LatticeColorMatrixF UF
 
typedef multi1d< LatticeColorMatrixF > QF
 
typedef multi1d< LatticeColorMatrixF > PF
 
typedef LatticeFermionD TD
 
typedef LatticeColorMatrixD UD
 
typedef multi1d< LatticeColorMatrixD > QD
 
typedef multi1d< LatticeColorMatrixD > PD
 

Public Member Functions

 MdagMMultiSysSolverCGChronoClover (Handle< LinearOperator< T > > M_, Handle< FermState< T, P, Q > > state_, const MultiSysSolverCGChronoCloverParams &invParam_)
 Constructor. More...
 
 ~MdagMMultiSysSolverCGChronoClover ()
 Destructor is automatic. More...
 
const Subset & subset () const
 Return the subset on which the operator acts. More...
 
SystemSolverResults_t operator() (multi1d< T > &psi, const multi1d< Real > &shifts, const T &chi) const
 Solver the linear system. More...
 
- Public Member Functions inherited from Chroma::MultiSystemSolver< T >
virtual ~MultiSystemSolver ()
 Virtual destructor to help with cleanup;. More...
 

Private Member Functions

 MdagMMultiSysSolverCGChronoClover ()
 

Private Attributes

Handle< LinearOperator< T > > M
 
const MultiSysSolverCGChronoCloverParams invParam
 
Handle< FermState< TF, QF, QF > > fstate_single
 
Handle< FermState< TD, QD, QD > > fstate_double
 

Detailed Description

Solve a CG2 system. Here, the operator is NOT assumed to be hermitian.

Definition at line 64 of file multi_syssolver_mdagm_cg_chrono_clover.h.

Member Typedef Documentation

◆ P

typedef multi1d<LatticeColorMatrix> Chroma::MdagMMultiSysSolverCGChronoClover::P

Definition at line 70 of file multi_syssolver_mdagm_cg_chrono_clover.h.

◆ PD

typedef multi1d<LatticeColorMatrixD> Chroma::MdagMMultiSysSolverCGChronoClover::PD

Definition at line 80 of file multi_syssolver_mdagm_cg_chrono_clover.h.

◆ PF

typedef multi1d<LatticeColorMatrixF> Chroma::MdagMMultiSysSolverCGChronoClover::PF

Definition at line 75 of file multi_syssolver_mdagm_cg_chrono_clover.h.

◆ Q

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

Definition at line 69 of file multi_syssolver_mdagm_cg_chrono_clover.h.

◆ QD

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

Definition at line 79 of file multi_syssolver_mdagm_cg_chrono_clover.h.

◆ QF

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

Definition at line 74 of file multi_syssolver_mdagm_cg_chrono_clover.h.

◆ T

Definition at line 67 of file multi_syssolver_mdagm_cg_chrono_clover.h.

◆ TD

Definition at line 77 of file multi_syssolver_mdagm_cg_chrono_clover.h.

◆ TF

Definition at line 72 of file multi_syssolver_mdagm_cg_chrono_clover.h.

◆ U

Definition at line 68 of file multi_syssolver_mdagm_cg_chrono_clover.h.

◆ UD

typedef LatticeColorMatrixD Chroma::MdagMMultiSysSolverCGChronoClover::UD

Definition at line 78 of file multi_syssolver_mdagm_cg_chrono_clover.h.

◆ UF

typedef LatticeColorMatrixF Chroma::MdagMMultiSysSolverCGChronoClover::UF

Definition at line 73 of file multi_syssolver_mdagm_cg_chrono_clover.h.

Constructor & Destructor Documentation

◆ MdagMMultiSysSolverCGChronoClover() [1/2]

Chroma::MdagMMultiSysSolverCGChronoClover::MdagMMultiSysSolverCGChronoClover ( Handle< LinearOperator< T > >  M_,
Handle< FermState< T, P, Q > >  state_,
const MultiSysSolverCGChronoCloverParams invParam_ 
)
inline

Constructor.

Parameters
M_Linear operator ( Read )
invParaminverter parameters ( Read )

Definition at line 87 of file multi_syssolver_mdagm_cg_chrono_clover.h.

References fstate_double, fstate_single, mu, and Nd.

◆ ~MdagMMultiSysSolverCGChronoClover()

Chroma::MdagMMultiSysSolverCGChronoClover::~MdagMMultiSysSolverCGChronoClover ( )
inline

Destructor is automatic.

Definition at line 110 of file multi_syssolver_mdagm_cg_chrono_clover.h.

◆ MdagMMultiSysSolverCGChronoClover() [2/2]

Chroma::MdagMMultiSysSolverCGChronoClover::MdagMMultiSysSolverCGChronoClover ( )
inlineprivate

Definition at line 258 of file multi_syssolver_mdagm_cg_chrono_clover.h.

Member Function Documentation

◆ operator()()

SystemSolverResults_t Chroma::MdagMMultiSysSolverCGChronoClover::operator() ( multi1d< T > &  psi,
const multi1d< Real > &  shifts,
const T chi 
) const
inlinevirtual

◆ subset()

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

Return the subset on which the operator acts.

Implements Chroma::MultiSystemSolver< T >.

Definition at line 113 of file multi_syssolver_mdagm_cg_chrono_clover.h.

References M.

Member Data Documentation

◆ fstate_double

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

◆ fstate_single

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

◆ invParam

const MultiSysSolverCGChronoCloverParams Chroma::MdagMMultiSysSolverCGChronoClover::invParam
private

Definition at line 261 of file multi_syssolver_mdagm_cg_chrono_clover.h.

Referenced by operator()().

◆ M

Handle< LinearOperator<T> > Chroma::MdagMMultiSysSolverCGChronoClover::M
private

Definition at line 260 of file multi_syssolver_mdagm_cg_chrono_clover.h.

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


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