Chapter 4 Hopping expansion Cross-check
The partition function for one complex field in the \(g=0\) theory is
\[ Z=\int d\mu(\phi) \,e^{-S[\phi]}\\ S= -\kappa\sum_{x}\left[ \phi^\dagger(x) \sum_\mu\phi({x+\mu}) +h.c. \right]\,, \]
The field has the costrain \(\phi^\dagger \phi=1\) so \(\phi \in U(1)\) and \(d\mu\) is the Haar measure over \(U(1)\).
4.0.1 Haar measure
The Haar measure must satisfy \[ \int d\mu(\phi)=1\\ d\mu(\phi')= d\mu(\phi) \quad\mbox{with}\quad \phi'=e^{i\delta}\phi \] these properties are statisfied by \(d\mu=d\theta/2\pi\) with \(\phi=e^{i\theta}\) \[ \int_0^{2\pi} \frac{d\theta}{2\pi}=1\\ \frac{d\theta'}{2\pi}=\frac{d\theta}{2\pi} \quad\mbox{with}\quad \phi'=e^{i\delta}\phi\,. \] With these definitions we can compute \[ \int d\mu(\phi) \phi =\int_0^{2\pi} \frac{d\theta}{2\pi} e^{i\theta}=\oint_{\circlearrowleft} \frac{dz}{2\pi (iz)}z =0 \,,\quad\quad z=e^{i\theta} \] and similar for \(\phi^\dagger\) \[ \int d\mu(\phi) \phi^\dagger =\int_0^{2\pi} \frac{d\theta}{2\pi} e^{-i\theta}=\oint_{\circlearrowright} \frac{dz}{2\pi (-iz)}z=0 \,. \] For all the other power of \(\phi\) we observe that there will not be poles in the integrand and thus the integral will be zero \[ \int d\mu(\phi) \phi^n=0 \quad \mbox{for}\quad n>0\,. \]
4.0.2 Partition function for small hopping parameter \(\kappa\)
Expanding the partition function around \(\kappa=0\) we obtain
\[ Z=\int \prod_x \frac{d\theta(x)}{2\pi} \left[1+\kappa\sum_{x}\left[ \phi^\dagger(x) \sum_\mu\phi({x+\mu}) +h.c. \right]\right]+O(\kappa^2)=1+O(\kappa^2)\,, \] we have use the fact the in the \(O(\kappa)\) term there is at least one integral of the form \(\int d\theta(x) \phi(x)=0\). Notice that up to order \(O(\kappa^2)\) the partition function is already normalized to 1.
4.0.3 Energy
We define the Energy observable as \[ E=\frac{1}{2V}\sum_{x}\left[ \phi^\dagger(x) \sum_\mu\phi({x+\mu}) +h.c. \right]=\frac{V}{2\kappa}S\,. \] It’s expectation value is
\[ \langle E\rangle=\int \prod_x \frac{d\theta(x)}{2\pi} \left[1+\kappa\sum_{x}\left[ \phi^\dagger(x) \sum_\mu\phi({x+\mu}) +h.c. \right]\right]\frac{1}{2V}\sum_{x'}\left[ \phi^\dagger(x') \sum_\mu'\phi({x'+\mu'}) +h.c. \right]+O(\kappa^2)\,. \] The term \(O(\kappa^0)\) is zero since there always be an integral of \(\int d\theta(x) \phi(x)=0\). In the term \(O(\kappa)\) the only non zero contribution comes when the fileds in the Energy observable cancel the fields in the action, this happen only if \(x=x'\) and \(\mu=\mu'\) giving a contribution \(8V\)
- \(2\) for \(\phi^\dagger(x)\phi(x+\mu) (\phi(x)\phi^\dagger(x+\mu))+\phi(x)\phi^\dagger(x+\mu) (\phi(x)^\dagger\phi(x+\mu))\);
- \(4\) sum over \(\mu\);
- \(V\) sum over \(x\).
thus toghether with the overall factor \(\kappa/2V\) we get \[ \langle E\rangle=4\kappa +O(\kappa^2) \]
4.0.4 Numerical test
## Warning: `gather_()` was deprecated in tidyr 1.2.0.
## Please use `gather()` instead.
## This warning is displayed once every 8 hours.
## Call `lifecycle::last_lifecycle_warnings()` to see where this warning was generated.
The result from the fit in the region \(\kappa<\) 0.06 gives
\(\langle E \rangle [\kappa<\) 0.06 \(] =\) -0.002840827 + 4.11504 \(\kappa\)
summary(fit)
##
## Call:
## lm(formula = E_0 ~ k0, data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -3.250e-04 -2.384e-04 -4.208e-05 1.687e-04 8.339e-04
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.0028408 0.0001359 -20.9 <2e-16 ***
## k0 4.1150405 0.0035760 1150.8 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.0002694 on 59 degrees of freedom
## Multiple R-squared: 1, Adjusted R-squared: 1
## F-statistic: 1.324e+06 on 1 and 59 DF, p-value: < 2.2e-16
We repeat for smaller values of \(\kappa\)
for (treshold in c(0.05,0.04,0.03) ){
<- lm(E_0~k0 , data = df[which(df$k0<treshold),])
fit# chi2 and error?
<-coef(fit)[["(Intercept)"]]
a<-coef(fit)[["k0"]]
bcat("$\\langle E \\rangle [\\kappa<$", treshold,"$] =$",a ,"+",b, "$\\kappa$\n\n")
}
\(\langle E \rangle [\kappa<\) 0.05 \(] =\) -0.00207288 + 4.090886 \(\kappa\)
\(\langle E \rangle [\kappa<\) 0.04 \(] =\) -0.001394341 + 4.068108 \(\kappa\)
\(\langle E \rangle [\kappa<\) 0.03 \(] =\) -0.0009570297 + 4.05229 \(\kappa\)
4.0.5 g term
We can do a similar computation setting \(\kappa_0=\kappa_1=0\) and expanding for small \(g\). We compute the expectation value of \[ E_g=\frac{1}{2V}\sum_{x}\left[ \phi_1^\dagger(x) \phi_0^3({x}) +h.c. \right]\,. \] \[ \langle E_g\rangle=\int \prod_x \frac{d\theta(x)}{2\pi} \left[1-\frac{g}{2}\sum_{x}\left[ \phi_1^\dagger(x) \phi_0^3({x}) +h.c. \right]\right]\frac{1}{2V}\sum_{x'}\left[ \phi_1^\dagger(x')\phi_0^3(x') +h.c. \right]+O(g^2)=-\frac{g}{2}\,. \]
##
## Call:
## lm(formula = E_0 ~ g, data = df)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.0009660 -0.0001208 0.0001143 0.0002147 0.0006750
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.0002917 0.0001338 -2.18 0.0499 *
## g -0.4912214 0.0010625 -462.33 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.0004177 on 12 degrees of freedom
## Multiple R-squared: 0.9999, Adjusted R-squared: 0.9999
## F-statistic: 2.137e+05 on 1 and 12 DF, p-value: < 2.2e-16
4.0.6 Numerical integration g term
Setting \(\kappa_0=\kappa_1=0\) we can numerically solve the integral
\[ \langle E_g\rangle=\frac{\int \prod_x \frac{d\theta_1(x) d\theta_2(x) }{(2\pi)^2} e^{-S} E_g}{\int \prod_x \frac{d\theta_1(x) d\theta_2(x) }{(2\pi)^2} e^{-S}}=\frac{\int_0^{2\pi} \frac{d\theta_1 d\theta_2 }{(2\pi)^2} e^{-g \mbox{Re}[\phi_1\phi_0^3] } \mbox{Re}[\phi_1\phi_0^3] }{\int_0^{2\pi}\frac{d\theta_1 d\theta_2 }{(2\pi)^2} e^{-g \mbox{Re}[\phi_1\phi_0^3] } } \]
Using Mathematica we get \[ \langle E_g\rangle(g=3)=-0.809985 \]
while our numerical simulation gives on an \(4^4\) lattice
<- read.table("../check_g/E_T4_L4_msq010000000.000000_msq110000000.000000_l00.000000_l10.000000_mu0.000000_g3.000000_rep0")
df<-mean(df[,3])
m<- sd(df[,3])
errcat("$$\\overline{ E_g} (g=3)=",mean_print(m,err),"$$\n")
\[\overline{ E_g} (g=3)= -0.810(17) \]
#probably the sd can not compute the variance because the vectori is too long
#below we try with binning")
<-1000
bins<-rep(0,bins-1)
df_b<-length(df[,3])
lenfor (i in c(1:bins-1)){
<- mean(df[c(1:len/bins)+i *len/bins ,3])
df_b[i]
}<-mean(df_b)
m<- sd(df_b)
errcat("$$\\overline{ E_g} (g=3)=",mean_print(m,err),"$$\n")
\[\overline{ E_g} (g=3)= -0.8099(17) \]