Go to the documentation of this file.
38 vout.
crucial(
"Error in %s: irrelevant mult mode = %s\n",
158 const std::vector<int> bc)
160 assert(bc.size() ==
m_Ndim);
178 for (
int mu = 0; mu <
m_Ndim; ++mu) {
244 if (ith == 0)
m_mode = mode;
297 const int mu,
const int nu)
368 const int mu,
const int nu)
399 const int flop_site =
m_Nc *
m_Nd * (2 + 12 + 48 *
m_Nc);
401 const double gflop = flop_site * (Nvol * (NPE / 1.0e+9));
Set of Gamma Matrices: basis class.
void mult_csw(Field &, const Field &)
void get_parameters(Parameters ¶ms) const
gets parameters by a Parameter object: to be implemented in a subclass.
void mult_gm5(Field &v, const Field &w)
multiplies gamma_5 matrix.
void mult_Field_Gdn(Field_G &W, const int ex, const Field_G &U1, const int ex1, const Field_G &U2, const int ex2)
void set_string(const string &key, const string &value)
void forward(Field &, const Field &, const int mu)
static int get_num_threads()
returns available number of threads.
void set_fieldstrength(Field_G &, const int, const int)
void mult_dag(Field &v, const Field &f)
hermitian conjugate of mult.
Field_G m_u2
working field
void mult_GM(Field_F &y, const GammaMatrix &gm, const Field_F &x)
gamma matrix multiplication
void set(const int jin, const int site, const int jex, double v)
void set_double(const string &key, const double value)
Bridge::VerboseLevel m_vl
void detailed(const char *format,...)
bool check_size(const int nin, const int nvol, const int nex) const
checking size parameters. [23 May 2016 H.Matsufuru]
void set_config_omp(Field *U)
void lower(Field_G &, const Field_G &, const int mu, const int nu)
constructs lower staple in mu-nu plane.
void axpy(Field &y, const double a, const Field &x)
axpy(y, a, x): y := a * x + y
void mult_isigma(Field_F &, const Field_F &, const int mu, const int nu)
void set_config(Field *U)
sets the gauge configuration.
void set_parameters(const Parameters ¶ms)
sets parameters by a Parameter object: to be implemented in a subclass.
static const std::string class_name
void copy(Field &y, const Field &x)
copy(y, x): y = x
void tidyup()
final clean-up.
void multadd_Field_Gn(Field_F &y, const int ex, const Field_G &u, int ex1, const Field_F &x, int ex2, const double a)
std::vector< GammaMatrix > m_SG
double flop_count()
this returns the number of floating point operations.
void mult(Field &v, const Field &f)
multiplies fermion operator to a given field.
void ah_Field_G(Field_G &W, const int ex)
void mult_iGM(Field_F &y, const GammaMatrix &gm, const Field_F &x)
gamma matrix multiplication (i is multiplied)
void mult_sigmaF(Field &, const Field &)
void set_config_impl(Field *U)
int fetch_int_vector(const string &key, vector< int > &value) const
int sg_index(const int mu, const int nu)
void set_int_vector(const string &key, const vector< int > &value)
Methods to shift a field in the lexical site index.
void multadd_Field_Gnd(Field_G &W, const int ex, const Field_G &U1, const int ex1, const Field_G &U2, const int ex2, const double ff)
void upper(Field_G &, const Field_G &, const int mu, const int nu)
constructs upper staple in mu-nu plane.
void init(const Parameters ¶ms)
initialization (standard).
static Bridge::VerboseLevel Vlevel()
static VerboseLevel set_verbose_level(const std::string &str)
void setup()
initialization common part.
void scal(Field &x, const double a)
scal(x, a): x = a * x
int fetch_string(const string &key, string &value) const
Wilson-type fermion field.
int fetch_double(const string &key, double &value) const
GammaMatrix get_GM(GMspecies spec)
void crucial(const char *format,...)
void set_mode(const std::string mode)
setting the mode of multiplication if necessary. Default implementation here is just to avoid irrelev...
Container of Field-type object.
const Field_G * m_U
pointer to gauge configuration.
static int get_thread_id()
returns thread id.
std::vector< int > m_boundary
void general(const char *format,...)
void multadd_Field_Gdn(Field_G &W, const int ex, const Field_G &U1, const int ex1, const Field_G &U2, const int ex2, const double ff)
Field_F m_v3
working field
void mult_Field_Gnd(Field_G &W, const int ex, const Field_G &U1, const int ex1, const Field_G &U2, const int ex2)
static void assert_single_thread(const std::string &class_name)
assert currently running on single thread.
static std::string get_verbose_level(const VerboseLevel vl)
Field_G m_Ez
field strength.