Green's Functions
Pdes
The Green's function is the FUNDAMENTAL SOLUTION of a linear PDE: the response of the equation to a point source. Once you know how the equation responds to a delta function, you know how it responds to ANY forcing — just integrate the Green's function against the source distribution. The technique is the cleanest illustration of the LINEARITY of the underlying physics: every linear PDE is a black box that takes inputs and produces outputs, and the Green's function is the black box's impulse-response function.
Formally, given a linear differential operator acting on functions of (and possibly ), and the inhomogeneous equation
the Green's function is the solution of
subject to the same homogeneous boundary conditions. The full solution to the inhomogeneous problem is then
Three reasons this is useful. (1) Once you've computed for a given operator and boundary, you can solve for ANY by quadrature — no separate boundary-value-problem solve per source. (2) often has a clean closed form even when doesn't, and its singularity at contains the local short-distance content of the equation. (3) Green's functions are the SAME OBJECT as propagators in quantum field theory, response functions in linear-response theory, and scattering amplitudes in scattering theory — different names, same mathematics, all just in a particular representation.
The 1D Poisson Green's function
The cleanest worked example. Take
Find satisfying , with . Off the delta-function support (i.e. for ), the equation is just : is piecewise linear. Use the boundary conditions to pin down the two linear pieces:
Two matching conditions at the source point . (i) Continuity: . (ii) Jump in derivative: integrate the defining equation across an infinitesimal interval around :
Computing the slopes: and . The jump condition is . Solving the two equations: , . So:
A piecewise-linear "tent function" that rises linearly from 0 at to at , then falls linearly back to 0 at . Symmetric in , which it MUST be — the operator is self-adjoint, so its Green's function is symmetric (Cattaneo's reciprocity).
Validation
Verify against two analytically tractable forcings.
# Green's-function solution of the 1D Poisson equation on [0, 1]:
# -u''(x) = f(x), u(0) = u(1) = 0.
# Green's function:
# G(x, xi) = x (1 - xi) for x <= xi
# = xi (1 - x) for x >= xi
# Solution:
# u(x) = integral_0^1 G(x, xi) f(xi) d xi.
#
# We verify against two analytically known cases:
# f(x) = 1 -> u(x) = x (1 - x) / 2
# f(x) = sin(pi x) -> u(x) = sin(pi x) / pi^2
import numpy as np
def green_1d(x, xi):
return np.where(x <= xi, x * (1 - xi), xi * (1 - x))
def poisson_green(f, x_grid, n_quad=2000):
"""Evaluate u(x) = int_0^1 G(x, xi) f(xi) d xi via Gauss-Legendre."""
xi, w = np.polynomial.legendre.leggauss(n_quad)
xi = 0.5 * (xi + 1) # [-1, 1] -> [0, 1]
w = 0.5 * w
f_vals = f(xi)
u = np.zeros_like(x_grid)
for i, xx in enumerate(x_grid):
u[i] = np.sum(w * green_1d(xx, xi) * f_vals)
return u
def poisson_fd(f, N=201):
"""Reference: central FD -u'' = f, Dirichlet BCs."""
x = np.linspace(0, 1, N)
dx = x[1] - x[0]
A = (np.diag(-2*np.ones(N-2)) + np.diag(np.ones(N-3), 1)
+ np.diag(np.ones(N-3), -1)) / dx**2
u = np.zeros(N)
u[1:-1] = np.linalg.solve(A, -f(x[1:-1]))
return x, u
x_grid = np.linspace(0, 1, 21)
print("Test 1: f(x) = 1, exact u(x) = x(1 - x)/2")
u_g = poisson_green(lambda xi: np.ones_like(xi), x_grid)
u_ex = 0.5 * x_grid * (1 - x_grid)
xf, u_fd = poisson_fd(lambda x: np.ones_like(x))
print(f" Green's-function error: ||u_G - u_exact||_inf = "
f"{np.max(np.abs(u_g - u_ex)):.2e}")
print(f" FD (N=201) error: ||u_FD - u_exact||_inf = "
f"{np.max(np.abs(u_fd[::10] - u_ex)):.2e}")
print("\nTest 2: f(x) = sin(pi x), exact u(x) = sin(pi x) / pi^2")
u_g2 = poisson_green(lambda xi: np.sin(np.pi * xi), x_grid)
u_ex2 = np.sin(np.pi * x_grid) / np.pi**2
print(f" Green's-function error: ||u_G - u_exact||_inf = "
f"{np.max(np.abs(u_g2 - u_ex2)):.2e}") Output:
Test 1: f(x) = 1, exact u(x) = x(1 - x)/2
Green's-function error: ||u_G - u_exact||_inf = 2.57e-08
FD (N=201) error: ||u_FD - u_exact||_inf = 8.74e-16
Test 2: f(x) = sin(pi x), exact u(x) = sin(pi x) / pi^2
Green's-function error: ||u_G - u_exact||_inf = 2.57e-08 The Green's-function solution agrees with the analytical answer to in both tests — the limit is the quadrature precision (2000 Gauss-Legendre points). Finite differences hit on the constant-source case because the FD discretization of is exact when is a quadratic. Both methods give the same answer; the Green's-function method makes the dependence on the source EXPLICIT, while FD treats every new as a fresh linear system.
Green's functions for the classical equations
The four canonical free-space (infinite-domain) Green's functions, each with a different singularity structure that encodes the equation's PDE type.
Laplace / Poisson
The 3D Coulomb potential is the Green's function of : the potential of a point charge, the gravitational field of a point mass. The 2D logarithmic Green's function is the potential of an infinite line charge.
Helmholtz
Outgoing-wave () and incoming-wave () Green's functions, distinguished by the radiation boundary condition at infinity. The Helmholtz Green's function is the workhorse of acoustic and electromagnetic scattering: the LSZ amplitude, the optical theorem, the dyadic Green's function all start from this object.
Heat / diffusion
The GAUSSIAN HEAT KERNEL. Spreads at a rate ; nonzero everywhere for (the infinite-propagation-speed feature of the heat equation). The fact that as means an initial point of heat smears immediately into a Gaussian.
Wave (3D)
The RETARDED Green's function: the response at to a delta-source at is concentrated on the FORWARD LIGHT CONE . Strict finite-propagation-speed structure. Huygens' principle in 3D is exactly the statement that this Green's function is supported on the light cone — it propagates without trailing wake. In 2D, by contrast, the wave Green's function has a tail behind the light cone, which is why circular ripples in a 2D pond leave residual disturbance after the wavefront has passed.
How Green's functions are computed
Several techniques, each suited to different geometries.
- Direct integration with boundary matching. The 1D Poisson example above. Works in 1D and in simple separable geometries.
- Fourier transform. For constant-coefficient operators on : take the FT of both sides, solve algebraically, FT back. The Laplace, Helmholtz, heat, and wave Green's functions above all come from this technique.
- Eigenfunction expansion. When the operator has a complete set of Sturm-Liouville eigenfunctions with eigenvalues , the Green's function decomposes as This is the connection between Green's functions and separation of variables: the eigenfunction expansion of IS the formal solution of the boundary-value problem.
- Method of images. For half-spaces and other symmetric bounded domains, place fictitious mirror sources outside the domain so their fields cancel on the boundary. The 1D Dirichlet Green's function on can be written as the free-space Green's function plus reflections.
The same object, three names
Green's functions appear in apparently unrelated parts of physics under different names. They are all the same thing — the inverse of a linear operator viewed as an integral kernel — and recognizing the unity is part of mathematical maturity.
- Quantum mechanics. The propagator is the Green's function of the time-dependent Schrödinger equation. Path integrals are a way of constructing the propagator. The resolvent is the Green's function of the time-INDEPENDENT Schrödinger equation; its poles are bound-state energies.
- Many-body physics. The single-particle Green's function is a propagator weighted by the many-body ground state; its poles are quasi-particle energies, and it satisfies the Dyson equation where is the self-energy.
- Linear response theory. The susceptibility is the Green's function of the equations of motion linearized around equilibrium. The TDDFT response function in Liouville-Lanczos is exactly this object; the continued-fraction representation is an efficient way to compute it.
- Electromagnetism. The dyadic Green's function of Maxwell's equations gives the electromagnetic field of an oscillating point dipole; the entire theory of antenna radiation, scattering, and dispersion is built on it.
Numerical use
Beyond the closed-form analytical Green's functions, the framework supports two important numerical strategies.
Boundary element methods. For Laplace's equation on a region with complicated boundary but constant coefficients in the interior, you can represent the solution by an integral over only the BOUNDARY of the domain (using the free-space Green's function), reducing the dimensionality by one. The resulting boundary integral equation is discretized and solved as a dense linear system — expensive for large boundaries but with rather than scaling, which becomes competitive at high or with fast multipole acceleration.
Renormalisation and self-energies. In many-body theory, the perturbative expansion of the full Green's function organizes naturally as a sum of diagrams; resummation in terms of self-energies via the Dyson equation is the standard tool for extracting non-perturbative information from a perturbative series. The connection to Borel-Padé and resurgence is conceptual rather than literal but the resemblance is not coincidental — both are strategies for extracting analytic structure from a formal series in a small parameter.
Related
- The three classical equations — Green's functions for heat, wave, and Laplace illustrate the type taxonomy concretely.
- Separation of variables — the eigenfunction expansion of is exactly the Sturm-Liouville completeness statement.
- Liouville-Lanczos linear-response TDDFT — the response function is the Green's function of the linearized time-dependent Kohn-Sham equation.
- Bi-orthogonal Lanczos — the matrix analogue of the Green's function is the resolvent , whose matrix elements are exactly what Lanczos computes via continued fractions.
- Hartree-Fock — Green's functions appear implicitly through the orbital propagators that diagonalize the mean-field Hamiltonian.