27   for (
int i = 0; i < action.size(); ++i) {
 
   46   for (
int i = 0; i < action.size(); ++i) {
 
   62                            std::vector<Director *> director,
 
   67   for (
int i = 0; i < action.size(); ++i) {
 
   71   for (
int i = 0; i < director.size(); ++i) {
 
   86                            std::vector<Director *> director,
 
   91   for (
int i = 0; i < action.size(); ++i) {
 
   95   for (
int i = 0; i < director.size(); ++i) {
 
  117   for (
int i = 0; i < action_set.size(); ++i) {
 
  138   for (
int i = 0; i < action_set.size(); ++i) {
 
  154                            std::vector<Director *> director,
 
  161   for (
int i = 0; i < action_set.size(); ++i) {
 
  165   for (
int i = 0; i < director.size(); ++i) {
 
  180                            std::vector<Director *> director,
 
  187   for (
int i = 0; i < action_set.size(); ++i) {
 
  191   for (
int i = 0; i < director.size(); ++i) {
 
  216   const string str_vlevel = params.
get_string(
"verbose_level");
 
  222   int    Nmdc, Nprec, Metropolis_test;
 
  226   err += params.
fetch_int(
"number_of_steps", Nmdc);
 
  227   err += params.
fetch_int(
"order_of_exp_iP", Nprec);
 
  228   err += params.
fetch_int(
"Metropolis_test", Metropolis_test);
 
  270   for (
int i = 0; i < 
m_action.size(); ++i) {
 
  308   double diff_H           = H_total1 - H_total0;  
 
  309   double exp_minus_diff_H = exp(-diff_H);         
 
  318   if (rand <= exp_minus_diff_H) { 
 
  339   int NcA  = Nc * Nc - 1;              
 
  341   int size_iP = NcA * Lvol * Ndim;     
 
  357   double H_actions = 0.0;
 
  358   for (
int i = 0; i < 
m_action.size(); ++i) {
 
  363   double H_total = H_iP + H_actions; 
 
  378   int NcA  = Nc * Nc - 1;
 
  380   int size_iP = NcA * Lvol * Nex;  
 
  393   double H_actions = 0.0;
 
  394   for (
int i = 0; i < 
m_action.size(); ++i) {
 
  399   double H_total = H_iP + H_actions;
 
  408   double hn   = iP.
norm();
 
  409   double H_iP = 0.5 * hn * hn;
 
  431   for (
int imdc = 1; imdc < 
m_Nmdc + 1; imdc++) {
 
  453   Field force(Nin, Nvol, Nex);
 
  457   Field force1(Nin, Nvol, Nex);
 
  459   for (
int i = 0; i < 
m_action.size(); ++i) {
 
  461     axpy(force, estep, force1);
 
  465   axpy(iP, 1.0, force);
 
  479   for (
int ex = 0; ex < Nex; ++ex) {
 
  480     for (
int site = 0; site < Nvol; ++site) {
 
  481       u0 = U.
mat(site, ex);
 
  482       u1 = U.
mat(site, ex);
 
  483       h1 = iP.
mat(site, ex);
 
  485       for (
int iprec = 0; iprec < 
m_Nprec; ++iprec) {
 
  486         double exf = estep / (m_Nprec - iprec); 
 
void set_parameters(const Parameters ¶ms)
 
void set(const int jin, const int site, const int jex, double v)
 
void general(const char *format,...)
 
Container of Field-type object. 
 
int fetch_double(const string &key, double &value) const 
 
double plaquette(const Field_G &)
calculates plaquette value. 
 
static const std::string class_name
 
double set_iP(Field_G &iP)
Setting conjugate momenta and returns kinetic part of Hamiltonian. 
 
Langevin_Momentum * m_Langevin_P
 
void update_P(double estep, Field_G &iP, Field_G &U)
 
Bridge::VerboseLevel m_vl
 
std::vector< Action * > m_action
 
ActionSet get_actions() const 
 
int fetch_int(const string &key, int &value) const 
 
void integrate(Field_G &iP, Field_G &U)
 
void update_U(double estep, Field_G &iP, Field_G &U)
 
Common parameter class: provides parameters as singleton. 
 
double langevin(Field_G &iP, Field_G &U)
 
void axpy(Field &y, const double a, const Field &x)
axpy(y, a, x): y := a * x + y 
 
double calcH_P(Field_G &iP)
 
void crucial(const char *format,...)
 
std::vector< Director * > m_director
 
lists of actions at respective integrator levels. 
 
Base class of random number generators. 
 
~HMC_Leapfrog()
destructor 
 
string get_string(const string &key) const 
 
void set_mat(const int site, const int mn, const Mat_SU_N &U)
 
std::vector< Action * > ActionSet
 
Mat_SU_N mat(const int site, const int mn=0) const 
 
double calc_Hamiltonian(Field_G &iP, Field_G &U)
 
static VerboseLevel set_verbose_level(const std::string &str)
 
HMC_Leapfrog(std::vector< Action * > action, RandomNumbers *rand)
constructor: with array of actions 
 
Langevin part of HMC for conjugate momentum to link variable.