CHROMA
eoprec_constdet_one_flavor_ratio_rat_conv_monomial_w.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! @file
3  * @brief One-flavor collection of even-odd preconditioned 4D ferm monomials
4  */
5 
6 #ifndef __eoprec_one_flavor_ratio_rat_conv_monomial_w_h__
7 #define __eoprec_one_flavor_ratio_rat_conv_monomial_w_h__
8 
12 
13 namespace Chroma
14 {
15 
16  /*! @ingroup monomial */
17  namespace EvenOddPrecConstDetOneFlavorWilsonTypeFermRatioRatConvMonomialEnv
18  {
19  bool registerAll();
20  }
21 
22 
23  //! Wrapper class for 2-flavor even-odd prec ferm monomials
24  /*! @ingroup monomial
25  *
26  * Monomial is expected to be the same for these fermacts
27  */
30  multi1d<LatticeColorMatrix>,
31  multi1d<LatticeColorMatrix>,
32  LatticeFermion>
33  {
34  public:
35  // Typedefs to save typing
36  typedef LatticeFermion T;
37  typedef multi1d<LatticeColorMatrix> P;
38  typedef multi1d<LatticeColorMatrix> Q;
39 
40  // Construct out of a parameter struct. Check against the desired FermAct name
42 
43  protected:
44 
45  //! Accessor for pseudofermion (read only)
46  multi1d<T>& getPhi() {return phi;}
47 
48  //! mutator for pseudofermion
49  const multi1d<T>& getPhi() const {return phi;}
50 
51  //! Get at fermion action
53  return *fermact_num;
54  }
55 
56  //! Get at fermion action
58  return *fermact_den;
59  }
60 
61  //! Get parameters for the inverter
63  return actionInvParam_num;
64  }
65 
66  //! Get parameters for the inverter
68  return forceInvParam_num;
69  }
70 
71  //! Return number of roots in used
72  int getNPF() const {return num_pf;}
73 
74 
75  //! Return the partial fraction expansion for the force calc
76  const RemezCoeff_t& getNumerFPFE() const {return fpfe_num;}
77 
78  //! Return the partial fraction expansion for the action calc
79  const RemezCoeff_t& getNumerSPFE() const {return spfe_num;}
80 
81  //! Return the partial fraction expansion for the heat-bath
82  const RemezCoeff_t& getNumerSIPFE() const {return sipfe_num;}
83 
84  private:
85  // Hide empty constructor and =
88 
89  // Pseudofermion field phi
90  multi1d<T> phi;
91 
92  // A handle for the EvenOddPrecConstDetWilsonFermAct
95 
96  // The parameters for the inversion
99 
100  // Number of nth-roots
101  int num_pf;
102 
103  // Coefficients and roots of partial fractions
107  };
108 
109 
110 } //end namespace chroma
111 
112 #endif
const EvenOddPrecConstDetWilsonTypeFermAct< T, P, Q > & getNumerFermAct() const
Get at fermion action.
const RemezCoeff_t & getNumerSPFE() const
Return the partial fraction expansion for the action calc.
const RemezCoeff_t & getNumerFPFE() const
Return the partial fraction expansion for the force calc.
void operator=(const EvenOddPrecConstDetOneFlavorWilsonTypeFermRatioRatConvMonomial &)
const RemezCoeff_t & getNumerSIPFE() const
Return the partial fraction expansion for the heat-bath.
const EvenOddPrecConstDetWilsonTypeFermAct< T, P, Q > & getDenomFermAct() const
Get at fermion action.
Even-odd preconditioned Wilson-like fermion actions specialised to Wilson Like (gauge independent dia...
Class for counted reference semantics.
Definition: handle.h:33
Exact 1 flavor even-odd preconditioned fermact monomial constant determinant.
Field state.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
One-flavor ratio of determinants rational monomial params.
One flavor ratio of rational monomials using RHMC.
Hold group xml and type id.
Convenient structure to package Remez coeffs.
Definition: remez_coeff.h:19