15 #ifndef FOPR_WILSON_EO_INCLUDED
16 #define FOPR_WILSON_EO_INCLUDED
73 std::vector<GammaMatrix>
m_GM;
93 void set_parameters(
const double kappa,
const std::vector<int> bc);
103 void preProp(Field& Be, Field& bo,
const Field& b)
106 void postProp(Field& x,
const Field& xe,
const Field& bo)
109 void prePropD(Field&, Field&,
const Field&);
110 void postPropD(Field&,
const Field&,
const Field&);
111 void prePropDag(Field&, Field&,
const Field&);
112 void postPropDag(Field&,
const Field&,
const Field&);
115 void mult(Field& v,
const Field& f)
116 { (this->*
m_mult)(v, f); }
130 }
else if (m_mode ==
"Ddag") {
135 }
else if (m_mode ==
"DdagD") {
138 }
else if (m_mode ==
"DDdag") {
141 }
else if (m_mode ==
"H") {
145 vout.
crucial(
"%s: input mode is undefined.\n", class_name.c_str());
157 void MeoMoe(Field&,
const Field&);
158 void D(Field& v,
const Field& f);
159 void Ddag(Field& v,
const Field& f);
160 void DdagD(Field& v,
const Field& f);
161 void DDdag(Field& v,
const Field& f);
162 void H(Field& v,
const Field& f);
163 void mult_gm5(Field& v,
const Field& f);
166 void Meo(Field&,
const Field&,
const int ieo);
167 void Mdageo(Field&,
const Field&,
const int ieo);
168 void Meo_gm5(Field&,
const Field&,
const int ieo);
171 void gm5p(
const int mu, Field& w,
const Field& v);
void(Fopr_Wilson_eo::* m_mult)(Field &, const Field &)
void mult(Field &v, const Field &f)
multiplies fermion operator to a given field (2nd argument) and set the resultant field to the 1st ar...
void H(Field &v, const Field &f)
void mult_gm5(Field &v, const Field &f)
void D(Field &v, const Field &f)
Implementation of even-odd Wilson fermion operator.
Container of Field-type object.
void set_parameters(const Parameters ¶ms)
void(Fopr_Wilson_eo::* m_preProp)(Field &, Field &, const Field &)
int field_nvol()
returns the volume for which the fermion operator is defined.
Fopr_Wilson_eo_impl * m_impl
void(Fopr_Wilson_eo::* m_mult_dag)(Field &, const Field &)
void postProp(Field &x, const Field &xe, const Field &bo)
void(Fopr_Wilson_eo::* m_D)(Field &, const Field &)
void(Fopr_Wilson_eo::* m_gm5)(Field &, const Field &)
Wilson-type fermion field.
void mult_m(int mu, Field_F &, const Field_F &, const int ieo)
void mult_p(int mu, Field_F &, const Field_F &, const int ieo)
double flop_count()
this returns the number of floating point number operations.
std::vector< int > m_boundary
void DdagD(Field &v, const Field &f)
void gm5p(const int mu, Field &w, const Field &v)
gamma_5 (1 - gamma_mu) v(x + mu)
Parameters_Fopr_Wilson_eo()
void set_config(Field *U)
setting pointer to the gauge configuration.
void Ddag(Field &v, const Field &f)
void Meo_gm5(Field &, const Field &, const int ieo)
void postPropDag(Field &, const Field &, const Field &)
Base class of fermion operator family.
int field_nex()
returns the external d.o.f. for which the fermion operator is defined.
void DDdag(Field &v, const Field &f)
void(Fopr_Wilson_eo::* m_postProp)(Field &, const Field &, const Field &)
Methods to shift the even-odd field.
void crucial(const char *format,...)
Even-odd Wilson fermion operator.
void set_config(unique_ptr< Field_G > &U)
void Meo(Field &, const Field &, const int ieo)
even-odd operatior: ieo=0: even <– odd, ieo=1: odd <– even
void mult_undef(Field &, const Field &)
void preProp(Field &Be, Field &bo, const Field &b)
void set_mode(std::string mode)
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelev...
std::string get_mode() const
only for Fopr_Overlap
void postPropD(Field &, const Field &, const Field &)
void Mdageo(Field &, const Field &, const int ieo)
static const std::string class_name
void prePropD(Field &, Field &, const Field &)
void mult_dag(Field &v, const Field &f)
hermitian conjugate of mult(Field&, const Field&).
void prePropDag(Field &, Field &, const Field &)
int field_nin()
returns the on-site d.o.f. for which the fermion operator is defined.
void MeoMoe(Field &, const Field &)
std::vector< GammaMatrix > m_GM