24     void mult_Field_Gn_eo(
Field_F& w, 
int ex,
 
   25                           const Field_G& U, 
const int ex1,
 
   26                           const Field_F& x, 
const int ex2,
 
   30       assert(ex1 < U.
nex());
 
   31       assert(ex2 < x.
nex());
 
   37       for (
int site = 0, nvol = w.
nvol(); site < nvol; ++site) {
 
   38         for (
int s = 0, nd = w.
nd(); s < nd; ++s) {
 
   39           vec = U.
mat(site + ieo * nvol, ex1) * x.
vec(s, site, ex2);
 
   50     void mult_Field_Gd_eo(
Field_F& w, 
int ex,
 
   56       assert(ex1 < U.
nex());
 
   57       assert(ex2 < x.
nex());
 
   63       for (
int site = 0, nvol = w.
nvol(); site < nvol; ++site) {
 
   64         for (
int s = 0, nd = w.
nd(); s < nd; ++s) {
 
   65           vec = U.
mat_dag(site + ieo * nvol, ex1) * x.
vec(s, site, ex2);
 
   75     const string str_vlevel = params.
get_string(
"verbose_level");
 
   99     const std::vector<int> bc)
 
  104     for (
int mu = 0; mu < 
m_Ndim; ++mu) {
 
  110     assert(bc.size() == 
m_Ndim);
 
  116     for (
int mu = 0; mu < 
m_Ndim; ++mu) {
 
  142     } 
else if (
m_mode == 
"Ddag") {
 
  147     } 
else if (
m_mode == 
"DdagD") {
 
  150     } 
else if (
m_mode == 
"DDdag") {
 
  153     } 
else if (
m_mode == 
"H") {
 
  297       assert(f.
nex() == 1);
 
  386                            const Field& f, 
const int ieo)
 
  394       for (
int mu = 0; mu < 
m_Ndim; ++mu) {
 
  408                               const Field& f, 
const int ieo)
 
  422                                const Field& f, 
const int ieo)
 
  451     for (
int ex = 0; ex < f.
nex(); ++ex) {
 
  468     for (
int ex = 0; ex < f.
nex(); ++ex) {
 
  485     for (
int ex = 0; ex < f.
nex(); ++ex) {
 
  486       mult_Field_Gd_eo(
trf, 0, *
m_Ueo, mu, f, ex, 1 - ieo);
 
  506     int flop_Meo = Nc * Nd * 2 * 8 * (4 * Nc - 1);      
 
  508     flop_Meo += Nc * Nd * 2 * (4 * 3 + 4 * 2);          
 
  509     flop_Meo += Nc * Nd * 2 * 8;                        
 
  510     flop_Meo += Nc * Nd * 2;                            
 
  512     int flop_per_site = 2 * flop_Meo + Nc * Nd * 2 * 2; 
 
  514     double flop = 
static_cast<double>(flop_per_site) *
 
  515                   static_cast<double>(Lvol / 2);
 
void scal(Field &x, const double a)
scal(x, a): x = a * x 
 
void backward(Field &, const Field &, const int mu)
 
void mult_gm5(Field &, const Field &)
gamma_5 multiplication. [31 Mar 2017 H.Matsufuru] 
 
static const std::string class_name
 
void set_vec(const int s, const int site, const int e, const Vec_SU_N &F)
 
void general(const char *format,...)
 
GammaMatrix get_GM(GMspecies spec)
 
Container of Field-type object. 
 
int fetch_double(const string &key, double &value) const 
 
void Meo_gm5(Field &, const Field &, const int ieo)
 
void(Fopr_Wilson_eo::* m_preProp)(Field &, Field &, const Field &)
 
void prePropDag(Field &, Field &, const Field &)
 
void H(Field &v, const Field &f)
 
void copy(Field &y, const Field &x)
copy(y, x): y = x 
 
void convertField(Field &eo, const Field &lex)
 
void addpart_ex(int ex, const Field &w, int exw)
 
double flop_count()
this returns the number of floating point operations of Meo. 
 
void(Fopr_Wilson_eo::* m_mult)(Field &, const Field &)
 
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(Fopr_Wilson_eo::* m_postProp)(Field &, const Field &, const Field &)
 
void postPropDag(Field &, const Field &, const Field &)
 
Bridge::VerboseLevel m_vl
 
void reset(const int Nin, const int Nvol, const int Nex, const element_type cmpl=COMPLEX)
 
Set of Gamma Matrices: basis class. 
 
void DdagD(Field &v, const Field &f)
 
void axpy(Field &y, const double a, const Field &x)
axpy(y, a, x): y := a * x + y 
 
void crucial(const char *format,...)
 
void init(const std::string)
 
std::string get_mode() const 
only for Fopr_Overlap 
 
void mult_GM(Field_F &y, const GammaMatrix &gm, const Field_F &x)
gamma matrix multiplication 
 
void mult_p(int mu, Field_F &, const Field_F &, const int ieo)
 
void Ddag(Field &v, const Field &f)
 
void reverseField(Field &lex, const Field &eo)
 
void set_mode(std::string mode)
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelev...
 
Vec_SU_N vec(const int s, const int site, const int e=0) const 
 
Mat_SU_N mat_dag(const int site, const int mn=0) const 
 
void set_config(Field *U)
setting pointer to the gauge configuration. 
 
void(Fopr_Wilson_eo::* m_mult_dag)(Field &, const Field &)
 
void backward_h(Field &, const Field &, const int mu, const int ieo)
 
void set_parameters(const Parameters ¶ms)
 
void postPropD(Field &, const Field &, const Field &)
 
void DDdag(Field &v, const Field &f)
 
void prePropD(Field &, Field &, const Field &)
 
void setpart_ex(int ex, const Field &w, int exw)
 
void mult_m(int mu, Field_F &, const Field_F &, const int ieo)
 
string get_string(const string &key) const 
 
int fetch_int_vector(const string &key, vector< int > &value) const 
 
void MeoMoe(Field &v, const Field &f)
 
void gm5p(const int mu, Field &, const Field &v)
gamma_5 (1 - gamma_mu) v(x + mu) 
 
void D(Field &v, const Field &f)
 
Mat_SU_N mat(const int site, const int mn=0) const 
 
void forward_h(Field &, const Field &, const int mu, const int ieo)
 
static VerboseLevel set_verbose_level(const std::string &str)
 
std::vector< int > m_boundary
 
void Meo(Field &, const Field &, const int ieo)
 
void Mdageo(Field &, const Field &, const int ieo)
 
std::vector< GammaMatrix > m_GM