Chapter 5 Renormalized couplings

we define the Fourier transform of the fiels as \[ \tilde \phi(p_\mu)=\sum_{x_\mu} e^{ip_\mu x^\mu}\phi(x_\mu) \] and the correlations functions

\[ \chi_2^i=\langle \tilde\phi_i(0) \tilde\phi_i^\dagger(0) \rangle\\ \chi_2^i(p_*)=\langle \tilde\phi_i(p_*) \tilde\phi_i^\dagger(p_*) \rangle\\ \chi_4^i=\langle \tilde\phi_i(0)\tilde\phi_i(0)\tilde\phi_i^\dagger(0) \tilde\phi_i^\dagger(0) \rangle\\ \chi_4^{\mu_R}=\langle \mbox{Re}\left\{\tilde \phi_1(0)\tilde\phi_1(0)\tilde\phi_0^\dagger(0) \tilde\phi_0^\dagger(0) \right\}\rangle\\ \chi_4^{g_R}=\langle \mbox{Re}\left\{\tilde \phi_1(0)^\dagger\tilde\phi(0)\tilde\phi_0(0) \tilde\phi_0(0) \right\}\rangle\\ \] with \(p_*=(2\pi/L,0,0,0)\) (in x direction). We use the above correlators we impose the renormalization condition following Weisz and Wolff (2011) \[ Z_i^{-1}\chi_2^i= \frac{1}{m_{iR}^2V}\\ Z_i^{-1}\chi_2^i(p_*)= \frac{1}{V}\frac{1}{m_{iR}^2 +p_*^2} \] Note that \(m_{iR}\) is not the pole mass. Inverting the above renormalization condition we get \[ Z_i^{-1}=\left(\frac{1}{\chi_2(p_*)}- \frac{1}{\chi_2(0)}\right)\frac{1}{p_*^2V}. \]

with these quantities we define the renormalized quantities

\[ m_{iR}^2=Z_i /(\chi_2^i V)\\ \lambda_{iR}= \frac{\chi_4^i- 2\chi_2^i\chi_2^i}{(\chi_2^i)^2} \frac{Z^2_i}{(\chi_2^i)^2}\\ \mu_{R}= \frac{\chi_4^{\mu_R}- \chi_2^0\chi_2^1}{(\chi_2^0\chi_2^1)}\frac{Z_0Z_1}{\chi_2^0\chi_2^1}\\ g_R= \frac{\chi_4^{g_R}}{\chi_2^1(\chi_2^0)^3} \sqrt{Z_1Z_2^3} \]

T=20
L=18
m0s<- c(-1.267, -1.26)
m1s<- c(-0.55, -1.267)
gs<- 0.2*c(0:20)
l0<- 0
l1<- 0
mu<- 0

zeros<-gs*0

df<- data.frame( "g"=zeros, "m02"=zeros, "m12"=zeros,
                 "m_0R2"=zeros,"m_0R2_err"=zeros,
                 "m_1R2"=zeros,"m_1R2_err"=zeros,
                 "lambda0R"=zeros,"lambda0R_err"=zeros,
                 "lambda1R"=zeros, "lambda1R_err"=zeros, 
                 "muR"=zeros, "muR_err"=zeros, 
                 "gR"=zeros, "gR_err"=zeros
                )


create_jack<- function(v, block=1){
  if (block>1){
    N<-length(v)
    bins<- as.integer(N/block)
    vb<-rep(0,bins-1)
    for (i in c(1:bins-1)){
     vb[i]<- mean(v[c(1:N/bins)+i *N/bins ])
    }
    v<- vb
  }
  N<-length(v)
  m<-mean(v)
  jack<- (N*m-v)/(N-1)
  return(jack)
}
error_jack<- function(jack){
  N<-length(jack)
  m<-mean(jack)
  sigma<- sqrt( (N-1)*mean((jack-m)^2) )
  
  return(sigma)
}

V<- T*L*L*L
count=0
for(g in gs){
for(m0 in m0s){
for(m1 in m1s){
  dir<-paste("../couplings_R/data")
  file=sprintf("%s/E_T%d_L%d_msq0%.6f_msq1%.6f_l0%.6f_l1%.6f_mu%.6f_g%.6f_rep0",dir,T,L,m0,m1,l0,l1,mu,g)
  if(file.exists(file)){
    dfi<- read.table(file)
    # the code does the FT as 1/V \sum_x 
    # here we remove the factor 1/V for each filed
    chi20<- create_jack(dfi[,4], block = 100)*V^2
    chi21<- create_jack(dfi[,5], block = 100)*V^2
    chi20p<- create_jack(dfi[,6], block = 100)*V^2
    chi21p<- create_jack(dfi[,7], block = 100)*V^2
    
    chi40<- create_jack(dfi[,8], block = 100)*V^4
    chi41<- create_jack(dfi[,9], block = 100)*V^4
    chi4mu<- create_jack(dfi[,10], block = 100)* V^4
    chi4g<- create_jack(dfi[,11], block = 100)* V^4
    
    Z0<-(2*pi *V/18)* (chi20*chi20p)/(chi20-chi20p)
    Z1<-(2*pi*V/18)* (chi21*chi21p)/(chi21-chi21p)
    m0r2<-Z0/(chi20*V)
    m1r2<-Z1/(chi21*V)
    l0r<-(chi40-2*chi20*chi20)*Z0^2/(chi20^4)
    l1r<-(chi41-2*chi21*chi21)*Z1^2/(chi21^4)
    mur<-(chi4mu-chi20*chi21)*(Z1 *Z0)/((chi20^2) * chi21^2)
    gr<-(chi4g)*sqrt(Z1 *Z0^3)/((chi20^3) *chi21)
    # dfi<- read.table(file)
    # k0<- 1/(8+m0)
    # k1<- 1/(8+m1)
    # gl<- g*(4. * sqrt(k0 * k1 * k1 * k1))
    df[count+1,]<- list(g,m0,m1,
                        mean(m0r2), error_jack(m0r2),
                        mean(m1r2), error_jack(m1r2),
                        mean(l0r), error_jack(l0r),
                        mean(l1r), error_jack(l1r),
                        mean(mur), error_jack(mur),
                        mean(gr), error_jack(gr)
                              )
    count=count+1
  }
}} #masses
}#g
detach("package:Rose", unload=TRUE)
library("Rose")
gg<- myggplot(color=TRUE, shape=T, fill=FALSE)

