Show code cell content
import mmf_setup;mmf_setup.nbinit()
import logging;logging.getLogger('matplotlib').setLevel(logging.CRITICAL)
%matplotlib inline
import numpy as np, matplotlib.pyplot as plt
This cell adds /home/docs/checkouts/readthedocs.org/user_builds/physics-581-the-standard-model/checkouts/latest/src to your path, and contains some definitions for equations and some CSS for styling the notebook. If things look a bit strange, please try the following:
- Choose "Trust Notebook" from the "File" menu.
- Re-execute this cell.
- Reload the notebook.
Scalar Field Theory#
Here we work through some details of the scalar field theory of phonons developed in [Donoghue and Sorbo, 2022]. Equation number references are to this textbook.
Path Integral#
We start with the path integral (8.37) as a generating functional:
Perturbative Expansion#
To work with this perturbatively, we separate the quadratic piece from the rest, which we call the interactions:
The idea here is that we know how to explicitly solve for the quadratic terms by completing the square (8.21):
To compute the additional terms, we simply differentiate (8.38):
Expanding this first exponential in powers of the coupling constants \(c_n\) gives the perturbative expansion.
Propagator#
To proceed, we must compute the quadratic path integral (8.21). This can be done by completing the square, and introducing a convergence factor (8.22) resulting in the expression (8.28)
This should be compared with the child problem §I.7(9) in [Zee, 2010]:
From this, we see that the propagator \(-\I \hbar D_F(x-y)\) can be thought of as the matrix elements \([\mat{A}^{-1}]_{xy}\) taken to the continuum limit where the matrix indices are the space-time coordinates \(x\) and \(y\).
Following this analogy, we have that \(-S_0(\phi)/\I\hbar \equiv -\tfrac{1}{2}\vect{q}\cdot\mat{A}\cdot \vect{q}\) where \(\phi(x) \equiv [\vect{q}]_{x}\):
we see that \(\mat{A}\mat{A}^{-1} = \mat{1}\) is equivalent (after integrating the first term by parts) to
In other words, the propagator \(D_F(x-y)\) is a Green’s function (8.24):
Causality and Convergence#
Here we face an issue: the operator \(\partial_\mu\partial^\mu + m^2\) is singular (has zero eigenfunctions), meaning that \(\mat{A}\) cannot be inverted, and therefore that there is not a unique solution for \(D_F(x)\). To resolve this, one typically adds a convergence factor, in the book written as \(\I\epsilon\) in (8.24):
This resolves the singularities and uniquely defines what is known as the Feynman propagator (hence the subscript \(F\)). Several other options are common.
To elucidate the meaning, we first consider a field theory in \(d=1\) dimension (no space):
This is an inhomogeneous linear differential equation. The general homogeneous solution is
The inhomogeneous solution can be found by stitching together these solutions such that the function is continuous, but the derivative has a unit step at \(t=0\):
We have expressed this general solution as the general homogeneous solution plus the advanced Green’s function \(D_{\mathrm{adv}}(t)\) which vanishes for \(t<0\). One can also define the retarded or causal \(D_{\mathrm{ret}}(t)\) Green’s function, which vanishes for \(t>0\) c.f. (4.47).
Show code cell content
from myst_nb import glue
w = 10
t = np.linspace(-20, 20, 200)/w
fig, ax = plt.subplots(figsize=(3, 2))
D_adv = np.where(t>0, -np.sin(w*t)/w, 0)
D_ret = np.where(t<0, np.sin(w*t)/w, 0)
ax.plot(w*t, w*D_adv, label=r"$D_{\mathrm{adv}}(t)$")
ax.plot(w*t, w*D_ret, label=r"$D_{\mathrm{ret}}(t)$")
ax.set(ylim=(-2.3, 1.1), yticks=[-1, 0, 1],
xlabel=r"$\omega t$", ylabel=r"$\omega D(t)$")
ax.legend()
glue("fig_propagators", fig, display=False);
Do It! Use the Green’s function to do some sourcery.
Use the Green’s function to solve the Klein-Gordon equation for an external source that is a step function:
I.e. start with the vacuum state at early times \(t \rightarrow -\infty\) and solve the Klein-Gordon equation with this source:
Hint: Express \(J(t)\) as a “sum” of delta-functions, then write the solution as the same “sum” using \(D_{\mathrm{adv}}(t)\).
Solution
The standard use of Green’s functions is:
(C.f. (4.48).) Proof:
Explicit form: \(u=t-t'\), \(\d{u} = -\d{t'}\)
Fig. 4 Here are some solutions.#
Show code cell content
t0 = 1
fig, ax = plt.subplots(figsize=(6, 3))
t = np.linspace(-1, 6, 400)*t0
J0 = 1
for w in [1, 2, 15, 6*np.pi]:
phi = J0*(np.cos(w*np.maximum(t-t0, 0)) - np.cos(w*np.maximum(t, 0)))
ax.plot(t/t0, phi/J0, label=f"$\omega t_0={w*t0:.3g}$")
ax.set(xlabel=r"$t/t_0$", ylabel=r"$\phi/J_0$")
ax.legend();
glue("fig_step_solution", fig, display=False);
Although this was easily solved, let’s also directly evaluate this using Fourier techniques, which will generalize to higher dimension.
Thus, formally,
though, again, this is singular and thus not well defined until we include a convergence factor. As is done in [Donoghue and Sorbo, 2022] (8.24), one commonly sees this added as
Note
I prefer to do this slightly differently by promoting \(E \equiv p_0 \rightarrow (1+\I 0^+)p_0\) where I use the notation \(0^+ \equiv \epsilon\) to be explicit about the sign. In this propagator, these are equivalent:
However, in other cases, the correct procedure is to shift the poles based on the sign of the energy, so affixing the convergence factor to \(E\equiv p_0\) is more generally valid.
To compute the propagator in real space, we can now perform the integral over \(p_0\) as a contour integral (see Fig. Contours.):
Show code cell content
from myst_nb import glue
t = np.linspace(-1, 1)
th = np.linspace(0, np.pi)
E = 0.5
ie = 0.1j
ws = np.array([E*(1-ie), -E*(1-ie)])
fig, ax = plt.subplots(figsize=(3, 3))
ax.plot(ws.real, ws.imag, 'xk')
ax.plot(t, 0.2*abs(ie)+0*t, 'C0-')
ax.plot(np.cos(th), np.sin(th), 'C0-', label="$t<0$")
ax.plot(t, -0.2*abs(ie)+0*t, 'C1-')
ax.plot(np.cos(th), -np.sin(th), 'C1-', label="$t>0$")
ax.set(xlabel=r"$\Re\omega$", ylabel=r"$\Im \omega$")
ax.legend()
glue("fig_contour", fig, display=False);
To do this integral, note that the integrand is an analytic function with two poles:
Thus, if the poles are at positive energy, then they are shifted down into the lower half-plane, but if they are negative, then they are shifted up. If \(t>0\), we can close the contour down, picking up the positive-energy pole, otherwise we must close the contour up:
Show code cell content
# Check that our formula are correct
from scipy.integrate import quad
E = 2.0
e = 0.001
def quadc(f, *v, **kw):
ri, re = quad(lambda *v: f(*v).real, *v, **kw)
ii, ie = quad(lambda *v: f(*v).imag, *v, **kw)
return ri + 1j*ii, re + 1j*ie
def f_F(w, e=e):
global t
return np.exp(1j*w*t)/((w*(1+1j*e))**2 - E**2)/2/np.pi
def f_ret(w, e=e):
global t
return np.exp(1j*w*t)/((w + 1j*e)**2 - E**2)/2/np.pi
def f_adv(w, e=e):
global t
return np.exp(1j*w*t)/((w - 1j*e)**2 - E**2)/2/np.pi
T = 50
for t in [-1.2, 1.2]:
D_F = -1j*np.exp(-1j*abs(t)*E)/2/E
D_adv = -(t>0)*np.sin(E*t)/E
D_ret = (t<0)*np.sin(E*t)/E,
assert np.allclose(quadc(f_F, -T, T)[0], D_F, atol=0.001)
assert np.allclose(quadc(f_ret, -T, T)[0], D_ret, atol=0.001)
assert np.allclose(quadc(f_adv, -T, T)[0], D_adv, atol=0.001)
assert np.allclose(D_F - (D_adv+D_ret)/2, -1j*np.cos(E*t)/2/E)
Do it! Do the contour integral
Performing the contour integral, we obtain:
Note
Connecting with our previous discussion of the propagator for the \(d=1\) theory, we note that \(E(\vect{p}) = m\) (which we called \(\omega\) above), so we have
Do it! Do I.3.3 from [Zee, 2010].
Show that the advanced and retarded propagators are obtained with \(p_0 \rightarrow p_0 \mp \I 0^+\), or \(\tilde{D}_{\substack{\mathrm{adv}\\\mathrm{rel}}}(p) = 1/(p^2 - m^2 \mp \I \sgn (p_0) 0^{+})\).
Solution
Note that now both poles are shifted in the same direction. Thus, closing the contour either picks up both residues, or picks up neither, depending on the sign of \(t\). This ensures that the propagators are either fully advanced of fully retarded by providing the appropriate \(\Theta(\pm t)\) prefactor. I leave it to you to do the integrals since I have already given the answer above.
To get the real-space propagator, we need to complete the Fourier transform, integrating over the momenta: