61 }
else if (m_mode ==
"Ddag") {
64 }
else if (m_mode ==
"DdagD") {
67 }
else if (m_mode ==
"DDdag") {
70 }
else if (m_mode ==
"H") {
92 for (
int mu = 0; mu < m_Ndim; ++mu) {
98 assert(bc.size() == m_Ndim);
104 for (
int mu = 0; mu < m_Ndim; ++mu) {
105 m_boundary[mu] = bc[mu];
116 for (
int mu = 0; mu < m_Ndim; ++mu) {
136 for (
int mu = 0; mu < m_Ndim; ++mu) {
150 assert(v.
nex() == f.
nex());
151 assert(v.
nin() == f.
nin());
162 assert(ipm == 1 || ipm == -1);
171 }
else if (ipm == -1) {
212 for (
int ex = 0; ex < f.
nex(); ++ex) {
214 shift.backward(trf, f, m_boundary[mu], mu);
227 for (
int ex = 0; ex < f.
nex(); ++ex) {
229 shift.forward(trf2, trf, m_boundary[mu], mu);
248 int flop_per_site = Nc * Nd * 2 * 8 * (4 * Nc - 1);
250 flop_per_site += Nc * Nd * 2 * (4 * 3 + 4 * 2);
251 flop_per_site += Nc * Nd * 2 * 8;
252 flop_per_site += Nc * Nd * 2 * 2;
254 double flop =
static_cast<double>(flop_per_site) *
255 static_cast<double>(Lvol);
257 if ((m_mode ==
"DdagD") || (m_mode ==
"DDdag")) {
void mult_Field_Gd(Field_F &y, const int ex, const Field_G &u, int ex1, const Field_F &x, int ex2)
void set_parameters(const double kappa, const std::valarray< int > bc)
void proj_chiral(Field &w, const int ex1, const Field &v, const int ex2, const int ipm)
void general(const char *format,...)
GammaMatrix get_GM(GMspecies spec)
static Bridge::VerboseLevel Vlevel()
Container of Field-type object.
void D_ex(Field &v, const int ex1, const Field &f, const int ex2)
void D(Field &v, const Field &f)
void(Fopr_Wilson::Fopr_Wilson_impl::* m_mult_dag)(Field &, const Field &)
void mult_up(int mu, Field &w, const Field &v)
adding the hopping to nearest neighbor site in mu-th direction.
void H(Field &w, const Field &f)
void addpart_ex(int ex, const Field &w, int exw)
Wilson-type fermion field.
void mult_GMproj2(Field_F &y, const int pm, const GammaMatrix &gm, const Field_F &x)
projection with gamma matrix: (1 gamma)
void DdagD(Field &w, const Field &f)
const Field_G * m_U
gauge configuration.
std::string get_mode() const
void(Fopr_Wilson::Fopr_Wilson_impl::* m_mult)(Field &, const Field &)
void DDdag(Field &w, const Field &f)
Bridge::VerboseLevel m_vl
void mult_dn(int mu, Field &w, const Field &v)
Bridge::VerboseLevel m_vl
std::valarray< GammaMatrix > m_GM
gamma matrices.
Set of Gamma Matrices: basis class.
static const std::string class_name
static const std::string class_name
void mult_Field_Gn(Field_F &y, const int ex, const Field_G &u, int ex1, const Field_F &x, int ex2)
const Field_F mult_gm5p(int mu, const Field_F &w)
void crucial(const char *format,...)
void set_mode(std::string mode)
void mult_GM(Field_F &y, const GammaMatrix &gm, const Field_F &x)
gamma matrix multiplication
std::valarray< int > m_boundary
boundary condition.
void mult_up(int mu, Field &, const Field &)
void mult_gm5(Field &v, const Field &f)
void mult_undef(Field &, const Field &f)
void setpart_ex(int ex, const Field &w, int exw)
void mult_dn(int mu, Field &, const Field &)
void Ddag(Field &w, const Field &f)
void init(std::string repr)
const Field mult_gm5(const Field &f)