Go to the documentation of this file.
43 std::vector<double> phi, phipr, p_omega;
89 const std::vector<double>& phipr,
90 const std::vector<double>& p_omega)
106 assert(phi.size() == 3);
107 assert(phipr.size() == 3);
108 assert(p_omega.size() == 3);
140 const std::vector<double>& phipr)
232 for (
int nu = 0; nu < Ndim - 1; nu++) {
236 for (
int z = 0; z < Nz; z++) {
237 for (
int y = 0; y < Ny; y++) {
238 for (
int x = 0; x < Nx; x++) {
264 up =
staple.mat_dag(site) * U.
mat(site, 3);
289 vout.
general(
m_vl,
"SF_delSg_plaq, from 0, from T = %.8f %.8f %.8f\n", plaq, plaqt0, plaqtT);
423 for (
int mu = 0; mu < Ndim - 1; mu++) {
449 upper(Cup2, U, nu, mu);
463 for (
int z = 0; z < Nz; z++) {
464 for (
int y = 0; y < Ny; y++) {
465 for (
int x = 0; x < Nx; x++) {
476 wmat = cmat * Unu.
mat_dag(site);
481 wmat = cmat * Unu.
mat_dag(site);
495 cmat = Unu.
mat(site) * wmat;
500 cmat = Unu.
mat(site) * wmat;
516 upper(Cup1, U, mu, nu);
521 for (
int z = 0; z < Nz; z++) {
522 for (
int y = 0; y < Ny; y++) {
523 for (
int x = 0; x < Nx; x++) {
532 cmat = Unu.
mat(site) * wmat;
550 lower(Cdn1, U, mu, nu);
554 for (
int z = 0; z < Nz; z++) {
555 for (
int y = 0; y < Ny; y++) {
556 for (
int x = 0; x < Nx; x++) {
567 wmat = cmat * Cdn1.
mat_dag(site);
568 rectt3 +=
ReTr(Unu.
mat(site) * wmat);
588 double rect = -rect01 - rect02 - rect03 + rectt1 + rectt2 + rectt3;
590 vout.
general(
m_vl,
"SF_delSg_rect, at 01, 02, 03, at T1, T2, T3 = %.8f %.8f %.8f %.8f %.8f %.8f %.8f\n",
591 rect, rect01, rect02, rect03, rectt1, rectt2, rectt3);
660 for (
int site = 0; site < Nvol; site++) {
665 for (
int site = 0; site < Nvol; site++) {
670 for (
int site = 0; site < Nvol; site++) {
703 for (
int nu = 0; nu < Ndim - 1; nu++) {
706 for (
int site = 0; site < Nvol; site++) {
748 for (
int nu = 0; nu < Ndim - 1; nu++) {
757 for (
int site = 0; site < Nvol; site++) {
799 for (
int nu = 0; nu < Ndim; nu++) {
803 upper(c_tmp, U, mu, nu);
806 lower(c_tmp, U, mu, nu);
841 for (
int nu = 0; nu < Ndim; nu++) {
846 upper(staple_upper, U, mu, nu);
847 lower(staple_lower, U, mu, nu);
869 axpy(W, 1.0, staple_upper);
870 axpy(W, 1.0, staple_lower);
974 const double plaq2 = plaq + 3 * 3 * Lx * Ly * Lz;
977 plaq / (3 * Lx * Ly * Lz * (6 * Lt - 3)));
979 plaq2 / (3 * 6 * Lx * Ly * Lz * Lt));
void set_boundary_wkpr(Field_G &u, const Mat_SU_N &wkpr)
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 set_parameters(const Parameters ¶ms)
void staple_ct(Field_G &, const Field_G &, const int, const double ct)
void forward(Field &, const Field &, const int mu)
void set(const int jin, const int site, const int jex, double v)
Mat_SU_N mat_dag(const int site, const int mn=0) const
double plaquette(const Field_G &)
double sf_coupling_rect(const Field_G &, const double ctr)
void set_boundary_wk(Field_G &u, const Mat_SU_N &wk)
void axpy(Field &y, const double a, const Field &x)
axpy(y, a, x): y := a * x + y
void set_double_vector(const string &key, const vector< double > &value)
void staple(Field_G &, const Field_G &, const int)
void upper(Field_G &, const Field_G &, const int, const int)
std::vector< double > m_phi
void copy(Field &y, const Field &x)
copy(y, x): y = x
double plaquette_ct(const Field_G &, const double ct)
void set(int c, const double &re, const double &im)
void mult_ct_boundary(Field_G &u, const int t, const double ct)
void set_boundary_zero(Field_G &u)
static int reduce_sum(int count, dcomplex *recv_buf, dcomplex *send_buf, int pattern=0)
make a global sum of an array of dcomplex over the communicator. pattern specifies the dimensions to ...
double sf_coupling_plaq(const Field_G &, const double ct)
std::vector< double > m_phipr
int site(const int &x, const int &y, const int &z, const int &t) const
std::vector< double > m_p_omega
void set_boundary_matrix(Mat_SU_N &wk, const std::vector< double > &phi)
double plaq_t_ct(const Field_G &, const double ct)
void lower(Field_G &, const Field_G &, const int, const int)
static VerboseLevel set_verbose_level(const std::string &str)
static const std::string class_name
void mult_Field_Gnn(Field_G &W, const int ex, const Field_G &U1, const int ex1, const Field_G &U2, const int ex2)
void backward(Field &, const Field &, const int mu)
Bridge::VerboseLevel m_vl
static int ipe(const int dir)
logical coordinate of current proc.
void print_plaquette(const Field_G &)
int fetch_string(const string &key, string &value) const
void crucial(const char *format,...)
double ReTr(const Mat_SU_N &m)
Mat_SU_N mat(const int site, const int mn=0) const
double plaq_t(const Field_G &)
int fetch_double_vector(const string &key, vector< double > &value) const
void general(const char *format,...)
void get_parameters(Parameters ¶ms) const
void mult_Field_Gnd(Field_G &W, const int ex, const Field_G &U1, const int ex1, const Field_G &U2, const int ex2)
double plaq_s(const Field_G &)
static std::string get_verbose_level(const VerboseLevel vl)