CHROMA
unprec_one_flavor_ratio_rat_rat_monomial_w.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! @file
3  * @brief One-flavor collection of unpreconditioned 4D ferm monomials
4  */
5 
6 #ifndef __unprec_one_flavor_ratio_rat_rat_monomial_w_h__
7 #define __unprec_one_flavor_ratio_rat_rat_monomial_w_h__
8 
12 
13 namespace Chroma
14 {
15 
16  /*! @ingroup monomial */
17  namespace UnprecOneFlavorWilsonTypeFermRatioRatRatMonomialEnv
18  {
19  bool registerAll();
20  }
21 
22 
23  //! Wrapper class for 2-flavor unprec 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  multi1d<T>& getPhi(void) {return phi;}
46  const multi1d<T>& getPhi(void) const {return phi;}
47 
48  //! Get at fermion action
50  return *fermact_num;
51  }
52 
53  //! Get at fermion action
55  return *fermact_den;
56  }
57 
58  //! Get parameters for the inverter
59  const GroupXML_t& getNumerActionInvParams(void) const {
60  return actionInvParam_num;
61  }
62 
63  //! Get parameters for the inverter
64  const GroupXML_t& getNumerForceInvParams(void) const {
65  return forceInvParam_num;
66  }
67 
68  //! Get parameters for the inverter
69  const GroupXML_t& getDenomActionInvParams(void) const {
70  return actionInvParam_den;
71  }
72 
73  //! Get parameters for the inverter
74  const GroupXML_t& getDenomForceInvParams(void) const {
75  return forceInvParam_den;
76  }
77 
78  //! Return number of roots in used
79  int getNPF() const {return num_pf;}
80 
81  //! Return the partial fraction expansion for the force calc
82  const RemezCoeff_t& getNumerFPFE() const {return fpfe_num;}
83 
84  //! Return the partial fraction expansion for the action calc
85  const RemezCoeff_t& getNumerSPFE() const {return spfe_num;}
86 
87  //! Return the partial fraction expansion for the heat-bath
88  const RemezCoeff_t& getNumerSIPFE() const {return sipfe_num;}
89 
90  //! Return the partial fraction expansion for the force calc
91  const RemezCoeff_t& getDenomFPFE() const {return fpfe_den;}
92 
93  //! Return the partial fraction expansion for the action calc
94  const RemezCoeff_t& getDenomSPFE() const {return spfe_den;}
95 
96  //! Return the partial fraction expansion for the heat-bath
97  const RemezCoeff_t& getDenomSIPFE() const {return sipfe_den;}
98 
99  private:
100  // Hide empty constructor and =
103 
104  // Pseudofermion field phi
105  multi1d<T> phi;
106 
107  // A handle for the UnprecWilsonFermAct
109 
110  // A handle for the UnprecWilsonFermAct
112 
113  // The parameters for the inversion
116 
117  // The parameters for the inversion
120 
121  // Number of nth-roots
122  int num_pf;
123 
124  // Coefficients and roots of partial fractions
128 
129  // Coefficients and roots of partial fractions
133  };
134 
135 } //end namespace chroma
136 
137 
138 #endif
Class for counted reference semantics.
Definition: handle.h:33
const WilsonTypeFermAct< T, P, Q > & getNumerFermAct(void) const
Get at fermion action.
const RemezCoeff_t & getDenomFPFE() const
Return the partial fraction expansion for the force calc.
const RemezCoeff_t & getDenomSIPFE() const
Return the partial fraction expansion for the heat-bath.
const GroupXML_t & getDenomActionInvParams(void) const
Get parameters for the inverter.
const GroupXML_t & getNumerForceInvParams(void) const
Get parameters for the inverter.
const GroupXML_t & getNumerActionInvParams(void) const
Get parameters for the inverter.
const RemezCoeff_t & getNumerFPFE() const
Return the partial fraction expansion for the force calc.
const multi1d< T > & getPhi(void) const
Accessor for pseudofermion (read only)
const GroupXML_t & getDenomForceInvParams(void) const
Get parameters for the inverter.
void operator=(const UnprecOneFlavorWilsonTypeFermRatioRatRatMonomial &)
const RemezCoeff_t & getDenomSPFE() const
Return the partial fraction expansion for the action calc.
const RemezCoeff_t & getNumerSPFE() const
Return the partial fraction expansion for the action calc.
const RemezCoeff_t & getNumerSIPFE() const
Return the partial fraction expansion for the heat-bath.
const WilsonTypeFermAct< T, P, Q > & getDenomFermAct(void) const
Get at fermion action.
Wilson-like fermion actions.
Definition: fermact.orig.h:344
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