14 #ifndef FOPR_WILSON_IMPL_BGQ_INCLUDED
15 #define FOPR_WILSON_IMPL_BGQ_INCLUDED
65 std::vector<GammaMatrix>
m_GM;
93 void init(std::string repr);
98 void set_parameters(
const double kappa,
const std::vector<int> bc);
111 { (this->*
m_mult)(v, f); }
117 { (this->*
m_gm5)(v, f); }
120 { (this->*
m_D)(v, f); }
158 const Field& f,
const int ex2)
159 { (this->*
m_D_ex)(v, ex1, f, ex2); }
170 const Field& v,
const int ex2,
const int ipm);
205 const Field&,
const int);
278 void daypx_thread(
int,
double *,
double,
const double *);
Fopr_Wilson(const Fopr_Wilson &)
void clear_thread(int, double *)
void mult_undef(Field &, const Field &f)
void D_ex_dirac(Field &, const int ex1, const Field &, const int ex2)
void mult_ym1_thread(int, double *, const double *)
void set_config(Field *U)
setting pointer to the gauge configuration.
void mult_yp2_thread(int, double *, const double *)
void mult_zm(Field &, const Field &)
void mult_tm_dirac(Field &, const Field &)
void mult_xm1_thread(int, double *, const double *)
std::vector< Channel * > m_bw_recv
void mult_tp_dirac(Field &, const Field &)
const double get_fprop_normfactor()
void mult_ym(Field &, const Field &)
void mult_zm1_thread(int, double *, const double *)
static const std::string class_name
std::vector< Channel * > m_bw_send
double flop_count()
returns the flops per site.
void set_config(unique_ptr< Field_G > &U)
std::vector< int > m_boundary
boundary condition.
void gm5_dirac_thread(int, double *, const double *)
std::vector< mult_arg > m_arg
void mult_tp2_chiral_thread(int, double *, const double *)
void mult_tp2_dirac_thread(int, double *, const double *)
Container of Field-type object.
void mult_ymb_thread(int, double *, const double *)
void mult_ypb_thread(int, double *, const double *)
void mult_zm2_thread(int, double *, const double *)
const Field_F mult_gm5p(int mu, const Field_F &w)
void mult_tmb_dirac_thread(int, double *, const double *)
void mult_tm_chiral(Field &, const Field &)
void mult_m(int mu, Field_F &, const Field_F &)
void(Fopr_Wilson::* m_D)(Field &, const Field &)
void DdagD(Field &w, const Field &f)
int field_nin()
returns the on-site d.o.f. for which the fermion operator is defined.
void set_parameters(const Parameters ¶ms)
void mult(Field &v, const Field &f)
multiplies fermion operator to a given field (2nd argument)
void proj_chiral(Field &w, const int ex1, const Field &v, const int ex2, const int ipm)
void D_chiral(Field &, const Field &)
int field_nvol()
returns the volume for which the fermion operator is defined.
void mult_tp1_dirac_thread(int, double *, const double *)
void mult_p(int mu, Field_F &, const Field_F &)
std::string get_mode() const
only for Fopr_Overlap
void gm5_chiral_thread(int, double *, const double *)
Wilson-type fermion field.
void mult_tmb_chiral_thread(int, double *, const double *)
std::vector< double > m_boundary2
b.c. for each node.
void set_mode(std::string mode)
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelev...
void(Fopr_Wilson::* m_gm5)(Field &, const Field &)
Fopr_Wilson(std::string repr)
void D_ex_chiral(Field &, const int ex1, const Field &, const int ex2)
void mult_yp1_thread(int, double *, const double *)
void gm5_chiral(Field &, const Field &)
void mult_up(int mu, Field &, const Field &)
nearest neighbor hopping term: temporary entry [H.Matsufuru]
Bridge::VerboseLevel m_vl
void mult_xp1_thread(int, double *, const double *)
void mult_dag(Field &v, const Field &f)
hermitian conjugate of mult(Field&, const Field&).
void mult_zp1_thread(int, double *, const double *)
double m_kappa
hopping parameter.
Field m_w2
temporary fields.
std::vector< Channel * > m_fw_recv
void mult_tm1_dirac_thread(int, double *, const double *)
void mult_zp(Field &, const Field &)
void D_dirac(Field &, const Field &)
void fprop_normalize(Field &v)
void daypx(Field &, double, const Field &)
void mult_yp(Field &, const Field &)
const Field_G * m_U
gauge configuration.
void mult_ym2_thread(int, double *, const double *)
void mult_xp(Field &, const Field &)
void DDdag(Field &w, const Field &f)
void crucial(const char *format,...)
void mult_xm(Field &, const Field &)
void mult_tp1_chiral_thread(int, double *, const double *)
void mult_gm5(Field &v, const Field &f)
gamma_5 multiplication. [31 Mar 2017 H.Matsufuru]
void(Fopr_Wilson::* m_mult_tp)(Field &, const Field &)
void mult_xpb_thread(int, double *, const double *)
void fopr_normalize(Field &v)
std::vector< GammaMatrix > m_GM
gamma matrices.
void(Fopr_Wilson::* m_mult)(Field &, const Field &)
void daypx_thread(int, double *, double, const double *)
void mult_tpb_chiral_thread(int, double *, const double *)
void(Fopr_Wilson::* m_mult_dag)(Field &, const Field &)
std::vector< Channel * > m_fw_send
void mult_xp2_thread(int, double *, const double *)
int field_nex()
returns the external d.o.f. for which the fermion operator is defined.
void mult_zpb_thread(int, double *, const double *)
void mult_zp2_thread(int, double *, const double *)
void mult_dn(int mu, Field &, const Field &)
void(Fopr_Wilson::* m_mult_tm)(Field &, const Field &)
void mult_tm2_dirac_thread(int, double *, const double *)
void(Fopr_Wilson::* m_D_ex)(Field &, const int, const Field &, const int)
void mult_xmb_thread(int, double *, const double *)
void mult_tp_chiral(Field &, const Field &)
void mult_tm2_chiral_thread(int, double *, const double *)
void mult_tm1_chiral_thread(int, double *, const double *)
const double get_fopr_normfactor()
Base class of fermion operator family.
Fopr_Wilson & operator=(const Fopr_Wilson &)
void D_ex(Field &v, const int ex1, const Field &f, const int ex2)
double * vcp1_xp
arrays for data transfer.
void init(std::string repr)
void mult_tpb_dirac_thread(int, double *, const double *)
void Ddag(Field &w, const Field &f)
void mult_xm2_thread(int, double *, const double *)
void H(Field &w, const Field &f)
void D(Field &v, const Field &f)
void gm5_dirac(Field &, const Field &)
void mult_zmb_thread(int, double *, const double *)