25   bool init = Action::Factory::Register(
"Action_G_Plaq_SF", create_object);
 
   47 #ifdef USE_PARAMETERS_FACTORY 
   62   const string str_vlevel = params.
get_string(
"verbose_level");
 
   67   double              beta, ct0, ct1, ct2;
 
   68   std::vector<double> phi, phipr;
 
   84   double gg = 6.0 / beta;
 
   85   double ct = ct0 + ct1 * gg + ct2 * gg * gg;
 
  131   int NinG = 2 * Nc * Nc;
 
  138   double H_U = 
calcH();
 
  166   double H_U = -1.0 / Nc * 
m_beta * plaq;
 
  193   assert(force.
nin() == Nin);
 
  194   assert(force.
nvol() == Nvol);
 
  195   assert(force.
nex() == Nex);
 
  199   double   betaNc = 
m_beta / Nc;
 
  202   Field_G st(Nvol, 1), force1(Nvol, 1);
 
  206   for (
int mu = 0; mu < Nex; ++mu) {
 
  208     for (
int site = 0; site < Nvol; ++site) {
 
  209       ut = 
m_U->
mat(site, mu) * st.mat_dag(site);
 
  213     axpy(force, mu, -betaNc, force1, 0);
 
  216   double Fave, Fmax, Fdev;
 
  217   force.
stat(Fave, Fmax, Fdev);
 
  246   for (
int t = 0; t < Nt; t++) {
 
  247     for (
int x = 0; x < Nx; x++) {
 
  248       for (
int y = 0; y < Ny; y++) {
 
  249         for (
int z = 0; z < Nz; z++) {
 
  250           ix = idx.
site(x, y, z, t);
 
  252           for (
int mu = 0; mu < 4; mu++) {
 
  253             Tmp = U->
mat(ix, mu);
 
  254             for (
int c = 0; c < Nc * Nc; ++c) {
 
  256                            x, y, z, t, mu, c, Tmp.
r(c), Tmp.
i(c));
 
void Register_string(const string &, const string &)
 
void set(const int jin, const int site, const int jex, double v)
 
void set_parameters(const Parameters ¶ms)
 
int site(const int &x, const int &y, const int &z, const int &t) const 
 
void general(const char *format,...)
 
void set_parameters(const Parameters ¶ms)
 
Container of Field-type object. 
 
Mat_SU_N & at()
antihermitian traceless 
 
Base class of HMC action class family. 
 
void staple_ct(Field_G &, const Field_G &, const int, double ct)
 
HMC action class for plaquette gauge action with SF BC. 
 
double m_ct
SF boundary improvement coefficient for the plaquatte action. 
 
Parameters_Action_G_Plaq_SF()
 
double * m_phipr
SF boundary condition at t=Nt. 
 
void axpy(Field &y, const double a, const Field &x)
axpy(y, a, x): y := a * x + y 
 
void print_force(const Field_G *)
Print out the gauge force for the boundary spatial links (for debugging). 
 
void crucial(const char *format,...)
 
static bool Register(const std::string &realm, const creator_callback &cb)
 
Bridge::VerboseLevel m_vl
 
Base class of random number generators. 
 
void Register_double_vector(const string &, const std::vector< double > &)
 
static const std::string class_name
 
void stat(double &Fave, double &Fmax, double &Fdev) const 
determines the statistics of the field. average, maximum value, and deviation is determined over glob...
 
int fetch_double_vector(const string &key, std::vector< double > &val) const 
 
void Register_double(const string &, const double)
 
double plaquette_ct(const Field_G &, double ct)
 
double langevin(RandomNumbers *)
Langevis step. 
 
int fetch_double(const string &key, double &val) const 
 
string get_string(const string &key) const 
 
void set_mat(const int site, const int mn, const Mat_SU_N &U)
 
Mat_SU_N mat(const int site, const int mn=0) const 
 
static VerboseLevel set_verbose_level(const std::string &str)
 
double * m_phi
SF boundary condition at t=0.