Go to the documentation of this file.
16 #ifdef USE_FACTORY_AUTOREGISTER
18 bool init = Smear_APE_SF::register_factory();
34 std::vector<double> phi, phipr;
53 std::vector<double> rho(
m_rho.size());
54 for (
size_t i = 0; i <
m_rho.size(); ++i) {
67 const std::vector<double>& phi,
68 const std::vector<double>& phipr)
87 for (
int mu = 0; mu <
m_Ndim; ++mu) {
88 for (
int nu = 0; nu <
m_Ndim; ++nu) {
95 for (
int i = 0; i < 3; ++i) {
106 const std::vector<double>& phi,
107 const std::vector<double>& phipr)
111 for (
int mu = 0; mu <
m_Ndim; ++mu) {
129 for (
int mu = 0; mu <
m_Ndim; ++mu) {
130 for (
int nu = 0; nu <
m_Ndim; ++nu) {
137 for (
int i = 0; i < 3; ++i) {
152 assert(U.
nvol() == Nvol);
154 assert(Usmear.
nvol() == Nvol);
162 for (
int mu = 0; mu <
m_Ndim; ++mu) {
167 copy(u_tmp, 0, U, mu);
171 for (
int nu = 0; nu <
m_Ndim; ++nu) {
174 staple.
upper(u_tmp2, U, mu, nu);
175 axpy(c_tmp, 0, rho, u_tmp2, 0);
177 staple.
lower(u_tmp2, U, mu, nu);
178 axpy(c_tmp, 0, rho, u_tmp2, 0);
186 copy(Usmear, mu, u_tmp2, 0);
void set_string(const string &key, const string &value)
void set_parameters(const Parameters ¶ms)
void get_parameters(Parameters ¶ms) const
void set(const int jin, const int site, const int jex, double v)
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 upper(Field_G &, const Field_G &, const int, const int)
void copy(Field &y, const Field &x)
copy(y, x): y = x
std::vector< double > m_phipr
SF boundary condition at t=Nt.
std::vector< double > m_phi
SF boundary condition at t=0.
std::valarray< double > m_rho
void set_boundary_matrix(Mat_SU_N &wk, const std::vector< double > &phi)
Bridge::VerboseLevel m_vl
void lower(Field_G &, const Field_G &, const int, const int)
Mat_SU_N m_wkpr
SF boundary condition at t=Nt.
static VerboseLevel set_verbose_level(const std::string &str)
Mat_SU_N m_wk
SF boundary condition at t=0.
int fetch_string(const string &key, string &value) const
int fetch_double(const string &key, double &value) const
void crucial(const char *format,...)
static const std::string class_name
void set_parameters(const Parameters ¶ms)
int fetch_double_vector(const string &key, vector< double > &value) const
void general(const char *format,...)
void smear(Field_G &Usmear, const Field_G &U)
static std::string get_verbose_level(const VerboseLevel vl)
virtual void project(Field_G &v, const double alpha, const Field_G &C, const Field_G &U)=0
projection V = P[alpha, C, U]