Equations that find the best shape
Dip a wire loop into soapy water and a film forms that, to the eye, has the least area the loop allows. Bend the loop and the film changes; pull two rings apart and the film between them narrows and suddenly bursts into two flat discs. The Belgian physicist Joseph Plateau studied such films experimentally in the nineteenth century, and the mathematical question — does every closed curve in space bound a surface of least area, and what does it look like? — became the Plateau problem.
The film is governed by a nonlinear partial differential equation: its mean curvature vanishes. This is the prototype of geometric analysis, where nonlinear PDE are used to construct geometric objects, and geometric ideas are used to understand the PDE. Its triumphs include:
- the solution of the Plateau problem (Douglas and Radó, around 1930);
- the positive mass theorem of general relativity, proved by Schoen and Yau (1979) with minimal surfaces;
- Yau's solution of the Calabi conjecture (1978), producing the Calabi–Yau metrics of string theory;
- Ricci flow, introduced by Richard Hamilton (1982), with which Grigori Perelman proved Thurston's geometrisation conjecture and the Poincaré conjecture (2002–2003).
A unifying theme: many geometric objects are critical points of a natural functional — area for surfaces, energy for maps, total scalar curvature for metrics — and their gradient flows are nonlinear heat equations: mean curvature flow, the harmonic map heat flow, Ricci flow. Heat flows smooth things out, but nonlinear ones can also form singularities in finite time. Understanding the singularities is often where the geometry lies.
Critical points and heat flows
Think of the area of a surface with fixed boundary as a function on an infinite-dimensional space of surfaces. A minimal surface is a critical point: every small deformation fixing the boundary changes the area to second order only. Not every critical point is a minimum. The two rings make this visible: for rings close together there are two catenoids spanning them, both critical, and only the fatter one is a local minimum; the thinner one is a saddle point — push it and it collapses. Past a critical distance no catenoid exists, and the film jumps to the two discs.
Gradient flows follow the steepest descent of the functional. For curves in the plane, the gradient of length is curvature, and the curve-shortening flow moves each point with velocity equal to its curvature vector: bumps flatten, dents fill in, and a closed curve shrinks to a round point. For metrics, Hamilton's Ricci flow is (in suitable coordinates) a nonlinear heat equation for the metric itself: positively curved regions shrink, negatively curved ones expand, and the curvature tends to even out. On a round sphere the flow simply shrinks the sphere to a point; on a dumbbell, the neck can pinch off first.
Definitions
Definition— mean curvature and minimal surface
For an oriented surface with unit normal , the principal curvatures are the eigenvalues of the shape operator , and the mean curvature is (some authors divide by 2). is minimal if . Equivalently, for every compactly supported normal variation ,
A minimal surface is stable if moreover the second variation is non-negative for all such .
Definition— minimal surface equation
A graph over a domain has area ; it is minimal if and only if
Definition— harmonic map
For a smooth map of Riemannian manifolds, compact, the energy is . Critical points of are harmonic maps; they are the solutions of , the tension field equation. Examples: geodesics (maps from an interval or circle), harmonic functions (), isometric minimal immersions, and holomorphic maps between Kähler manifolds.
Definition— Ricci flow, mean curvature flow, Yamabe problem
A family of Riemannian metrics on a manifold is a Ricci flow if . A family of hypersurfaces is a mean curvature flow if (for curves in the plane: the curve-shortening flow, ). The Yamabe problem asks for a metric of constant scalar curvature in a given conformal class on a compact manifold of dimension .
Examples
Example— Classical minimal surfaces
- The plane, and pieces of it.
- The catenoid, obtained by rotating the catenary about the -axis (Euler, 1744): together with the plane it is the only minimal surface of revolution.
- The helicoid (Meusnier, 1776), the only ruled minimal surface besides the plane (Catalan, 1842). It is locally isometric to the catenoid, and there is a one-parameter family of minimal surfaces bending one into the other.
- Scherk's surface over the square (1834), a doubly periodic surface when continued by reflection.
- Enneper's surface, a complete minimal surface with self-intersections, from the Weierstrass–Enneper representation: every simply connected minimal surface in is for a holomorphic and meromorphic (with holomorphic).
Non-example: a hemisphere of radius has ; it is a critical point of area only among surfaces enclosing a fixed volume (a soap bubble, of constant mean curvature).
Example— Ricci flow on spheres, cylinders and hyperbolic manifolds
On a round sphere of radius , where is the unit round metric, independent of . Seeking gives , so : the sphere shrinks homothetically and disappears at . On a hyperbolic manifold () the same computation gives : it expands forever. On a cylinder the sphere factor shrinks and the line factor stays: this is the model of a neck pinch, the singularity Perelman cut out by surgery.
Example— Curve-shortening flow of a circle
A circle of radius has curvature , so and : it shrinks to a point at . Its area decreases at rate exactly . This is a general fact: for any embedded closed curve, by the theorem of turning tangents (Hopf's Umlaufsatz).
Central theorems
Theorem— Theorem 1 (the minimal surface equation; Lagrange 1762)
A function on a domain is a critical point of among functions with the same boundary values if and only if it satisfies the minimal surface equation.
Proof
Let and . Differentiating under the integral and integrating by parts,
This vanishes for all exactly when , by the fundamental lemma of the calculus of variations. Expanding, and similarly for ; adding and multiplying by gives . (Geometrically, is the mean curvature of the graph with respect to the upward normal.)
∎
Theorem— Proposition 2 (minimal surfaces of revolution)
The surface obtained by rotating the graph of a positive function about the -axis is minimal if and only if , and the solutions are the catenaries , .
Proof
The area is with , . The Euler–Lagrange equation reads , that is ; multiplying by and using gives , so . Since does not depend on , the Beltrami quantity is constant along solutions, say . The catenary satisfies , and , with (both identities are checked in Lean below). Finally, any initial data , is matched by a catenary — take and with — so by uniqueness for the ODE every solution is a catenary.
∎
Scherk's surface: with we have , , , , , and the left side of the minimal surface equation is (also in Lean).
Theorem— Theorem 3 (minimal graphs minimise area: a calibration argument)
Let solve the minimal surface equation on a bounded domain , with graph . If is any compact oriented surface in the cylinder with , then .
Proof
On define the unit vector field , the upward normal of translated vertically (it does not depend on ). Its divergence is by the minimal surface equation. Let be the 2-form , the interior product of with the volume form; then . For any oriented orthonormal pair , , with equality when . Hence , while because is the normal of . Since , the cycle bounds a 3-chain in the cylinder (whose second homology vanishes, as is a planar domain), and Stokes' theorem gives . Therefore .
∎
The form is a calibration (Harvey–Lawson, 1982): a closed form bounded by the area on every tangent plane. The catenoid between two rings is not a graph over a planar domain, and Theorem 3 does not apply to it; the computation below shows that for rings far enough apart the catenoid does not minimise area.
Theorem— Theorem 4 (the Plateau problem; Douglas 1931, Radó 1930)
Every Jordan curve bounds a disc-type minimal surface: there is a map , continuous, harmonic and conformal on the open disc , mapping monotonically onto , whose image has least area among all disc-type surfaces spanning (assuming some spanning disc has finite area).
Proof sketch. Area is invariant under reparametrisation, so minimising it directly has no compactness. Douglas and Radó instead minimise the Dirichlet energy , with equality exactly for conformal maps, over maps whose boundary values sweep out , normalised so that three fixed points of go to three fixed points of . The three-point condition restores compactness (the Courant–Lebesgue lemma), a minimiser is harmonic, and minimising also over reparametrisations of the disc makes it conformal. The solution may a priori have branch points; Osserman (1970), Alt (1973) and Gulliver (1973) showed an area-minimising solution in has none in the interior. See Colding–Minicozzi, Chapter 4, or Dierkes–Hildebrandt–Sauvigny.
Theorem— Theorem 5 (Bernstein's theorem and its limits)
An entire solution of the minimal surface equation is affine (Bernstein, 1915–17). The same holds for entire minimal graphs over with (Fleming, De Giorgi, Almgren, Simons, 1962–68) and fails for (Bombieri, De Giorgi and Giusti, 1969, using the Simons cone).
Theorem— Theorem 6 (harmonic maps; Eells–Sampson 1964)
If and are compact Riemannian manifolds and has non-positive sectional curvature, then every continuous map is homotopic to a harmonic map, obtained as the limit of the harmonic map heat flow .
Without the curvature hypothesis the flow can blow up: for maps from surfaces, Sacks and Uhlenbeck (1981) showed that energy concentrates at points and bubbles off harmonic 2-spheres, and used this to produce minimal 2-spheres in every compact manifold with . And harmonic representatives need not exist: there is no harmonic map of degree from the torus to the round 2-sphere (Eells–Wood, 1976).
Theorem— Theorem 7 (the Yamabe problem; Yamabe 1960, Trudinger 1968, Aubin 1976, Schoen 1984)
Every compact Riemannian manifold of dimension admits a conformal metric of constant scalar curvature.
Writing the conformal metric as , the problem becomes the semilinear equation , whose exponent is critical for the Sobolev embedding, so compactness fails. Yamabe's proof had a gap; Trudinger repaired it when the Yamabe invariant of the conformal class is non-positive, Aubin proved the case (non-locally-conformally-flat), and Schoen completed the proof using the positive mass theorem. See Lee–Parker.
Theorem— Theorem 8 (Ricci flow; Hamilton 1982)
- On a closed manifold, the Ricci flow has a unique smooth solution for a short time from any initial metric (Hamilton 1982; a simpler proof by DeTurck, 1983).
- If a closed 3-manifold admits a metric of positive Ricci curvature, the normalised Ricci flow from that metric converges to a metric of constant positive sectional curvature; hence the manifold is diffeomorphic to a spherical space form .
The engine is the maximum principle. Under Ricci flow the scalar curvature evolves by .
Theorem— Proposition 9 (scalar maximum principle)
Along a Ricci flow on a closed manifold, is non-decreasing. In particular positive scalar curvature is preserved.
Proof
Given , let ; then . Suppose first reaches a value below — more precisely, let be the first time with for some small , attained at . At we have (spatial minimum) and (the minimum has just decreased to this value), contradicting . So for every , hence ; let .
∎
The discrete analogue — an explicit finite-difference heat scheme never exceeds its initial bounds when the time step is small enough — is formalised below. Hamilton extended the principle to tensors (curvature pinching), which is how Theorem 8(2) is proved.
Theorem— Theorem 10 (Perelman 2002–2003; Ricci flow with surgery)
For every closed orientable 3-manifold there is a Ricci flow with surgery, defined for all time: singularities form only in regions modelled on shrinking necks , caps, or round components, and are removed by cutting along 2-spheres and gluing in caps. The long-time behaviour yields the geometric decomposition; hence Thurston's geometrisation conjecture and the Poincaré conjecture hold.
The key new tools were Perelman's entropy functional, monotone along the flow, which gives a no local collapsing theorem, and his classification of ancient solutions (κ-solutions) that model singularities. Complete accounts: Morgan–Tian (2007), Kleiner–Lott (2008), Cao–Zhu (2006). For simply connected manifolds, finite extinction (Perelman; Colding–Minicozzi) gives a shorter route to the Poincaré conjecture. See low-dimensional topology.
Theorem— Theorem 11 (mean curvature and curve-shortening flow)
- (Huisken 1984.) A closed convex hypersurface in , , shrinks under mean curvature flow to a point in finite time, becoming asymptotically round.
- (Gage–Hamilton 1986, Grayson 1987.) A smooth embedded closed curve in the plane stays embedded, becomes convex, and shrinks to a point, asymptotically round, at time .
In higher dimensions embeddedness does not prevent singularities before extinction: Grayson's dumbbell (1989) pinches at its neck. The experiment below follows Theorem 11(2) numerically.
The landscape: what is known and what is open
Established. Beyond the theorems above: the positive mass theorem (Schoen–Yau 1979 by minimal surfaces; Witten 1981 by spinors); Yau's solution of the Calabi conjecture (1978) via the complex Monge–Ampère equation; the Willmore conjecture, proved by Marques and Neves (2014) with min-max theory for minimal surfaces; Yau's conjecture that every closed 3-manifold contains infinitely many minimal surfaces (Irie–Marques–Neves 2018 for generic metrics, Song 2018 for all metrics); Lawson's conjecture that the Clifford torus is the only embedded minimal torus in the round 3-sphere (Brendle 2013); the differentiable sphere theorem (Brendle–Schoen 2009) via Ricci flow; and the existence of Kähler–Einstein metrics on K-stable Fano manifolds (Chen–Donaldson–Sun 2015).
Open problems.
- Ricci flow in dimension 4 and higher: there is no analogue of Perelman's classification of singularities, and no general theory of surgery.
- Singularities of mean curvature flow: for surfaces in the generic singularities are spheres and cylinders (Colding–Minicozzi, 2012), and flows through neck-pinches are now well understood (Bamler–Kleiner and others), but a complete theory in higher dimensions is open.
- Chern's conjecture (around 1970): a closed minimal hypersurface in the round sphere with constant scalar curvature has scalar curvature in a discrete set; open in general.
- Yau's first eigenvalue conjecture (1982): for a closed embedded minimal hypersurface in , the first non-zero eigenvalue of the Laplacian equals ; known in special cases.
What Lean can say: catenoids, Scherk's surface, spheres and maximum principles
Mathlib has calculus, harmonic functions and the mean value property, but no mean curvature, minimal surfaces, harmonic maps between manifolds, Ricci curvature or Ricci flow. So we formalise the computations that the theorems rest on, each stated as a precise analytic fact. The catenoid (Proposition 2):
/-- **The catenoid is a minimal surface of revolution.** Rotating the graph of `y(x) > 0` about
the `x`-axis gives area `2π ∫ y √(1 + y'²) dx`, whose Euler–Lagrange equation is
`y y'' = 1 + y'²`. The catenary `y = a cosh(x/a)` solves it: `y' = sinh(x/a)`,
`y'' = cosh(x/a)/a`, and `y y'' = cosh²(x/a) = 1 + sinh²(x/a)`. -/
theorem catenary_euler_lagrange (a : ℝ) (ha : a ≠ 0) (x : ℝ) :
HasDerivAt (fun x => a * cosh (x / a)) (sinh (x / a)) x ∧
HasDerivAt (fun x => sinh (x / a)) (cosh (x / a) / a) x ∧
a * cosh (x / a) * (cosh (x / a) / a) = 1 + sinh (x / a) ^ 2 := by
have hdiv : HasDerivAt (fun x : ℝ => x / a) (1 / a) x := by
simpa using (hasDerivAt_id x).div_const a
refine ⟨?_, ?_, ?_⟩
· have h := ((hasDerivAt_cosh (x / a)).comp x hdiv).const_mul a
exact h.congr_deriv (by field_simp)
· have h := (hasDerivAt_sinh (x / a)).comp x hdiv
exact h.congr_deriv (by field_simp)
· field_simp
linarith [cosh_sq (x / a)]/-- **Beltrami's first integral.** The area integrand `L = y √(1 + y'²)` does not depend on `x`, so
`L − y' ∂L/∂y' = y / √(1 + y'²)` is constant along solutions. For the catenary
`y = a cosh(x/a)` it equals `a`, because `√(1 + sinh²) = cosh`. -/
theorem catenary_first_integral (a x : ℝ) :
a * cosh (x / a) / √(1 + sinh (x / a) ^ 2) = a := by
have hc : √(1 + sinh (x / a) ^ 2) = cosh (x / a) := by
rw [← cosh_sq', sqrt_sq (cosh_pos _).le]
rw [hc, mul_div_assoc, div_self (cosh_pos _).ne', mul_one]The minimal surface equation (Theorem 1) and Scherk's surface, with each partial derivative proved as a one-variable derivative:
/-- The **minimal surface equation** for a graph `z = u(x, y)`, written in terms of its first and
second partial derivatives at a point:
`(1 + u_y²) u_xx − 2 u_x u_y u_xy + (1 + u_x²) u_yy = 0`. It says the mean curvature of the graph
vanishes; it is the Euler–Lagrange equation of the area `∬ √(1 + u_x² + u_y²) dx dy`. -/
def MinimalSurfaceEq (ux uy uxx uxy uyy : ℝ) : Prop :=
(1 + uy ^ 2) * uxx - 2 * ux * uy * uxy + (1 + ux ^ 2) * uyy = 0/-- **Scherk's first surface** (1834), the graph of `u(x, y) = log cos y − log cos x` over the
square `|x|, |y| < π/2`. -/
noncomputable def scherk (x y : ℝ) : ℝ := log (cos y) - log (cos x)/-- **Scherk's surface is minimal.** On the open square (where `cos x, cos y > 0`) the partial
derivatives are `u_x = tan x`, `u_y = −tan y`, `u_xx = 1/cos² x`, `u_yy = −1/cos² y` and
`u_xy = 0` (the `x`-derivative `tan x` does not depend on `y`); and with `1 + tan² = 1/cos²` the
minimal surface equation reads `(1/cos² y)(1/cos² x) − (1/cos² x)(1/cos² y) = 0`. The partial
derivatives are proved as one-variable derivatives in each coordinate. -/
theorem scherk_minimal (x y : ℝ) (hx : 0 < cos x) (hy : 0 < cos y) :
HasDerivAt (fun s => scherk s y) (tan x) x ∧
HasDerivAt (fun t => scherk x t) (-tan y) y ∧
HasDerivAt tan (1 / cos x ^ 2) x ∧
HasDerivAt (fun t => -tan t) (-(1 / cos y ^ 2)) y ∧
HasDerivAt (fun _ : ℝ => tan x) 0 y ∧
MinimalSurfaceEq (tan x) (-tan y) (1 / cos x ^ 2) 0 (-(1 / cos y ^ 2)) := by
refine ⟨?_, ?_, hasDerivAt_tan hx.ne', (hasDerivAt_tan hy.ne').neg, hasDerivAt_const _ _, ?_⟩
· have h := ((hasDerivAt_cos x).log hx.ne').const_sub (log (cos y))
exact h.congr_deriv (by rw [tan_eq_sin_div_cos]; ring)
· have h := ((hasDerivAt_cos y).log hy.ne').sub_const (log (cos x))
exact h.congr_deriv (by rw [tan_eq_sin_div_cos]; ring)
· unfold MinimalSurfaceEq
rw [tan_eq_sin_div_cos, tan_eq_sin_div_cos]
have hx2 : sin x ^ 2 + cos x ^ 2 = 1 := sin_sq_add_cos_sq x
have hy2 : sin y ^ 2 + cos y ^ 2 = 1 := sin_sq_add_cos_sq y
field_simp
nlinarith [hx2, hy2]Ricci flow on a round sphere, after the (unformalised) curvature computation reduces it to an ODE:
/-- **Ricci flow shrinks a round sphere to a point.** For the round metric `g = r² g_{Sⁿ}` one has
`Ric(g) = (n − 1) g_{Sⁿ}`, independent of `r`, so the Ricci flow `∂g/∂t = −2 Ric(g)` keeps the
metric round, `g(t) = ρ(t) g_{Sⁿ}`, with `ρ' = −2(n − 1)`. Hence
`ρ(t) = r₀² − 2(n − 1)t`: positive before `T = r₀²/(2(n − 1))` and zero at `T`, the extinction
time. Here we prove the ODE statements (the curvature computation is the human input). -/
theorem round_sphere_ricci_flow (n : ℕ) (hn : 2 ≤ n) (r₀ : ℝ) :
let ρ : ℝ → ℝ := fun t => r₀ ^ 2 - 2 * (n - 1) * t
let T : ℝ := r₀ ^ 2 / (2 * (n - 1))
(∀ t, HasDerivAt ρ (-(2 * (n - 1))) t) ∧ ρ 0 = r₀ ^ 2 ∧ ρ T = 0 ∧
(∀ t, t < T → 0 < ρ t) := by
intro ρ T
have hn' : (1 : ℝ) ≤ n := by exact_mod_cast le_trans (by norm_num) hn
have hn2 : (2 : ℝ) ≤ n := by exact_mod_cast hn
have hpos : 0 < 2 * ((n : ℝ) - 1) := by linarith
refine ⟨fun t => ?_, by simp [ρ], ?_, fun t ht => ?_⟩
· have h := ((hasDerivAt_id t).const_mul (2 * ((n : ℝ) - 1))).const_sub (r₀ ^ 2)
simpa [ρ] using h
· have hne : (n : ℝ) - 1 ≠ 0 := by linarith
simp only [ρ, T]
field_simp
ring
· simp only [ρ]
have : t * (2 * ((n : ℝ) - 1)) < r₀ ^ 2 := by
have := (lt_div_iff₀ hpos).mp ht
linarith
nlinarithA discrete maximum principle, the finite-difference shadow of Proposition 9:
/-- One step of the explicit finite-difference scheme for the heat equation `u_t = u_xx` on a grid
`ℤ`, with ratio `λ = Δt/Δx²`: `u'(i) = λ u(i−1) + (1 − 2λ) u(i) + λ u(i+1)`. -/
def heatStep (lam : ℝ) (u : ℤ → ℝ) : ℤ → ℝ :=
fun i => lam * u (i - 1) + (1 - 2 * lam) * u i + lam * u (i + 1)/-- Constant functions are steady states of the heat scheme: the three weights `λ, 1 − 2λ, λ`
sum to `1`. (For the heat equation itself, constants solve `u_t = u_xx`.) -/
theorem heatStep_const (lam c : ℝ) : heatStep lam (fun _ => c) = fun _ => c := by
funext i
simp only [heatStep]
ring/-- **Discrete maximum principle.** If `0 ≤ λ ≤ 1/2` and `u ≤ M` everywhere, then after any number
of heat steps the solution is still `≤ M`: each new value is a convex combination (weights `λ`,
`1 − 2λ`, `λ`, all non-negative) of old values. This is the discrete shadow of the maximum
principle for parabolic equations, which Hamilton turned into his main tool for Ricci flow. For
`λ > 1/2` the weight `1 − 2λ` is negative and the scheme can overshoot (and is unstable). -/
theorem discrete_max_principle (lam : ℝ) (h0 : 0 ≤ lam) (h1 : lam ≤ 1 / 2) (M : ℝ)
(u : ℤ → ℝ) (hu : ∀ i, u i ≤ M) (k : ℕ) (i : ℤ) : (heatStep lam)^[k] u i ≤ M := by
induction k generalizing u with
| zero => exact hu i
| succ k ih =>
rw [Function.iterate_succ_apply]
apply ih
intro j
simp only [heatStep]
have ha := hu (j - 1)
have hb := hu j
have hc := hu (j + 1)
have hw : 0 ≤ 1 - 2 * lam := by linarith
nlinarith [mul_le_mul_of_nonneg_left ha h0, mul_le_mul_of_nonneg_left hb hw,
mul_le_mul_of_nonneg_left hc h0]And the mean value property of harmonic functions from Mathlib — the coordinates of a conformally parametrised minimal surface are harmonic, which is how Theorem 4's solution is harmonic and why compact minimal surfaces in must have boundary:
/-- **Mean value property.** A function harmonic on a neighbourhood of a closed disc in `ℂ = ℝ²`
equals its average over the boundary circle. This is Mathlib's
`InnerProductSpace.HarmonicOnNhd.circleAverage_eq`. It implies the strong maximum principle, and
it is the reason the coordinate functions of a conformally parametrised minimal surface — which
are harmonic — cannot have interior maxima: a compact minimal surface in `ℝ³` must have boundary. -/
theorem harmonic_mean_value {f : ℂ → ℝ} {c : ℂ} {R : ℝ}
(hf : InnerProductSpace.HarmonicOnNhd f (Metric.closedBall c |R|)) :
circleAverage f c R = f c :=
hf.circleAverage_eqWhat is not formalised. The derivation of the Euler–Lagrange equations from the area functional (Theorem 1 is formalised as the equation, not as a variational statement), the calibration argument, Theorems 4–11, and the Ricci curvature of the sphere. Formalising the first variation of area would require integration on manifolds, which Mathlib is only beginning to support.
Soap films and shrinking curves by machine
The first experiment solves for the catenoids spanning two rings, finds the critical separation beyond which none exists () and the separation beyond which two flat discs have less area (), and compares areas: the thin catenoid is minimal but never minimising, and between the two ratios even the fat one is only a local minimum.
"""Soap films between two rings: minimal is not the same as minimising.
Two coaxial circles of radius R sit at x = -h and x = h. A catenoid
y = a cosh(x / a) spans them when R = a cosh(h / a). Writing s = h / a, this is
R / h = cosh(s) / s, which has two solutions when h / R is below a critical
value, one when it equals it, and none above it. Both solutions are minimal
surfaces (mean curvature zero), but:
* the thin catenoid always has more area than the fat one (it is unstable);
* for h / R above about 0.528 even the fat catenoid has more area than the
two flat discs (the Goldschmidt solution), so it is only a local minimum.
Everything is computed from closed-form areas; the critical values are found
by bisection, so they are numerical approximations with stated tolerance.
"""
import math
def bisect(f, lo, hi, tol=1e-12):
"""A root of f in [lo, hi], assuming f(lo) and f(hi) have opposite signs."""
flo = f(lo)
for _ in range(200):
mid = (lo + hi) / 2
fm = f(mid)
if (fm > 0) == (flo > 0):
lo, flo = mid, fm
else:
hi = mid
if hi - lo < tol:
break
return (lo + hi) / 2
#: s* with s tanh s = 1: where cosh(s)/s is smallest.
S_STAR = bisect(lambda s: s * math.tanh(s) - 1, 0.5, 2.0)
#: The largest h/R for which a catenoid spans the rings.
CRITICAL_RATIO = S_STAR / math.cosh(S_STAR)
def catenoid_parameters(h, R):
"""The parameters a of the catenoids through (+-h, R): (fat, thin)."""
g = lambda s: math.cosh(s) / s - R / h
if h / R > CRITICAL_RATIO:
return ()
s_fat = bisect(g, 1e-9, S_STAR)
s_thin = bisect(g, S_STAR, 50.0)
return (h / s_fat, h / s_thin)
def catenoid_area(a, h):
"""Area of y = a cosh(x/a), |x| <= h, rotated about the x-axis."""
return 2 * math.pi * a * h + math.pi * a * a * math.sinh(2 * h / a)
def euler_lagrange_residual(a, x):
"""y y'' - (1 + y'^2) for y = a cosh(x/a); zero for a minimal profile."""
y, yp, ypp = a * math.cosh(x / a), math.sinh(x / a), math.cosh(x / a) / a
return y * ypp - (1 + yp * yp)
def goldschmidt_ratio():
"""h/R (R = 1) at which the fat catenoid and the two discs have equal area."""
def diff(h):
fat = catenoid_parameters(h, 1.0)[0]
return catenoid_area(fat, h) - 2 * math.pi
return bisect(diff, 0.3, CRITICAL_RATIO - 1e-9)
def main():
print(f"s tanh s = 1 at s* = {S_STAR:.10f}")
print(f"Critical ratio h/R = s*/cosh(s*) = {CRITICAL_RATIO:.10f}")
print(f"Discs beat the fat catenoid for h/R > {goldschmidt_ratio():.10f}")
print()
print("Rings of radius R = 1 at x = -h, h. Areas (two discs: 2 pi = 6.2832)")
print(" h a(fat) a(thin) A(fat) A(thin) least area")
for h in (0.2, 0.4, 0.5, 0.55, 0.6, 0.65, 0.67):
params = catenoid_parameters(h, 1.0)
if not params:
print(f"{h:5.2f} no catenoid spans the rings: the film breaks")
continue
fat, thin = params
af, at = catenoid_area(fat, h), catenoid_area(thin, h)
best = "fat catenoid" if af < 2 * math.pi else "two discs"
print(f"{h:5.2f} {fat:7.4f} {thin:7.4f} {af:7.4f} {at:7.4f} {best}")
res = max(abs(euler_lagrange_residual(a, x)) for a in (0.3, 0.8)
for x in (-0.5, 0.0, 0.5))
print(f"Euler-Lagrange residual y y'' - (1 + y'^2): max {res:.1e}")
print()
print("Epistemic status: numerical. The areas are closed-form expressions")
print("evaluated in floating point, and the critical ratios come from")
print("bisection to about 1e-12. That both catenoids are minimal is the")
print("exact identity proved in Lean; that the thin one is unstable, and")
print("which film minimises area among all surfaces, are classical results")
print("that this program does not check.")
if __name__ == "__main__":
main()The second runs a discrete curve-shortening flow on a non-convex three-lobed curve. The area falls almost exactly at the rate , the curve becomes convex and then nearly round — Theorem 11(2) — up to visible discretisation error.
"""Curve-shortening flow: a wiggly curve becomes round and vanishes.
Under curve-shortening flow each point of a closed plane curve moves with
velocity kappa N (curvature times the inward normal). Two exact facts:
* the enclosed area decreases at the constant rate 2 pi, because
dA/dt = -(integral of kappa ds) = -2 pi for an embedded curve, so the curve
vanishes at time T = A(0) / (2 pi);
* (Gage-Hamilton 1986, Grayson 1987) an embedded curve becomes convex, then
asymptotically round: L^2 / (4 pi A) -> 1.
We approximate the flow on the non-convex curve r = 1 + 0.3 cos(3 theta) by a
polygon with 120 vertices, moving each vertex by the discrete curvature vector
(the change of unit tangent per unit length) with small explicit time steps,
and redistributing the vertices evenly along the curve after each step.
"""
import math
import numpy as np
N = 120
def initial_curve(n=N):
"""Vertices of r = 1 + 0.3 cos(3 theta) as an (n, 2) array."""
t = np.linspace(0.0, 2 * math.pi, n, endpoint=False)
r = 1 + 0.3 * np.cos(3 * t)
return np.stack([r * np.cos(t), r * np.sin(t)], axis=1)
def area(p):
"""Signed area of a closed polygon (shoelace formula)."""
x, y = p[:, 0], p[:, 1]
return 0.5 * float(np.sum(x * np.roll(y, -1) - np.roll(x, -1) * y))
def length(p):
"""Perimeter of a closed polygon."""
return float(np.sum(np.linalg.norm(np.roll(p, -1, axis=0) - p, axis=1)))
def curvature_vectors(p):
"""Discrete curvature vector at each vertex: dT/ds."""
e = np.roll(p, -1, axis=0) - p
lens = np.linalg.norm(e, axis=1)
tang = e / lens[:, None]
dt = tang - np.roll(tang, 1, axis=0)
ds = 0.5 * (lens + np.roll(lens, 1))
return dt / ds[:, None]
def turning_angles(p):
"""Signed exterior angles at the vertices (they sum to 2 pi)."""
e = np.roll(p, -1, axis=0) - p
ang = np.arctan2(e[:, 1], e[:, 0])
d = ang - np.roll(ang, 1)
return (d + math.pi) % (2 * math.pi) - math.pi
def redistribute(p):
"""Place the vertices at equal arc-length spacing along the polygon."""
closed = np.vstack([p, p[:1]])
seg = np.linalg.norm(np.diff(closed, axis=0), axis=1)
s = np.concatenate([[0.0], np.cumsum(seg)])
target = np.linspace(0.0, s[-1], len(p), endpoint=False)
return np.stack([np.interp(target, s, closed[:, 0]),
np.interp(target, s, closed[:, 1])], axis=1)
def flow(p, t_end, cfl=0.2):
"""Run the discrete flow until time t_end; return the final polygon."""
t = 0.0
while t < t_end - 1e-12:
h = length(p) / len(p)
dt = min(cfl * h * h, t_end - t)
p = redistribute(p + dt * curvature_vectors(p))
t += dt
return p
def main():
p = initial_curve()
a0 = area(p)
print(f"Initial curve r = 1 + 0.3 cos 3theta: area {a0:.4f}")
print(f"Smallest turning angle {turning_angles(p).min():+.4f} < 0: not convex")
print(f"Exact law A(t) = A(0) - 2 pi t; extinction at T = "
f"{a0 / (2 * math.pi):.4f}")
print(" t area A(0)-2pi t L^2/(4 pi A) convex?")
t = 0.0
for t_next in (0.0, 0.02, 0.05, 0.1, 0.2, 0.3, 0.4, 0.45):
p = flow(p, t_next - t)
t = t_next
a, ratio = area(p), length(p) ** 2 / (4 * math.pi * area(p))
convex = "yes" if turning_angles(p).min() > 0 else "no"
print(f"{t:6.3f} {a:7.4f} {a0 - 2 * math.pi * t:10.4f}"
f" {ratio:12.5f} {convex}")
print(f"Sum of turning angles (any polygon): {turning_angles(p).sum():.6f}"
f" = 2 pi")
print()
print("Epistemic status: numerical approximation of a PDE. The polygon,")
print("explicit time steps and redistribution introduce discretisation")
print("errors (visible as small gaps between the area columns). The exact")
print("law dA/dt = -2 pi and the Gage-Hamilton-Grayson theorem are proved")
print("theorems; this run illustrates them for one curve and proves nothing.")
if __name__ == "__main__":
main()Explore: catenaries, curvature and the angle excess
Two catenaries through the same rings. The rings of radius 1 at are the marked points. Move : the curve passes through them for (the fat catenoid) and (the thin one). Both rotate to minimal surfaces; only the first is stable.
Catenaries through two rings
Try a = 0.848 and a = 0.235; for rings further apart there may be no solution at all.
- y = a cosh(x/a)
- y = a cosh(x/a): y = 1.5092
Curvature drives the flow. In curve-shortening flow each point moves towards the centre of its osculating circle with speed . For an embedded closed curve the total curvature is , which is why the enclosed area falls at rate exactly ; the figure eight has total curvature 0.
The curvature of a curve
Embedded closed curves: ∫ κ ds = 2π. Curve-shortening flow moves each point by κN.
- Signed curvature
- κ = 0.882
- Radius of curvature
- 1/|κ| = 1.134
κ is positive where the curve bends to the left as you travel along it, and negative where it bends to the right. N is the tangent T turned 90° to the left; the centre of the osculating circle lies 1/|κ| away, on the side the curve bends towards.
∫ κ ds = 6.283 = 1.000 × 2π
Turning number 1: going once around, the tangent turns through 1 × 360° in total.
Hopf's Umlaufsatz: for a smooth closed curve, ∫ κ ds = 2π × (turning number). A simple closed curve — one that never crosses itself — traversed counter-clockwise always has turning number 1. The limaçon with an inner loop has 2; the figure eight has 0.
Arc length and ∫ κ ds are computed numerically from exact derivatives at thousands of points, so the last digit may wobble.
Signed curvature κ against arc length s
The signed area under this graph is ∫ κ ds (teal above the axis counts as positive, terracotta below as negative). Very large values near a cusp are cut off.
Curvature as a source term. Ricci flow shrinks positively curved regions and expands negatively curved ones. On a sphere, a geodesic triangle's angle excess equals curvature times area — the local Gauss–Bonnet theorem behind the curvature quantities in the flow.
Triangles on curved surfaces
Angle sum − π = K · area: positive on the sphere, negative in the hyperbolic plane.
Drag a corner to move it; drag anywhere else to turn the sphere. The sides are arcs of great circles — the shortest paths on a sphere.
- ∠A80.6°
- ∠B66.6°
- ∠C64.7°
∠A + ∠B + ∠C = 212.0°
- Angle excess (sum − 180°)
- 32.0° = 0.558 rad
- Area, measured numerically
- 0.558 R²
- Share of the whole sphere (area ÷ 4πR²)
- 4.44 %
∠A + ∠B + ∠C − π = Area / R²On a sphere of radius R, the excess in radians equals the area divided by R². The area is computed separately, by numerical integration, so the match is a check rather than an assumption.
∠A + ∠B + ∠C − π = K · Area
| Flat plane | K = 0 | ∠A+∠B+∠C = 180° |
|---|---|---|
| Sphere | K = 1/R² | ∠A+∠B+∠C > 180° |
| Hyperbolic plane | K = −1 | ∠A+∠B+∠C < 180° |
This is a first glimpse of the Gauss–Bonnet theorem: for a triangle whose sides are geodesics (shortest paths), the angle sum minus π equals the total curvature inside it. Here the curvature K is the same everywhere; on other surfaces you add up (integrate) K over the area.
Exercises
1. Geometric analysis
Warm-upHumanUnder Ricci flow , a round -sphere of radius has . At what time does a round 3-sphere of radius shrink to a point?
2. Geometric analysis
Warm-upHumanWhich of these surfaces in are minimal (mean curvature identically zero)? (Choose all that apply.)
3. Geometric analysis
CoreHumanTwo coaxial rings of radius are placed at . Two catenoids span them, with (fat) and (thin). Which statement is correct?
4. Geometric analysis
CoreHumanIn the calibration proof that minimal graphs minimise area, for the unit vector field . Which property gives the inequality for every surface ?
5. Geometric analysis
CoreHumanA smooth embedded closed curve in the plane encloses area and evolves by curve-shortening flow. At what time does it shrink to a point?
6. Geometric analysis
CoreFormalThe Lean theorem round_sphere_ricci_flow proves, for and : , , and for . What does it not establish?
7. Geometric analysis
StretchHumanFor which compact targets does the Eells–Sampson theorem guarantee that every continuous map from a compact Riemannian manifold into is homotopic to a harmonic map? (Choose all that apply.)
8. Geometric analysis
StretchHumanBernstein's theorem says an entire minimal graph over is a plane. For which is every entire minimal graph over a hyperplane?
9. Geometric analysis
CoreComputationalWrite heat_steps(u, lam, k): apply steps of the scheme to the list u, with periodic indices (so u[-1] is the neighbour of u[0]). With the maximum never increases; with it can overshoot.
Common misconceptions
Misconception
"A minimal surface minimises area among surfaces with the same boundary." Minimal means stationary: the first variation of area vanishes. The thin catenoid between two rings is minimal but unstable — a saddle point of area — and for rings with even the stable fat catenoid has more area than two flat discs. Minimal graphs over planar domains do minimise (Theorem 3), and area-minimising surfaces are minimal, but not conversely.
Misconception
"Ricci flow always smooths a metric out to a round one." Only under strong hypotheses, such as positive Ricci curvature in dimension 3 (Hamilton). In general singularities form in finite time — even a round sphere shrinks to a point — and a dumbbell-shaped sphere can develop a neck pinch first. Perelman's achievement was to understand the singularities well enough to cut them out (surgery) and continue the flow.
Misconception
"Every homotopy class of maps contains a harmonic map." True when the target has non-positive curvature (Eells–Sampson), false in general: no harmonic map of degree from the torus to the round 2-sphere exists (Eells–Wood). The harmonic map heat flow may form bubbles instead of converging.
Misconception
"A PDE with a natural variational structure automatically has a solution." Existence needs compactness, and geometric problems often lack it: area is invariant under reparametrisation (the Plateau problem), the Yamabe equation has critical Sobolev exponent, and gradient flows can blow up. Much of geometric analysis is the art of recovering compactness — by normalisation, by choosing better functionals, or by analysing exactly how it fails.
Many ways of seeing
Geometry— Curvature as the unknown
For a geometer, these equations prescribe curvature: zero mean curvature (minimal surfaces), constant scalar curvature (Yamabe), Ricci curvature proportional to the metric (Einstein metrics, Calabi–Yau metrics with zero Ricci curvature), and flows that move curvature towards these ideals. The Gauss–Bonnet theorem and the comparison geometry of Riemannian geometry constrain what solutions can look like; the uniformisation theorem for surfaces — every metric on a closed surface is conformal to one of constant curvature — is the two-dimensional model, and it can itself be proved by Ricci flow (Hamilton; Chow).
Topology— Existence from topology, topology from existence
Topology produces solutions: Morse theory on the space of surfaces (Almgren–Pitts min-max theory) produces minimal surfaces in every closed 3-manifold, and produces minimal 2-spheres (Sacks–Uhlenbeck). Solutions in turn prove topological theorems: Schoen–Yau and Gromov–Lawson used minimal surfaces and spinors to show that the torus carries no metric of positive scalar curvature, and Ricci flow proved geometrisation. See differential topology and low-dimensional topology.
Analysis— Elliptic and parabolic machinery
For an analyst, the subject is quasilinear and fully nonlinear elliptic and parabolic PDE (see partial differential equations): Schauder and De Giorgi–Nash–Moser regularity, maximum principles (Proposition 9 and its discrete shadow in Lean), monotonicity formulas (for minimal surfaces, the area ratio is non-decreasing in ; Perelman's entropy and Huisken's monotonicity for mean curvature flow play the same role), and blow-up analysis at singularities. The minimal surface equation is the model case where geometry explains the analysis: Bernstein's theorem fails for because of the area-minimising Simons cone.
Physics— Soap films, mass and the renormalisation group
Soap films realise minimal surfaces to within the thickness of the film, and Plateau's empirical laws for how films meet (three sheets at 120° along curves, four curves at the tetrahedral angle at points) were proved by Jean Taylor (1976) for area-minimising soap-film-like surfaces. In general relativity, the positive mass theorem says an isolated gravitating system with non-negative local energy density has non-negative total mass; Schoen and Yau proved it by showing that negative mass would force a stable minimal surface that cannot exist. In quantum field theory, the renormalisation group flow of the nonlinear sigma model is, to first order, Ricci flow (Friedan, 1980) — a heuristic connection that predated Hamilton's work. See relativity.
Probability— Brownian motion and harmonic maps
Harmonic functions are exactly the functions for which is a martingale along Brownian motion , which is the probabilistic form of the mean value property (formalised below from Mathlib). The same holds for maps: is harmonic if and only if it sends Brownian motion on to a martingale on (with respect to the Levi-Civita connection). Probabilistic methods (coupling, stochastic flows) give proofs of gradient estimates and Liouville theorems, and Perelman's entropy has a heuristic interpretation as a Boltzmann–Nash entropy of the heat kernel. See stochastic processes.
Computation— Discrete differential geometry
Computers find minimal surfaces and run geometric flows by discretising them: triangulated surfaces with the cotangent Laplacian (Pinkall–Polthier, 1993), Brakke's Surface Evolver for soap films, and finite-element schemes for mean curvature flow (Dziuk). Good discretisations keep structure — a discrete maximum principle needs a time step (formalised in Lean), and redistributing vertices keeps polygons well shaped, as in the curve-shortening experiment. Computer images also guide proofs: they led Hoffman and Meeks to prove (1985) that Costa's surface is embedded, the first new complete embedded minimal surface of finite topology since the plane, the catenoid and the helicoid.
History and global context
- 1740s–1880s: from variational calculus to soap films. Leonhard Euler (Switzerland) found the catenoid as the minimal surface of revolution (1744); Joseph-Louis Lagrange (Italy–France) derived the minimal surface equation (1762); Jean Baptiste Meusnier (France) found the helicoid and interpreted minimality as vanishing mean curvature (1776); Heinrich Scherk (Germany) found his surfaces (1834); Joseph Plateau (Belgium) published his experiments on soap films (1873); Bernhard Riemann, Karl Weierstrass and Alfred Enneper (Germany) gave representation formulas by complex analysis.
- 1910s–1960s: existence and regularity. Sergei Bernstein (Russia–Ukraine) proved his theorem (1915–17); Jesse Douglas (USA) and Tibor Radó (Hungary–USA) solved the Plateau problem (1930–31), and Douglas received one of the first two Fields Medals (1936); Ennio De Giorgi (Italy) and John Nash (USA) proved regularity of weak solutions of elliptic equations (1957–58); James Eells and Joseph Sampson (USA) introduced the harmonic map heat flow (1964); Hidehiko Yamabe (Japan) posed his problem (1960), solved by Neil Trudinger (Australia), Thierry Aubin (France) and Richard Schoen (USA).
- 1970s–1990s: geometric analysis comes of age. Shing-Tung Yau (China–USA) and Schoen proved the positive mass theorem (1979), and Yau the Calabi conjecture (1978); Jonathan Sacks and Karen Uhlenbeck (USA) discovered bubbling (1981) — Uhlenbeck received the Abel Prize in 2019 for this circle of ideas; Richard Hamilton (USA) introduced Ricci flow (1982); Gerhard Huisken (Germany) proved convex hypersurfaces shrink to round points (1984); Michael Gage, Hamilton and Matthew Grayson settled the curve-shortening flow (1986–87).
- 2000s–present. Grigori Perelman (Russia) proved geometrisation with Ricci flow (2002–03); Simon Brendle (Germany–USA) and Schoen proved the differentiable sphere theorem (2009); Fernando Codá Marques (Brazil) and André Neves (Portugal) proved the Willmore conjecture (2014); Tobias Colding and William Minicozzi (Denmark, USA) classified generic singularities of mean curvature flow (2012); Antoine Song (France) completed the proof of Yau's conjecture on minimal surfaces (2018).
Further reading
A suggested path: Osserman and Colding–Minicozzi for minimal surfaces; Topping for a first course on Ricci flow, then Chow–Lu–Ni; Morgan–Tian for Perelman's proof; Lee–Parker for the Yamabe problem; Mantegazza for mean curvature flow.
- Robert Osserman, A Survey of Minimal Surfaces (1969; Dover edition 1986).
- Tobias Holck Colding and William P. Minicozzi II, A Course in Minimal Surfaces (2011).
- Ulrich Dierkes, Stefan Hildebrandt and Friedrich Sauvigny, Minimal Surfaces (2nd edition, 2010).
- Peter Topping, Lectures on the Ricci Flow (2006).
- Bennett Chow, Peng Lu and Lei Ni, Hamilton's Ricci Flow (2006).
- John Morgan and Gang Tian, Ricci Flow and the Poincaré Conjecture (2007).
- Richard S. Hamilton, "Three-manifolds with positive Ricci curvature", Journal of Differential Geometry 17 (1982).
- John M. Lee and Thomas H. Parker, "The Yamabe problem", Bulletin of the AMS 17 (1987).
- Richard Schoen and Shing-Tung Yau, Lectures on Differential Geometry (1994).
- Carlo Mantegazza, Lecture Notes on Mean Curvature Flow (2011).