CHROMA
eoprec_constdet_one_flavor_ratio_rat_rat_monomial5d_w.h
Go to the documentation of this file.
1 // -*- C++ -*-
2 /*! @file
3  * @brief One-flavor collection of even-odd preconditioned 5D ferm monomials
4  */
5 
6 #ifndef __prec_one_flavor_ratio_rat_rat_monomial5d_w_h__
7 #define __prec_one_flavor_ratio_rat_rat_monomial5d_w_h__
8 
12 
13 namespace Chroma
14 {
15 
16  /*! @ingroup monomial */
17  namespace EvenOddPrecConstDetOneFlavorWilsonTypeFermRatioRatRatMonomial5DEnv
18  {
19  bool registerAll();
20  }
21 
22 
23  //! Wrapper class for 5D 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  //! Even even contribution (eg ln det Clover)
44  Double S_even_even(const AbsFieldState<multi1d<LatticeColorMatrix>,
45  multi1d<LatticeColorMatrix> >& s) {
46  return Double(0);
47  }
48 
49 
50  protected:
51 
52 
53  //! Accessor for pseudofermion (read only)
54  const multi1d< multi1d<T> >& getPhi() const {return phi;}
55 
56  //! mutator for pseudofermion
57  multi1d< multi1d<T> >& getPhi() {return phi;}
58 
59  //! Get at fermion action
61  return *fermact_num;
62  }
63 
64  //! Get at fermion action
66  return *fermact_den;
67  }
68 
69  //! Get parameters for the inverter
71  return actionInvParam_num;
72  }
73 
74  //! Get parameters for the inverter
76  return forceInvParam_num;
77  }
78 
79  //! Get parameters for the inverter
81  return actionInvParam_den;
82  }
83 
84  //! Get parameters for the inverter
86  return forceInvParam_den;
87  }
88 
89  //! Return number of roots in used
90  int getNPF() const {return num_pf;}
91 
92  //! Return the partial fraction expansion for the force calc
93  const RemezCoeff_t& getNumerFPFE() const {return fpfe_num;}
94 
95  //! Return the partial fraction expansion for the action calc
96  const RemezCoeff_t& getNumerSPFE() const {return spfe_num;}
97 
98  //! Return the partial fraction expansion for the heat-bath
99  const RemezCoeff_t& getNumerSIPFE() const {return sipfe_num;}
100 
101  //! Return the partial fraction expansion for the force calc
102  const RemezCoeff_t& getDenomFPFE() const {return fpfe_den;}
103 
104  //! Return the partial fraction expansion for the action calc
105  const RemezCoeff_t& getDenomSPFE() const {return spfe_den;}
106 
107  //! Return the partial fraction expansion for the heat-bath
108  const RemezCoeff_t& getDenomSIPFE() const {return sipfe_den;}
109 
110  private:
111 
112  // Hide empty constructor and =
115 
116  // Pseudofermion field phi
117  multi1d< multi1d<T> > phi;
118 
119  // A handle for the EvenOddPrecWilsonFermAct
121 
122  // A handle for the EvenOddPrecWilsonFermAct
124 
125  // The parameters for the inversion
128 
129  // The parameters for the inversion
132 
133  // Number of nth-roots
134  int num_pf;
135 
136  // Coefficients and roots of partial fractions
140 
141  // Coefficients and roots of partial fractions
145  };
146 
147 
148 } //end namespace chroma
149 
150 #endif
Abstract field state.
Definition: field_state.h:27
const EvenOddPrecWilsonTypeFermAct5D< T, P, Q > & getDenomFermAct() const
Get at fermion action.
const RemezCoeff_t & getDenomFPFE() const
Return the partial fraction expansion for the force calc.
Double S_even_even(const AbsFieldState< multi1d< LatticeColorMatrix >, multi1d< LatticeColorMatrix > > &s)
Even even contribution (eg ln det Clover)
const RemezCoeff_t & getNumerSIPFE() const
Return the partial fraction expansion for the heat-bath.
const RemezCoeff_t & getDenomSIPFE() const
Return the partial fraction expansion for the heat-bath.
const RemezCoeff_t & getDenomSPFE() const
Return the partial fraction expansion for the action calc.
const RemezCoeff_t & getNumerFPFE() const
Return the partial fraction expansion for the force calc.
const multi1d< multi1d< T > > & getPhi() const
Accessor for pseudofermion (read only)
void operator=(const EvenOddPrecConstDetOneFlavorWilsonTypeFermRatioRatRatMonomial5D &)
const EvenOddPrecWilsonTypeFermAct5D< T, P, Q > & getNumerFermAct() const
Get at fermion action.
const RemezCoeff_t & getNumerSPFE() const
Return the partial fraction expansion for the action calc.
Even-odd preconditioned Wilson-like fermion actions including derivatives.
Class for counted reference semantics.
Definition: handle.h:33
Exact 1 flavor even-odd preconditioned fermact monomial living in extra dimensions.
Field state.
Asqtad Staggered-Dirac operator.
Definition: klein_gord.cc:10
multi1d< LatticeFermion > s(Ncb)
FloatingPoint< double > Double
Definition: gtest.h:7351
One flavor ratio of rational monomials using RHMC.
One-flavor ratio of determinants rational monomial params.
Hold group xml and type id.
Convenient structure to package Remez coeffs.
Definition: remez_coeff.h:19