gg<- gg+ geom_point(data=df,
                aes(x=g, y=m_0R2, color=paste("mR0",df$m02,df$m12),
                    shape=paste("mR0",df$m02,df$m12)))
gg <- gg + geom_errorbar(data=df,
                aes(x=g, ymin=m_0R2-m_0R2_err,  ymax=m_0R2+m_0R2_err ,
                    color=paste("mR0",df$m02,df$m12),
                    shape=paste("mR0",df$m02,df$m12))) 
## Warning: Ignoring unknown aesthetics: shape
gg<- gg+ geom_point(data=df,
                aes(x=g, y=m_1R2, color=paste("mR1",df$m02,df$m12),
                    shape=paste("mR1",df$m02,df$m12) ))
gg <- gg + geom_errorbar(data=df,
                aes(x=g, ymin=m_1R2-m_1R2_err,  ymax=m_1R2+m_1R2_err ,
                    color=paste("mR1",df$m02,df$m12),
                    shape=paste("mR1",df$m02,df$m12)))
## Warning: Ignoring unknown aesthetics: shape
myplotly(gg,"","g" , to_print = FALSE)
## Warning: Use of `df$m02` is discouraged. Use `m02` instead.
## Warning: Use of `df$m12` is discouraged. Use `m12` instead.
## Warning: Use of `df$m02` is discouraged. Use `m02` instead.
## Warning: Use of `df$m12` is discouraged. Use `m12` instead.
## Warning: Use of `df$m02` is discouraged. Use `m02` instead.
## Warning: Use of `df$m12` is discouraged. Use `m12` instead.
## Warning: Use of `df$m02` is discouraged. Use `m02` instead.
## Warning: Use of `df$m12` is discouraged. Use `m12` instead.
## Warning: Use of `df$m02` is discouraged. Use `m02` instead.
## Warning: Use of `df$m12` is discouraged. Use `m12` instead.
## Warning: Use of `df$m02` is discouraged. Use `m02` instead.
## Warning: Use of `df$m12` is discouraged. Use `m12` instead.
## Warning: Use of `df$m02` is discouraged. Use `m02` instead.
## Warning: Use of `df$m12` is discouraged. Use `m12` instead.
## Warning: Use of `df$m02` is discouraged. Use `m02` instead.
## Warning: Use of `df$m12` is discouraged. Use `m12` instead.
library(Rose)
library(ggplot2)
library(plotly)
gg<- myggplot(color=TRUE, shape=T, fill=FALSE)
gg<- gg+ geom_point(data=df,
                aes(x=g, y=lambda0R,  color=paste("lambdaR0",df$m02,df$m12) ))
gg <- gg + geom_errorbar(data=df,
                aes(x=g, ymin=lambda0R-lambda0R_err, 
                    ymax=lambda0R+lambda0R_err , color=paste("lambdaR0",df$m02,df$m12)
                    )) 
gg<- gg+ geom_point(data=df,
                aes(x=g, y=lambda1R,  color=paste("lambdaR1",df$m02,df$m12)))
gg <- gg + geom_errorbar(data=df,
                aes(x=g, ymin=lambda1R-lambda1R_err, 
                    ymax=lambda1R+lambda1R_err ,
                    color=paste("lambdaR1",df$m02,df$m12))) 

myplotly(gg,"","g" , to_print = FALSE)
## Warning: Use of `df$m02` is discouraged. Use `m02` instead.
## Warning: Use of `df$m12` is discouraged. Use `m12` instead.
## Warning: Use of `df$m02` is discouraged. Use `m02` instead.
## Warning: Use of `df$m12` is discouraged. Use `m12` instead.
## Warning: Use of `df$m02` is discouraged. Use `m02` instead.
## Warning: Use of `df$m12` is discouraged. Use `m12` instead.
## Warning: Use of `df$m02` is discouraged. Use `m02` instead.
## Warning: Use of `df$m12` is discouraged. Use `m12` instead.
library(Rose)
library(ggplot2)
library(plotly)
gg<- myggplot(color=TRUE, shape=T, fill=FALSE)
gg<- gg+ geom_point(data=df,
                aes(x=g, y=gR,
                color=paste(df$m02,df$m12)  ) )
gg <- gg + geom_errorbar(data=df,
                aes(x=g, ymin=gR-gR_err,  ymax=gR+gR_err , 
                    color=paste(df$m02,df$m12)  ) ) 
myplotly(gg, to_print = FALSE)
## Warning: Use of `df$m02` is discouraged. Use `m02` instead.
## Warning: Use of `df$m12` is discouraged. Use `m12` instead.
## Warning: Use of `df$m02` is discouraged. Use `m02` instead.
## Warning: Use of `df$m12` is discouraged. Use `m12` instead.

References

Weisz, Peter, and Ulli Wolff. 2011. “Triviality of Theory: Small Volume Expansion and New Data.” Nuclear Physics B 846 (2): 316–37. https://arxiv.org/pdf/1012.0404.pdf.