10. Green’s Functions

Hide code cell content

import mmf_setup; mmf_setup.nbinit()
import os
from pathlib import Path
FIG_DIR = Path(mmf_setup.ROOT) / '../Docs/_build/figures/'
os.makedirs(FIG_DIR, exist_ok=True)
import logging; logging.getLogger("matplotlib").setLevel(logging.CRITICAL)
%matplotlib inline
import numpy as np, matplotlib.pyplot as plt
try: from myst_nb import glue
except: glue = None

This cell adds /home/docs/checkouts/readthedocs.org/user_builds/physics-571-math-methods/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.

10. Green’s Functions#

The coverage of Green’s functions in [Arfken et al., 2013] is quite reasonable. Here are some highlights presented from a different perspective, analogous to that in [Hassani, 2013]. I highly recommend comparing these two approaches – learning to translate from vectors and matrices to differential equations is an extremely valuable skill.

The general idea is to find particular solutions to a linear differential equation. Recall that this is a functional equivalent of solving a linear system:

\[\begin{gather*} \mathcal{L} y(x) = f(x), \qquad \mat{L}\ket{y} = \ket{f}. \end{gather*}\]

Green’s functions are the functional equivalent of inverting \(\mat{L}\):

\[\begin{gather*} \mathcal{L}G(x, y) = \delta(x-y), \qquad \mat{L}\mat{G} = \mat{1}\\ y(x) = \int G(x, y)f(y)\d{y}, \qquad \ket{f} = \mat{G}\ket{f}. \end{gather*}\]

Hide code cell source

beta = 0.4
w0 = 0.5
ws = wp, wm = 1j*beta + np.sqrt(w0**2 - beta**2)*np.array([1, -1])
eps = 0.01
fig, ax = plt.subplots()
ax.spines[:].set_visible(False)

r = 0.05
th = 0.2
z0 = -1+0.01j
z1 = wm.real+0.01j + r*np.exp(1j*(-th - np.pi/2)).real
z2 = wm + r*np.exp(1j*(-th - np.pi/2))
z23 = wm + r*np.exp(1j*(-np.linspace(th, 2*np.pi - th)-np.pi/2))
z3 = wm + r*np.exp(1j*(+th - np.pi/2))
z4 = wm.real+0.01j + r*np.exp(1j*(+th - np.pi/2)).real
z5 = wp.real+0.01j + r*np.exp(1j*(-th - np.pi/2)).real
z6 = wp + r*np.exp(1j*(-th - np.pi/2))
z67 = wp + r*np.exp(1j*(-np.linspace(th, 2*np.pi - th)-np.pi/2))
z7 = wp + r*np.exp(1j*(+th - np.pi/2))
z8 = wp.real+0.01j + r*np.exp(1j*(+th - np.pi/2)).real
z9 = 1.0+0.01j

zs = np.concatenate([[z0, z1, z2], z23, [z3, z4, z5, z6], z67, [z7, z8, z9]])
ax.plot(ws.real, ws.imag, 'xk')
ax.plot(zs.real, zs.imag,'-C0')
ax.axhline([0], ls='-', lw=0.2, c='k')
ax.axvline([0], ls='-', lw=0.2, c='k')
ax.set(xticks=[], yticks=[], xlim=(-1,1), ylim=(-0.1, 0.6), aspect=1);
_images/b06343167ef25e99cf8b0f9894b1495be33caa1f06c14597095a5d7c61b4dcd1.png

Although formally \(\mat{G} = \mat{L}^{-1}\), the formalism presented this way works even if \(\mat{L}\) is singular. In particular, we are generally faced with a problem where \(\mathcal{L} h(x) = 0\) has homogeneous solutions.

Self-Adjoint Operators#

We now explain [Arfken et al., 2013] Eq. (10.18) (recast slightly):

\[\begin{gather*} G(x, y) = A\begin{cases} h_{1}(x)h_{2}(y), & x < y,\\ h_{2}(x)h_{1}(y), & x > y,\\ \end{cases} \tag{10.18} \end{gather*}\]

for a second-order self-adjoint operator \(\mathcal{L}\) where \(h_1(x)\) is the homogeneous solution satisfying the left boundary condition and \(h_2(x)\) is a homogeneous solution satisfying the right boundary condition. The argument is simply that for \(x \neq y\), the functional dependence on \(x\) must be a homogeneous solution satisfying the boundary conditions, and \(\mat{G} = \mat{G}^\dagger\) hence \(G(x, y) = G(y, x)^*\). (The form here assumes that \(h_{i}\) are real.)

The constant \(A\) is found by ensuring that the discontinuity at \(x=y\) gives the delta-function. Note that in your solution for the causal Green’s function \(G_+(t)\) fo the Harmonic oscillator above, one cannot express \(G(t, \tau) = G_{+}(t-\tau) = \Theta(t-\tau)\sin\bigl(\omega_0(t-\tau)\bigr)/\omega_0\) in this form: this lack of symmetry is because the operator \(\mathcal{L}\) is not self-adjoint with the specified boundary conditions.