16 #ifdef USE_PARAMETERS_FACTORY 
   33 #ifdef USE_PARAMETERS_FACTORY 
   48   const string str_vlevel = params.
get_string(
"verbose_level");
 
   54   int    Nmdc, Nprec, Mtpl_test;
 
   58   err += params.
fetch_int(
"number_of_steps", Nmdc);
 
   59   err += params.
fetch_int(
"order_of_exp_iP", Nprec);
 
   60   err += params.
fetch_int(
"Metropolis_test", Mtpl_test);
 
  102   for (
int i = 0; i < 
m_action.size(); ++i) {
 
  140   double diff_H = H_tot1 - H_tot0; 
 
  141   double Arprob = exp(-diff_H);    
 
  171   int NcA  = Nc * Nc - 1;              
 
  173   int size_iP = NcA * Lvol * Ndim;     
 
  177   for (
int i = 0; i < 
m_action.size(); ++i) {
 
  192   double H_actions = 0.0;
 
  193   for (
int i = 0; i < 
m_action.size(); ++i) {
 
  198   double H_tot = H_iP + H_actions; 
 
  213   int NcA  = Nc * Nc - 1;
 
  215   int size_iP  = NcA * Lvol * Nex; 
 
  227   double H_actions = 0.0;
 
  228   for (
int i = 0; i < 
m_action.size(); ++i) {
 
  233   double H_tot = H_iP + H_actions;
 
  242   double hn   = iP.
norm();
 
  243   double H_iP = 0.5 * hn * hn;
 
  265   for (
int imdc = 1; imdc < 
m_Nmdc + 1; imdc++) {
 
  287   Field force(Nin, Nvol, Nex);
 
  291   Field  force1(Nin, Nvol, Nex);
 
  293   for (
int i = 0; i < 
m_action.size(); ++i) {
 
  295     force += estep * force1;
 
  312   for (
int ex = 0; ex < Nex; ++ex) {
 
  313     for (
int site = 0; site < Nvol; ++site) {
 
  314       u0 = U.
mat(site, ex);
 
  315       u1 = U.
mat(site, ex);
 
  316       h1 = iP.
mat(site, ex);
 
  318       for (
int iprec = 0; iprec < 
m_Nprec; ++iprec) {
 
  319         double exf = estep / (m_Nprec - iprec); 
 
  331   for (
int i = 0; i < 
m_action.size(); ++i) {
 
void set_parameters(const Parameters ¶ms)
 
void Register_string(const string &, const string &)
 
void general(const char *format,...)
 
void Register_int(const string &, const int)
 
Container of Field-type object. 
 
static const std::string class_name
 
std::valarray< Director * > m_director
 
double set_iP(Field_G &iP)
Setting conjugate momenta and returns kinetic part of Hamiltonian. 
 
double plaquette(const Field_G &)
calculates plaquette value. 
 
Langevin_Momentum * m_Langevin_P
 
void update_P(double estep, Field_G &iP, Field_G &U)
 
Bridge::VerboseLevel m_vl
 
Parameters_HMC_Leapfrog()
 
void integrate(Field_G &iP, Field_G &U)
 
void update_U(double estep, Field_G &iP, Field_G &U)
 
double langevin(Field_G &iP, Field_G &U)
 
double calcH_P(Field_G &iP)
 
void crucial(const char *format,...)
 
std::valarray< Action * > m_action
 
static bool Register(const std::string &realm, const creator_callback &cb)
 
void Register_double(const string &, const double)
 
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 
 
int fetch_int(const string &key, int &val) const 
 
double calc_Hamiltonian(Field_G &iP, Field_G &U)
 
static VerboseLevel set_verbose_level(const std::string &str)