14 #ifndef FOPR_WILSON_IMPL_INCLUDED
15 #define FOPR_WILSON_IMPL_INCLUDED
58 std::vector<GammaMatrix>
m_GM;
78 void init(std::string repr);
82 void set_parameters(
const double kappa,
const std::vector<int> bc);
98 { (this->*
m_gm5)(v, f); }
101 { (this->*
m_D)(v, f); }
138 vout.
crucial(m_vl,
"Fopr_Wilson: mode undefined.\n");
143 const Field& f,
const int ex2)
144 { (this->*
m_D_ex)(v, ex1, f, ex2); }
157 const Field& v,
const int ex2,
const int ipm);
165 {
scal(v, 2.0 * m_kappa); }
168 {
scal(v, 1.0 / (2.0 * m_kappa)); }
186 const Field&,
const int);
188 void D_chiral(Field&,
const Field&);
189 void D_dirac(Field&,
const Field&);
193 void D_ex_chiral(Field&,
const int ex1,
const Field&,
const int ex2);
194 void D_ex_dirac(Field&,
const int ex1,
const Field&,
const int ex2);
199 void mult_xp(Field&,
const Field&);
200 void mult_xm(Field&,
const Field&);
201 void mult_yp(Field&,
const Field&);
202 void mult_ym(Field&,
const Field&);
203 void mult_zp(Field&,
const Field&);
204 void mult_zm(Field&,
const Field&);
211 void daypx(Field&,
double,
const Field&);
259 void daypx_thread(
int,
double *,
double,
const double *);
265 void mult_xpu(Field&,
const Field&);
266 void mult_ypu(Field&,
const Field&);
267 void mult_zpu(Field&,
const Field&);
void daypx(Field &, double, const Field &)
void scal(Field &x, const double a)
scal(x, a): x = a * x
std::vector< GammaMatrix > m_GM
gamma matrices.
void mult_zp(Field &, const Field &)
void mult_zp2_thread(int, double *, const double *)
void mult_tpu_dirac(Field &, const Field &)
void mult_yp2_thread(int, double *, const double *)
void set_parameters(const double kappa, const std::vector< int > bc)
std::vector< int > m_boundary
boundary condition.
void gm5_chiral(Field &, const Field &)
void proj_chiral(Field &w, const int ex1, const Field &v, const int ex2, const int ipm)
void mult_dag(Field &v, const Field &f)
double * vcp1_xp
arrays for data transfer.
void mult_tm1_dirac_thread(int, double *, const double *)
void mult_m(int mu, Field_F &, const Field_F &)
void gm5_dirac_thread(int, double *, const double *)
void mult_tm_dirac(Field &, const Field &)
Container of Field-type object.
void D_ex(Field &v, const int ex1, const Field &f, const int ex2)
void(Fopr_Wilson::Fopr_Wilson_impl::* m_D_ex)(Field &, const int, const Field &, const int)
void D(Field &v, const Field &f)
void set_config(Field *U)
void(Fopr_Wilson::Fopr_Wilson_impl::* m_mult_dag)(Field &, const Field &)
void mult_ym2_thread(int, double *, const double *)
void mult_xp2_thread(int, double *, const double *)
void mult_tp_chiral(Field &, const Field &)
void H(Field &w, const Field &f)
void mult_yp1_thread(int, double *, const double *)
void D_chiral(Field &, const Field &)
void mult_zpu(Field &, const Field &)
void mult_xpu(Field &, const Field &)
void mult_tm1_chiral_thread(int, double *, const double *)
void mult_ym1_thread(int, double *, const double *)
void mult_xm(Field &, const Field &)
void mult_xp1_thread(int, double *, const double *)
Wilson-type fermion field.
void fprop_normalize(Field &v)
void mult_xm2_thread(int, double *, const double *)
void DdagD(Field &w, const Field &f)
const Field_G * m_U
gauge configuration.
Field m_w2
temporary fields.
void mult_tp1_dirac_thread(int, double *, const double *)
std::vector< mult_arg > m_arg
Fopr_Wilson_impl & operator=(const Fopr_Wilson::Fopr_Wilson_impl &)
void mult_ymb_thread(int, double *, const double *)
std::string get_mode() const
void(Fopr_Wilson::Fopr_Wilson_impl::* m_mult)(Field &, const Field &)
void DDdag(Field &w, const Field &f)
void mult_tpu_chiral(Field &, const Field &)
Fopr_Wilson_impl(const Fopr_Wilson::Fopr_Wilson_impl &)
void mult_zpb_thread(int, double *, const double *)
void mult_xm1_thread(int, double *, const double *)
void daypx_thread(int, double *, double, const double *)
Bridge::VerboseLevel m_vl
void mult_ym(Field &, const Field &)
void mult_tpb_chiral_thread(int, double *, const double *)
void(Fopr_Wilson::Fopr_Wilson_impl::* m_D)(Field &, const Field &)
void mult_tp1_chiral_thread(int, double *, const double *)
double m_kappa
hopping parameter.
void(Fopr_Wilson::Fopr_Wilson_impl::* m_gm5)(Field &, const Field &)
void mult_p(int mu, Field_F &, const Field_F &)
void D_ex_chiral(Field &, const int ex1, const Field &, const int ex2)
void D_ex_dirac(Field &, const int ex1, const Field &, const int ex2)
static const std::string class_name
void gm5_chiral_thread(int, double *, const double *)
void mult_tp2_chiral_thread(int, double *, const double *)
const Field_F mult_gm5p(int mu, const Field_F &w)
void mult_zp1_thread(int, double *, const double *)
void clear_thread(int, double *)
void mult_ypb_thread(int, double *, const double *)
void crucial(const char *format,...)
void set_mode(std::string mode)
void mult_zmb_thread(int, double *, const double *)
void fopr_normalize(Field &v)
void(Fopr_Wilson::Fopr_Wilson_impl::* m_mult_tm)(Field &, const Field &)
void mult_tmb_dirac_thread(int, double *, const double *)
void mult_tp_dirac(Field &, const Field &)
void mult_up(int mu, Field &, const Field &)
void mult_ypu(Field &, const Field &)
void mult(Field &v, const Field &f)
void D_dirac(Field &, const Field &)
void mult_gm5(Field &v, const Field &f)
void mult_xmb_thread(int, double *, const double *)
void mult_zm(Field &, const Field &)
void mult_undef(Field &, const Field &f)
void mult_xpb_thread(int, double *, const double *)
void mult_zm2_thread(int, double *, const double *)
void mult_tm2_dirac_thread(int, double *, const double *)
std::vector< double > m_boundary2
b.c. for each node.
void mult_tpb_dirac_thread(int, double *, const double *)
void mult_yp(Field &, const Field &)
void mult_tp2_dirac_thread(int, double *, const double *)
void mult_zm1_thread(int, double *, const double *)
void mult_xp(Field &, const Field &)
void mult_dn(int mu, Field &, const Field &)
void Ddag(Field &w, const Field &f)
void mult_tm2_chiral_thread(int, double *, const double *)
void init(std::string repr)
void(Fopr_Wilson::Fopr_Wilson_impl::* m_mult_tp)(Field &, const Field &)
void mult_tmb_chiral_thread(int, double *, const double *)
void mult_tm_chiral(Field &, const Field &)
void gm5_dirac(Field &, const Field &)