Skip to content
The Lumenary
Research pathwaysResearch orientation (vector bundles, Lie groups and quantum mechanics assumed) 140 min

Gauge theory and the geometry of physics

Forces are curvature. A phase carried around a loop comes back changed — even through regions where no field is felt — and the same equations that describe this reshaped the topology of four-dimensional space.

Formally verified · 24 LeanComputationally tested · 2 PythonAI-drafted · awaiting human reviewMathematically reviewed: Awaiting human review
MotivationH

Forces as curvature

In 1959 Yakir Aharonov and David Bohm proposed an experiment. Send electrons around both sides of a long, thin, perfectly shielded solenoid and let the two beams interfere. Outside the solenoid the magnetic field is zero; classically the electrons feel no force. Yet the interference pattern shifts by an amount proportional to the magnetic flux trapped inside — a flux the electrons never touch. The effect was confirmed decisively by Akira Tonomura and collaborators at Hitachi in 1986, with the solenoid's field sealed inside a superconductor.

What the electrons feel is not the field but the holonomy of a connection: the phase acquired by parallel transport around a loop. The magnetic field is the curvature of that connection, and curvature is holonomy around infinitesimal loops; where the curvature vanishes, holonomy around a large loop can still be non-trivial if the loop encircles a hole. This is the geometry of gauge theory, in which every fundamental force of the Standard Model is described by a connection on a principal bundle and its field strength by curvature.

The same mathematics turned out to be a powerful tool in pure mathematics. In 1983 Simon Donaldson used the moduli spaces of solutions of the Yang–Mills equations — instantons — to prove that many topological 4-manifolds admit no smooth structure, and, combined with Michael Freedman's work, that R4\R^4 carries exotic smooth structures, a phenomenon that occurs in no other dimension. And the quantum version of the theory contains one of the Millennium Problems: to construct quantum Yang–Mills theory rigorously and prove that it has a mass gap.

IntuitionH

Comparing phases at different points

A quantum particle carries an internal phase, a point of U(1)U(1), or for the weak and strong forces an internal frame acted on by SU(2)SU(2) or SU(3)SU(3). There is no canonical way to compare internal frames at different points: one needs a rule of parallel transport. That rule is a connection.

The lattice picture of Kenneth Wilson (1974) makes this concrete. Place the particle on a grid. On each oriented edge from xx to yy put a group element Uxy∈GU_{xy} \in G — the transporter — with Uyx=Uxy−1U_{yx} = U_{xy}^{-1}. Transport along a path is the product of the transporters on its edges. A gauge transformation is an independent change of frame g(x)∈Gg(x) \in G at every vertex, under which Uxy↦g(x)Uxyg(y)−1U_{xy} \mapsto g(x) U_{xy} g(y)^{-1}. Physical quantities must not depend on the arbitrary choice of frames, so they must be gauge invariant.

What is invariant? Transport around a closed loop based at xx changes only by conjugation, g(x)⋅hol⋅g(x)−1g(x) \cdot \mathrm{hol} \cdot g(x)^{-1}, so its trace — the Wilson loop — is invariant, and for the abelian group U(1)U(1) the holonomy itself is. Around the smallest loop, one square (a plaquette), the holonomy measures the field strength through that square: it is the lattice curvature.

UUg(x)
Wilson's lattice gauge field. Each edge carries a transporter U in the gauge group; transport around a square (the plaquette, in gold) is the lattice curvature. A gauge transformation g at each vertex changes every U, but the trace of the transport around any closed loop is unchanged.

The continuum theory is the limit in which the transporter along a short edge vv is U≈1−A(v)U \approx 1 - A(v) for a Lie-algebra-valued 11-form AA, the gauge potential, and the plaquette around the square spanned by εv,εw\varepsilon v, \varepsilon w is 1−ε2F(v,w)+O(ε3)1 - \varepsilon^2 F(v, w) + O(\varepsilon^3) (with suitable sign conventions), where F=dA+A∧AF = dA + A \wedge A is the curvature or field strength.

Analogy, not a formal construction

Carry a compass needle around a triangle on the Earth's surface, always keeping it "parallel" to itself: it comes back rotated by an angle equal to the enclosed curvature (the spherical excess). Gauge fields do the same to internal phases instead of tangent vectors. The analogy is close — the Levi-Civita connection is a connection on the frame bundle — but it is still an analogy: in gauge theory the bundle is an independent, internal one, and the connection is a dynamical field rather than determined by a metric.

DefinitionsH

Definitions

We assume vector bundles and characteristic classes, Lie groups, differential forms and, for the physics, quantum mechanics. Let GG be a compact Lie group (think U(1)U(1), SU(2)SU(2), SU(3)SU(3)), realised as a matrix group with Lie algebra g\mathfrak{g}.

Definition— principal bundle

A principal GG-bundle is a smooth map π:P→M\pi : P \to M with a smooth right action of GG on PP that is free and preserves fibres, which is locally trivial: every point of MM has a neighbourhood UU with a diffeomorphism π−1(U)≅U×G\pi^{-1}(U) \cong U \times G commuting with the projections and turning the action into right multiplication on GG. So GG acts simply transitively on each fibre. Local sections sα:Uα→Ps_\alpha : U_\alpha \to P give trivialisations, related by transition functions gαβ:Uα∩Uβ→Gg_{\alpha\beta} : U_\alpha \cap U_\beta \to G with sβ=sαgαβs_\beta = s_\alpha g_{\alpha\beta}. A representation G→GL(V)G \to GL(V) gives an associated vector bundle P×GVP \times_G V, whose sections are the matter fields.

Definition— connection, gauge potential and gauge transformation

A connection on PP is a g\mathfrak{g}-valued 11-form ω\omega on PP that restricts to the Maurer–Cartan form on each fibre and is equivariant, Rg∗ω=Ad⁡(g−1)ωR_g^*\omega = \operatorname{Ad}(g^{-1})\omega; equivalently, a GG-invariant choice of horizontal subspaces ker⁡ω\ker\omega complementary to the fibres. In a local section ss it is described by the gauge potential A=s∗ωA = s^*\omega, a g\mathfrak{g}-valued 11-form on UU, and the covariant derivative of a matter field is ∇ψ=dψ+Aψ\nabla \psi = d\psi + A\psi. A change of section s′=sgs' = s g, with g:U→Gg : U \to G, is a gauge transformation:

A′=g−1Ag+g−1dg,ψ′=g−1ψ.A' = g^{-1} A g + g^{-1} dg, \qquad \psi' = g^{-1}\psi .

Definition— curvature and holonomy

The curvature of ω\omega is Ω=dω+12[ω∧ω]\Omega = d\omega + \frac12[\omega \wedge \omega]; locally it is the g\mathfrak{g}-valued 22-form

FA=dA+A∧A.F_A = dA + A \wedge A .

The connection is flat if FA=0F_A = 0. Parallel transport along a loop γ\gamma based at xx gives the holonomy hol⁡γ(A)∈G\operatorname{hol}_\gamma(A) \in G, well defined up to conjugation (the choice of frame at xx).

Definition— Yang–Mills functional and equations

On a compact oriented Riemannian manifold MM, with the Ad⁡\operatorname{Ad}-invariant inner product ⟨X,Y⟩=−tr⁡(XY)\langle X, Y \rangle = -\operatorname{tr}(XY) on g\mathfrak{g} and the Hodge star ⋆\star, the Yang–Mills functional is

YM(A)=∫M∣FA∣2 dvol=−∫Mtr⁡(FA∧⋆FA).\mathrm{YM}(A) = \int_M |F_A|^2 \, d\mathrm{vol} = -\int_M \operatorname{tr}(F_A \wedge \star F_A).

Its Euler–Lagrange equations are the Yang–Mills equations dA⋆FA=0d_A {\star} F_A = 0, where dAβ=dβ+A∧β−(−1)kβ∧Ad_A \beta = d\beta + A \wedge \beta - (-1)^k \beta \wedge A on g\mathfrak{g}-valued kk-forms.

Definition— instanton and topological charge

On an oriented Riemannian 44-manifold, ⋆\star maps 22-forms to 22-forms with ⋆2=1\star^2 = 1, so Λ2=Λ+⊕Λ−\Lambda^2 = \Lambda^+ \oplus \Lambda^- splits into self-dual and anti-self-dual forms. A connection is an instanton (anti-self-dual, ASD) if FA=−⋆FAF_A = -\star F_A. For an SU(2)SU(2)-bundle EE over a closed oriented 44-manifold, the topological charge is the characteristic number

k=c2(E)[M]=18π2∫Mtr⁡(FA∧FA),k = c_2(E)[M] = \frac{1}{8\pi^2} \int_M \operatorname{tr}(F_A \wedge F_A),

which by Chern–Weil theory is an integer independent of AA.

Worked examplesH

Examples

Example— Electromagnetism is a U(1) gauge theory

For G=U(1)G = U(1), g=iR\mathfrak{g} = i\R and A=−i qℏ aA = -i\,\frac{q}{\hbar}\,a for a real 11-form aa, the electromagnetic potential, so that ∇=d−iqℏa\nabla = d - i\frac{q}{\hbar} a for a particle of charge qq. Gauge transformations g=e−iqλ/ℏg = e^{-iq\lambda/\hbar} act by a↦a+dλa \mapsto a + d\lambda (and ψ↦eiqλ/ℏψ\psi \mapsto e^{iq\lambda/\hbar}\psi), and the curvature is the real 22-form F=daF = da (times −iq/ℏ-iq/\hbar). In space-time with coordinates (t,x,y,z)(t, x, y, z) and units c=1c = 1, write

a=ax dx+ay dy+az dz−φ dt,F=da=Bx dy∧dz+By dz∧dx+Bz dx∧dy+(Ex dx+Ey dy+Ez dz)∧dt.a = a_x\, dx + a_y\, dy + a_z\, dz - \varphi\, dt, \qquad F = da = B_x\, dy\wedge dz + B_y\, dz \wedge dx + B_z\, dx \wedge dy + (E_x\, dx + E_y\, dy + E_z\, dz) \wedge dt .

Comparing coefficients gives B=curl⁡a⃗B = \operatorname{curl}\vec a and E=−∇φ−∂ta⃗E = -\nabla\varphi - \partial_t \vec a, where a⃗=(ax,ay,az)\vec a = (a_x, a_y, a_z) is the vector potential and φ\varphi the electric potential. The identity dF=0dF = 0 has two kinds of components: the coefficient of dx∧dy∧dzdx \wedge dy \wedge dz is div⁡B\operatorname{div} B, and the coefficient of dy∧dz∧dtdy \wedge dz \wedge dt is ∂tBx+(curl⁡E)x\partial_t B_x + (\operatorname{curl} E)_x (and cyclically). So dF=0dF = 0 is exactly the pair of homogeneous Maxwell equations

div⁡B=0,∂tB+curl⁡E=0.\operatorname{div} B = 0, \qquad \partial_t B + \operatorname{curl} E = 0 .

The other pair needs the Minkowski metric: with the Lorentzian Hodge star and the current 33-form JJ (charge density ρ\rho and current jj), d⋆F=Jd{\star}F = J encodes Gauss's law div⁡E=ρ\operatorname{div} E = \rho and the Ampère–Maxwell law curl⁡B−∂tE=j\operatorname{curl} B - \partial_t E = j (up to sign conventions for ⋆\star). Applying dd to it gives dJ=0dJ = 0: charge conservation is a consequence of the field equations. Maxwell's four equations become two.

Example— The Dirac monopole and charge quantisation

Cover S2S^2 by the two hemispheres UNU_N, USU_S, overlapping near the equator, and glue trivial U(1)U(1)-bundles by the transition function einϕe^{in\phi}, n∈Zn \in \Z. A connection is a pair of real potentials aNa_N, aSa_S with aN−aS=n dϕa_N - a_S = n\, d\phi on the overlap, and the curvature F=daN=daSF = da_N = da_S is a global 22-form. By Stokes,

∫S2F=∮equatoraN−∮equatoraS=∮n dϕ=2πn,\int_{S^2} F = \oint_{\text{equator}} a_N - \oint_{\text{equator}} a_S = \oint n\, d\phi = 2\pi n ,

so 12π∫S2F=n\frac{1}{2\pi}\int_{S^2} F = n is the first Chern number of the bundle, an integer that no choice of connection can change. Physically, a magnetic monopole of total flux Φm\Phi_m can coexist with a particle of charge qq only if qΦm∈2πℏ Zq\Phi_m \in 2\pi\hbar\,\Z (Dirac, 1931): if a single monopole exists anywhere, electric charge is quantised. The case n=1n = 1 is the Hopf bundle S3→S2S^3 \to S^2.

Example— The Aharonov–Bohm solenoid: a flat connection with holonomy

Outside an infinitely long solenoid of flux Φ\Phi along the zz-axis, the potential can be taken to be a=Φ2π dθa = \frac{\Phi}{2\pi}\, d\theta on R2∖{0}\R^2 \setminus \{0\} (times the zz-direction). Then F=da=0F = da = 0 there: no magnetic field. But for a loop γ\gamma winding ww times around the solenoid,

hol⁡γ=exp⁡(iqℏ∮γa)=exp⁡(iqℏ w Φ).\operatorname{hol}_\gamma = \exp\Big(\frac{iq}{\hbar}\oint_\gamma a\Big) = \exp\Big(\frac{iq}{\hbar}\, w\,\Phi\Big).

Two electron paths on either side of the solenoid differ by a loop of winding number one, so their phases differ by qΦ/ℏq\Phi/\hbar, which shifts the interference fringes. The shift is invisible exactly when qΦ/ℏ∈2πZq\Phi/\hbar \in 2\pi\Z — whence the flux quantum h/qh/q for a charge qq. Theorem 5 below shows that the holonomy is the only gauge-invariant information in a flat connection on the punctured plane.

Example— The BPST instanton

Identify R4\R^4 with the quaternions H\mathbb{H} and su(2)\mathfrak{su}(2) with the imaginary quaternions. Belavin, Polyakov, Schwarz and Tyupkin (1975) found the SU(2)SU(2) connection

A=Im⁡(xˉ dx1+∣x∣2),FA=dxˉ∧dx(1+∣x∣2)2,A = \operatorname{Im}\Big( \frac{\bar x\, dx}{1 + |x|^2} \Big), \qquad F_A = \frac{d\bar x \wedge dx}{(1 + |x|^2)^2},

whose curvature is (anti-)self-dual, depending on the orientation convention, with 18π2∫∣FA∣2=1\frac{1}{8\pi^2}\int |F_A|^2 = 1. Its energy density is concentrated in a ball of radius 11; rescaling x↦x/λx \mapsto x/\lambda and translating give a 55-parameter family of charge-one instantons, which extends to S4=R4∪{∞}S^4 = \R^4 \cup \{\infty\}. The Atiyah–Drinfeld–Hitchin–Manin construction (1978) describes all instantons on S4S^4 by linear algebra.

Example— Lattice gauge fields

On the lattice Z2\Z^2 a U(1)U(1) gauge field is a phase eiaee^{i a_e} on each edge; its curvature is the plaquette angle θp=a1+a2−a3−a4\theta_p = a_1 + a_2 - a_3 - a_4 around each square (reduced to (−π,π](-\pi, \pi]). On a periodic N×NN \times N lattice — a discrete torus — the reduced angles add up to 2πQ2\pi Q with Q∈ZQ \in \Z, a lattice version of the first Chern number; the first experiment computes it. In Wilson's lattice formulation of quantum chromodynamics the link variables are SU(3)SU(3) matrices and the action is a sum over plaquettes of 1−13Re⁡tr⁡Up1 - \frac13\operatorname{Re}\operatorname{tr} U_p.

ProofH

Curvature, the Yang–Mills equations and the instanton bound

Theorem— Proposition 1 — curvature transforms by conjugation

If A′=g−1Ag+g−1dgA' = g^{-1}Ag + g^{-1}dg, then FA′=g−1FA gF_{A'} = g^{-1} F_A\, g. Consequently tr⁡(FA∧FA)\operatorname{tr}(F_A \wedge F_A), tr⁡(FA∧⋆FA)\operatorname{tr}(F_A \wedge \star F_A) and ∣FA∣2|F_A|^2 are gauge invariant; for G=U(1)G = U(1), FAF_A itself is.

Proof

Use d(g−1)=−g−1 dg g−1d(g^{-1}) = -g^{-1}\, dg\, g^{-1} and the graded Leibniz rule d(αβ)=dα β−α dβd(\alpha\beta) = d\alpha\, \beta - \alpha\, d\beta for a matrix of 11-forms α\alpha:

dA′=−g−1dg g−1∧Ag+g−1 dA g−g−1A∧dg−g−1dg g−1∧dg,dA' = -g^{-1}dg\, g^{-1} \wedge A g + g^{-1}\, dA\, g - g^{-1}A \wedge dg - g^{-1}dg\, g^{-1} \wedge dg ,A′∧A′=g−1A∧A g+g−1A∧dg+g−1dg g−1∧Ag+g−1dg g−1∧dg.A' \wedge A' = g^{-1}A\wedge A\, g + g^{-1}A \wedge dg + g^{-1}dg\, g^{-1} \wedge A g + g^{-1}dg\, g^{-1} \wedge dg .

Adding, every term containing dgdg cancels against one in the other line (first with third, third with second, fourth with fourth), leaving FA′=g−1(dA+A∧A)gF_{A'} = g^{-1}(dA + A \wedge A)g. The invariance statements follow from tr⁡(g−1Xg g−1Yg)=tr⁡(XY)\operatorname{tr}(g^{-1}Xg\, g^{-1}Yg) = \operatorname{tr}(XY).

∎

Theorem— Proposition 2 — the Bianchi identity

dAFA=dFA+A∧FA−FA∧A=0d_A F_A = dF_A + A \wedge F_A - F_A \wedge A = 0. For G=U(1)G = U(1) this is dF=0dF = 0.

Proof

dFA=d(dA)+d(A∧A)=dA∧A−A∧dAdF_A = d(dA) + d(A \wedge A) = dA \wedge A - A \wedge dA. On the other hand A∧FA−FA∧A=A∧dA+A∧A∧A−dA∧A−A∧A∧A=A∧dA−dA∧AA \wedge F_A - F_A \wedge A = A \wedge dA + A\wedge A\wedge A - dA \wedge A - A\wedge A\wedge A = A \wedge dA - dA \wedge A. The two cancel.

∎

Theorem— Theorem 3 — the Yang–Mills equations

AA is a critical point of YM\mathrm{YM} (for compactly supported variations) if and only if dA∗FA=0d_A^* F_A = 0, equivalently dA⋆FA=0d_A{\star}F_A = 0. Every instanton solves the Yang–Mills equations.

Proof

For a g\mathfrak{g}-valued 11-form α\alpha, FA+tα=FA+t dAα+t2 α∧αF_{A + t\alpha} = F_A + t\, d_A\alpha + t^2\, \alpha \wedge \alpha. Hence

ddt∣t=0YM(A+tα)=2∫M⟨dAα,FA⟩ dvol=2∫M⟨α,dA∗FA⟩ dvol,\frac{d}{dt}\Big|_{t=0} \mathrm{YM}(A + t\alpha) = 2\int_M \langle d_A\alpha, F_A\rangle\, d\mathrm{vol} = 2\int_M \langle \alpha, d_A^* F_A\rangle\, d\mathrm{vol},

which vanishes for all α\alpha iff dA∗FA=0d_A^* F_A = 0. On 22-forms dA∗=±⋆dA⋆d_A^* = \pm\star d_A \star, so this is dA⋆FA=0d_A{\star}F_A = 0. If FA=−⋆FAF_A = -\star F_A, then dA⋆FA=−dAFA=0d_A{\star}F_A = -d_A F_A = 0 by the Bianchi identity.

∎

Theorem— Theorem 4 — the instanton bound

Let AA be a connection on an SU(2)SU(2)-bundle EE over a closed oriented Riemannian 44-manifold, with k=c2(E)[M]k = c_2(E)[M]. Then

YM(A) ≥ 8π2∣k∣,\mathrm{YM}(A) \ \ge\ 8\pi^2 |k|,

with equality if and only if AA is anti-self-dual (when k>0k \gt 0) or self-dual (when k<0k \lt 0); for k=0k = 0, equality means AA is flat. Instantons minimise the Yang–Mills energy in their topological class.

Proof

Split F=F++F−F = F^+ + F^- with ⋆F±=±F±\star F^\pm = \pm F^\pm. The spaces Λ+\Lambda^+ and Λ−\Lambda^- are orthogonal, so ∣F∣2=∣F+∣2+∣F−∣2|F|^2 = |F^+|^2 + |F^-|^2, and α∧β=⟨α,⋆β⟩ dvol\alpha \wedge \beta = \langle \alpha, \star\beta \rangle\,d\mathrm{vol} shows Λ+∧Λ−=0\Lambda^+ \wedge \Lambda^- = 0. With ∣X∣2dvol=−tr⁡(X∧⋆X)|X|^2 d\mathrm{vol} = -\operatorname{tr}(X \wedge \star X),

tr⁡(F∧F)=tr⁡(F+∧F+)+tr⁡(F−∧F−)=(−∣F+∣2+∣F−∣2) dvol.\operatorname{tr}(F \wedge F) = \operatorname{tr}(F^+\wedge F^+) + \operatorname{tr}(F^- \wedge F^-) = \big(-|F^+|^2 + |F^-|^2\big)\, d\mathrm{vol}.

By Chern–Weil, 8π2k=∫(∣F−∣2−∣F+∣2)8\pi^2 k = \int (|F^-|^2 - |F^+|^2), while YM(A)=∫(∣F+∣2+∣F−∣2)\mathrm{YM}(A) = \int (|F^+|^2 + |F^-|^2). Hence YM(A)≥∣8π2k∣\mathrm{YM}(A) \ge |8\pi^2 k|, with equality iff F+=0F^+ = 0 or F−=0F^- = 0 everywhere, matching the sign of kk.

∎

The pointwise inequality ∣F∧F∣≤∣F∣2|F \wedge F| \le |F|^2 with its equality cases is formalised below; Chern–Weil theory, which turns the integral into the integer kk, is not.

Theorem— Theorem 5 — flat U(1) connections on the punctured plane

Let M=R2∖{0}M = \R^2 \setminus \{0\} and consider U(1)U(1) connections ∇=d−iqℏa\nabla = d - i\frac{q}{\hbar}a on the trivial bundle. Gauge-equivalence classes of flat connections are in bijection with U(1)U(1), via the holonomy eiqΦ/ℏe^{iq\Phi/\hbar} around the unit circle, Φ=∮S1a\Phi = \oint_{S^1} a. More generally, on a connected manifold MM, flat connections on principal GG-bundles, up to isomorphism, correspond to Hom⁡(π1(M),G)/G\operatorname{Hom}(\pi_1(M), G)/G (homomorphisms up to conjugation), via holonomy.

Proof

Flatness means da=0da = 0. By de Rham's theorem for the punctured plane, HdR1(M)≅RH^1_{dR}(M) \cong \R via [a]↦∮S1a[a] \mapsto \oint_{S^1} a, so a=Φ2πdθ+dfa = \frac{\Phi}{2\pi}d\theta + df for a smooth function ff (see differential forms). The gauge transformation g=eiqf/ℏg = e^{iqf/\hbar} changes aa by −df-df and so removes it. A general gauge transformation g:M→U(1)g : M \to U(1) changes aa by −ℏq⋅1ig−1dg-\frac{\hbar}{q}\cdot\frac{1}{i}g^{-1}dg, and 1ig−1dg\frac{1}{i}g^{-1}dg is a closed real 11-form with period 2πn2\pi n around the circle, nn the winding number of gg; conversely g=e−inθg = e^{-in\theta} shifts aa by ℏq n dθ\frac{\hbar}{q}\, n\, d\theta. So Φ2πdθ\frac{\Phi}{2\pi}d\theta and Φ′2πdθ\frac{\Phi'}{2\pi}d\theta are gauge equivalent iff qℏ(Φ−Φ′)∈2πZ\frac{q}{\hbar}(\Phi - \Phi') \in 2\pi\Z, i.e. iff eiqΦ/ℏ=eiqΦ′/ℏe^{iq\Phi/\hbar} = e^{iq\Phi'/\hbar}. The holonomy is gauge invariant (the group is abelian) and equals eiqΦ/ℏe^{iq\Phi/\hbar}.

∎

ExplanationH

Gauge theory and the topology of four-manifolds

Every closed oriented 44-manifold MM has an intersection form QMQ_M on H2(M;Z)/torsionH_2(M; \Z)/\text{torsion}, a unimodular symmetric bilinear form. Freedman (1982) showed that simply connected closed topological 44-manifolds are classified by QMQ_M together with one Z/2\Z/2-invariant, and that every unimodular form occurs. In particular there is a topological 44-manifold with intersection form −E8⊕−E8-E_8 \oplus -E_8, negative definite and not diagonalisable.

Donaldson's theorem (1983). If a smooth closed simply connected oriented 44-manifold has negative definite intersection form, then the form is diagonalisable over Z\Z, i.e. isomorphic to ⟨−1⟩⊕⋯⊕⟨−1⟩\langle -1 \rangle \oplus \cdots \oplus \langle -1 \rangle. (In 1987 Donaldson removed the hypothesis of simple connectivity.) So the topological manifold with form −E8⊕−E8-E_8 \oplus -E_8 has no smooth structure.

The idea of the proof is a cobordism made of instantons. Take the SU(2)SU(2)-bundle with c2=1c_2 = 1 and a generic metric. The index theorem gives the dimension of the moduli space M\mathcal{M} of ASD connections modulo gauge as 8k−3(1−b1+b+)=8−3=58k - 3(1 - b_1 + b^+) = 8 - 3 = 5. Uhlenbeck's compactness theorem and Taubes' gluing show that one end of M\mathcal{M} is a collar on MM itself (instantons concentrating at a point of MM), and M\mathcal{M} is a smooth 55-manifold except at finitely many reducible connections, one for each pair ±e\pm e of classes with e⋅e=−1e \cdot e = -1, where it is a cone on CP2\mathbb{CP}^2. Cutting out the cones, M\mathcal{M} is an oriented cobordism between MM and a disjoint union of copies of ±CP2\pm\mathbb{CP}^2, so the signatures agree, and a lattice-theoretic argument shows the form must be diagonal.

Consequences and descendants, all theorems:

  • Exotic R4\R^4. Combining Freedman's and Donaldson's results gives smooth manifolds homeomorphic but not diffeomorphic to R4\R^4; Taubes showed there are uncountably many. In every other dimension Rn\R^n has a unique smooth structure.
  • Donaldson invariants (polynomial invariants from counts of instantons) distinguish homeomorphic, non-diffeomorphic simply connected 44-manifolds.
  • Seiberg–Witten theory (1994), an abelian gauge theory with a spinor field, reproduces and extends much of Donaldson theory with far simpler analysis; Kronheimer and Mrowka used it to prove the Thom conjecture (1994).
  • Furuta's 10/8 theorem (2001): a smooth closed spin 44-manifold with indefinite intersection form satisfies b2≥108∣σ∣+2b_2 \ge \frac{10}{8}|\sigma| + 2; Hopkins, Lin, Shi and Xu improved the additive constant (2018).
  • Low dimensions. Floer's instanton homology (1988) for 33-manifolds; Witten's interpretation of the Jones polynomial through Chern–Simons gauge theory (1989; see knot theory); Kronheimer and Mrowka's proofs of Property P (2004) and that Khovanov homology detects the unknot (2011). See low-dimensional topology.
ExplanationH

Physics, and what is open

The Standard Model is a quantum gauge theory with gauge group SU(3)×SU(2)×U(1)SU(3) \times SU(2) \times U(1) (up to a finite quotient): SU(3)SU(3) for the strong force (quantum chromodynamics), SU(2)×U(1)SU(2) \times U(1) for the electroweak force, broken to the U(1)U(1) of electromagnetism by the Higgs mechanism. Its mathematical consistency at the level of perturbation theory rests on 't Hooft and Veltman's proof of renormalisability (1971–72), and the weakness of the strong force at short distances on the asymptotic freedom of Gross and Wilczek and of Politzer (1973). Lattice gauge theory makes the theory computable: Wilson (1974) showed that at strong coupling Wilson loops obey an area law ⟨W(C)⟩≈e−σ Area(C)\langle W(C)\rangle \approx e^{-\sigma\,\mathrm{Area}(C)}, a signature of confinement, and large-scale Monte Carlo simulations now compute hadron masses from first principles — numerical evidence of great precision, not proof.

Open problems (as of the references; check recent surveys):

  • Yang–Mills existence and mass gap (Clay Millennium Problem, 2000): prove that for every compact simple gauge group GG a non-trivial quantum Yang–Mills theory exists on R4\R^4, satisfying axioms at least as strong as those of constructive quantum field theory, and that it has a mass gap Δ>0\Delta \gt 0. No four-dimensional interacting quantum gauge theory has been constructed rigorously.
  • The smooth 44-dimensional Poincaré conjecture: is every smooth homotopy 44-sphere diffeomorphic to S4S^4? (Freedman proved the topological version in 1982.)
  • The 11/8 conjecture (Matsumoto, 1982): a smooth closed spin 44-manifold satisfies b2≥118∣σ∣b_2 \ge \frac{11}{8}|\sigma|. Furuta's 10/8 theorem and its improvements are the best results.
Formal mathematicsF

Gauge invariance in Lean and Mathlib

Mathlib has Lie groups and Lie algebras, smooth vector bundles and differential forms on normed spaces, but not yet principal bundles or connections. Formalised here: Wilson's lattice gauge theory, with gauge covariance proved by induction on paths and for any structure group; the gauge invariance of the electromagnetic field strength and the Bianchi identity in the continuum, using Mathlib's exterior derivative; and the pointwise algebra of Theorem 4.

The lattice: links, paths, transport and gauge transformations.

LatticeConnectionLean 4Formally verified
/-- A lattice gauge field (connection) on the square lattice `ℤ²` with structure group `G`:
`ux x` transports from `x + (1, 0)` back to `x` along the edge in the `x`-direction, and `uy x`
likewise in the `y`-direction. (Wilson, 1974.) -/
structure LatticeConnection (G : Type*) where
  /-- The link variable on the edge from `x` to `x + (1, 0)`. -/
  ux : ℤ × ℤ → G
  /-- The link variable on the edge from `x` to `x + (0, 1)`. -/
  uy : ℤ × ℤ → G
Axioms used: No axiomsformal/Lumenary/GaugeTheory.leanTry it in the Lean web editor
StepLean 4Formally verified
/-- A step of a lattice path: one unit east (`xp`), west (`xm`), north (`yp`) or south (`ym`). -/
inductive Step
  | xp
  | xm
  | yp
  | ym
Axioms used: No axiomsformal/Lumenary/GaugeTheory.leanTry it in the Lean web editor
shiftLean 4Formally verified
/-- The displacement of a step. -/
def Step.shift : Step → ℤ × ℤ
  | .xp => (1, 0)
  | .xm => (-1, 0)
  | .yp => (0, 1)
  | .ym => (0, -1)
Axioms used: No axiomsformal/Lumenary/GaugeTheory.leanTry it in the Lean web editor
transportLean 4Formally verified
/-- Parallel transport along one step from `x`: the link variable, inverted when the edge is
traversed backwards. -/
def transport (A : LatticeConnection G) (x : ℤ × ℤ) : Step → G
  | .xp => A.ux x
  | .xm => (A.ux (x + (-1, 0)))⁻¹
  | .yp => A.uy x
  | .ym => (A.uy (x + (0, -1)))⁻¹
Axioms used: propextformal/Lumenary/GaugeTheory.leanTry it in the Lean web editor
endpointLean 4Formally verified
/-- The endpoint of the path that starts at `x` and takes the given steps. -/
def endpoint (x : ℤ × ℤ) : List Step → ℤ × ℤ
  | [] => x
  | s :: ss => endpoint (x + s.shift) ss
Axioms used: No axiomsformal/Lumenary/GaugeTheory.leanTry it in the Lean web editor
holonomyLean 4Formally verified
/-- Parallel transport (holonomy) along a path: the ordered product of the step transports. For a
closed path this is the holonomy of the loop; for the boundary of one square it is the discrete
curvature (the plaquette variable). -/
def holonomy (A : LatticeConnection G) (x : ℤ × ℤ) : List Step → G
  | [] => 1
  | s :: ss => transport A x s * holonomy A (x + s.shift) ss
Axioms used: propextformal/Lumenary/GaugeTheory.leanTry it in the Lean web editor
gaugeLean 4Formally verified
/-- A gauge transformation `g : ℤ² → G` (a change of frame at every vertex) acts on link variables
by `U(x → y) ↦ g(x) U(x → y) g(y)⁻¹`. -/
def gauge (g : ℤ × ℤ → G) (A : LatticeConnection G) : LatticeConnection G where
  ux x := g x * A.ux x * (g (x + (1, 0)))⁻¹
  uy x := g x * A.uy x * (g (x + (0, 1)))⁻¹
Axioms used: propextformal/Lumenary/GaugeTheory.leanTry it in the Lean web editor
gauge_mulLean 4Proved here from basic factsFormally verified
/-- Gauge transformations form a group acting on connections: doing `h` and then `g` is the same as
doing the pointwise product `g * h`. -/
theorem gauge_mul (g h : ℤ × ℤ → G) (A : LatticeConnection G) :
    gauge g (gauge h A) = gauge (g * h) A := by
  simp only [gauge, Pi.mul_apply, mul_inv_rev]
  congr 1 <;> funext x <;> group
Axioms used: propext, Quot.soundformal/Lumenary/GaugeTheory.leanTry it in the Lean web editor

Gauge covariance of transport along one step and then along any path, and its consequences for loops:

transport_gaugeLean 4Proved here from basic factsFormally verified
/-- One step transforms covariantly: `transport (g • A) x s = g(x) · transport A x s · g(x + s)⁻¹`.
For backward steps this uses `(x - e) + e = x`. -/
theorem transport_gauge (g : ℤ × ℤ → G) (A : LatticeConnection G) (x : ℤ × ℤ) (s : Step) :
    transport (gauge g A) x s = g x * transport A x s * (g (x + s.shift))⁻¹ := by
  cases s
  · rfl
  · simp only [transport, gauge, Step.shift]
    have : x + (-1, 0) + (1, 0) = x := by ext <;> simp
    rw [this]; group
  · rfl
  · simp only [transport, gauge, Step.shift]
    have : x + (0, -1) + (0, 1) = x := by ext <;> simp
    rw [this]; group
Axioms used: propextformal/Lumenary/GaugeTheory.leanTry it in the Lean web editor
holonomy_gaugeLean 4Proved here from basic factsFormally verified
/-- **Gauge covariance of parallel transport.** Along any path from `x` to `y`, the holonomy of the
transformed connection is `g(x) · hol · g(y)⁻¹`: the gauge transformations at intermediate
vertices cancel in pairs. Proof by induction on the path. -/
theorem holonomy_gauge (g : ℤ × ℤ → G) (A : LatticeConnection G) (p : List Step) :
    ∀ x, holonomy (gauge g A) x p = g x * holonomy A x p * (g (endpoint x p))⁻¹ := by
  induction p with
  | nil => intro x; simp [holonomy, endpoint]
  | cons s ss ih =>
    intro x
    simp only [holonomy, endpoint, transport_gauge, ih]
    group
Axioms used: propextformal/Lumenary/GaugeTheory.leanTry it in the Lean web editor
holonomy_loop_conjLean 4Proved here from basic factsFormally verified
/-- The holonomy of a closed loop based at `x` changes by conjugation by `g(x)`. So only its
conjugacy class — not the group element itself — is physical in a non-abelian theory. -/
theorem holonomy_loop_conj (g : ℤ × ℤ → G) (A : LatticeConnection G) (x : ℤ × ℤ)
    (p : List Step) (hp : endpoint x p = x) :
    holonomy (gauge g A) x p = g x * holonomy A x p * (g x)⁻¹ := by
  rw [holonomy_gauge, hp]
Axioms used: propextformal/Lumenary/GaugeTheory.leanTry it in the Lean web editor
holonomy_loop_abelianLean 4Proved here from basic factsFormally verified
/-- **Abelian gauge theory (electromagnetism on a lattice).** For a commutative structure group such
as `U(1)`, the holonomy of every closed loop is gauge invariant. Around a single square it is the
lattice field strength `exp(i · flux)`; around a large loop, `exp(i · enclosed flux)`. -/
theorem holonomy_loop_abelian {G : Type*} [CommGroup G] (g : ℤ × ℤ → G)
    (A : LatticeConnection G) (x : ℤ × ℤ) (p : List Step) (hp : endpoint x p = x) :
    holonomy (gauge g A) x p = holonomy A x p := by
  rw [holonomy_gauge, hp, mul_comm (g x), mul_assoc, mul_inv_cancel, mul_one]
Axioms used: propextformal/Lumenary/GaugeTheory.leanTry it in the Lean web editor
plaquetteLean 4Proved here from basic factsFormally verified
/-- The holonomy around the unit square with corner `x` (the plaquette variable, Wilson's lattice
curvature): `U_x(x) U_y(x + e₁) U_x(x + e₂)⁻¹ U_y(x)⁻¹`. -/
theorem plaquette (A : LatticeConnection G) (x : ℤ × ℤ) :
    holonomy A x [.xp, .yp, .xm, .ym] =
      A.ux x * A.uy (x + (1, 0)) * (A.ux (x + (0, 1)))⁻¹ * (A.uy x)⁻¹ := by
  simp only [holonomy, transport, Step.shift]
  have h1 : x + (1, 0) + (0, 1) + (-1, 0) = x + (0, 1) := by ext <;> simp
  rw [h1]
  have h3 : x + (0, 1) + (0, -1) = x := by ext <;> simp
  rw [h3]
  group
Axioms used: propextformal/Lumenary/GaugeTheory.leanTry it in the Lean web editor

For matrix groups, the trace kills the conjugation, so Wilson loops are gauge invariant:

trace_conjLean 4Applies a library theoremFormally verified
/-- The trace of a matrix is invariant under conjugation by an invertible matrix,
`tr(g h g⁻¹) = tr(h)`. This applies Mathlib's `Matrix.trace_mul_cycle` (`tr(ABC) = tr(CAB)`). -/
theorem trace_conj {n : Type*} [Fintype n] [DecidableEq n] (g h : (Matrix n n ℂ)ˣ) :
    trace (↑(g * h * g⁻¹) : Matrix n n ℂ) = trace (↑h : Matrix n n ℂ) := by
  rw [Units.val_mul, Units.val_mul, Matrix.trace_mul_cycle, ← Units.val_mul, inv_mul_cancel,
    Units.val_one, Matrix.one_mul]
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/GaugeTheory.leanTry it in the Lean web editor
wilson_loop_gauge_invariantLean 4Proved here from basic factsFormally verified
/-- **Wilson loops are gauge invariant.** For a lattice gauge field with values in invertible
complex matrices (for example `SU(2)` or `SU(3)`), the trace of the holonomy around any closed loop
is unchanged by every gauge transformation. -/
theorem wilson_loop_gauge_invariant {n : Type*} [Fintype n] [DecidableEq n]
    (g : ℤ × ℤ → (Matrix n n ℂ)ˣ) (A : LatticeConnection (Matrix n n ℂ)ˣ) (x : ℤ × ℤ)
    (p : List Step) (hp : endpoint x p = x) :
    trace (↑(holonomy (gauge g A) x p) : Matrix n n ℂ) =
      trace (↑(holonomy A x p) : Matrix n n ℂ) := by
  rw [holonomy_loop_conj g A x p hp, trace_conj]
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/GaugeTheory.leanTry it in the Lean web editor

In the continuum, for G=U(1)G = U(1) (where F=dAF = dA with no A∧AA \wedge A term), with 11-forms on a real normed space represented as Mathlib's continuous alternating maps:

field_strength_gauge_invariantLean 4Proved here from basic factsFormally verified
/-- **Gauge invariance of the electromagnetic field.** If the potential `1`-form `A` is changed by
the differential of a `C²` function `χ`, the field strength `F = dA` does not change:
`d(A + dχ) = dA + d(dχ) = dA`. Uses Mathlib's `extDeriv_add` and `extDeriv_extDeriv_apply`, plus
the differentiability of `dχ` (as the composite of `fderiv χ` with a continuous linear map). -/
theorem field_strength_gauge_invariant {A : E → E [⋀^Fin 1]→L[ℝ] ℝ}
    {χ : E → E [⋀^Fin 0]→L[ℝ] ℝ} (hχ : ContDiff ℝ 2 χ) {x : E}
    (hA : DifferentiableAt ℝ A x) :
    extDeriv (A + extDeriv χ) x = extDeriv A x := by
  have hdχ : DifferentiableAt ℝ (extDeriv χ) x := by
    have h1 : ContDiff ℝ 1 (fderiv ℝ χ) := hχ.fderiv_right (by norm_num)
    exact (ContinuousAlternatingMap.alternatizeUncurryFinCLM ℝ E ℝ).differentiableAt.comp x
      (h1.differentiable (by norm_num) x)
  rw [extDeriv_add hA hdχ, extDeriv_extDeriv_apply hχ.contDiffAt (by simp), add_zero]
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/GaugeTheory.leanTry it in the Lean web editor
bianchiLean 4Applies a library theoremFormally verified
/-- **The Bianchi identity `dF = 0`** for `F = dA` with `A` of class `C²`. In space-time these are
the homogeneous Maxwell equations `div B = 0` and `∂B/∂t + curl E = 0`. This applies Mathlib's
`extDeriv_extDeriv` (`d ∘ d = 0`). -/
theorem bianchi {A : E → E [⋀^Fin 1]→L[ℝ] ℝ} (hA : ContDiff ℝ 2 A) :
    extDeriv (extDeriv A) = 0 :=
  extDeriv_extDeriv hA (by simp)
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/GaugeTheory.leanTry it in the Lean web editor

Finally the algebra of self-duality in four Euclidean dimensions, with 22-forms written in the basis (dx0∧dx1,dx0∧dx2,dx0∧dx3;dx2∧dx3,dx3∧dx1,dx1∧dx2)(dx_0\wedge dx_1, dx_0 \wedge dx_2, dx_0 \wedge dx_3; dx_2 \wedge dx_3, dx_3 \wedge dx_1, dx_1 \wedge dx_2):

hodgeStarLean 4Formally verified
/-- A `2`-form on Euclidean ℝ⁴ as a pair `(a, b)` with `a = (F₀₁, F₀₂, F₀₃)` and
`b = (F₂₃, F₃₁, F₁₂)`. The Hodge star (`⋆(dx₀ ∧ dx₁) = dx₂ ∧ dx₃` and cyclically) swaps them. -/
def hodgeStar (F : (Fin 3 → ℝ) × (Fin 3 → ℝ)) : (Fin 3 → ℝ) × (Fin 3 → ℝ) := (F.2, F.1)
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/GaugeTheory.leanTry it in the Lean web editor
normSqLean 4Formally verified
/-- The pointwise energy density `|F|² = Σ_{i<j} F_{ij}²`. -/
def normSq (F : (Fin 3 → ℝ) × (Fin 3 → ℝ)) : ℝ := F.1 ⬝ᵥ F.1 + F.2 ⬝ᵥ F.2
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/GaugeTheory.leanTry it in the Lean web editor
wedgeSelfLean 4Formally verified
/-- The coefficient of `F ∧ F` with respect to `dx₀ ∧ dx₁ ∧ dx₂ ∧ dx₃`:
`2 (F₀₁ F₂₃ + F₀₂ F₃₁ + F₀₃ F₁₂)`, the topological charge density (up to normalisation). -/
def wedgeSelf (F : (Fin 3 → ℝ) × (Fin 3 → ℝ)) : ℝ := 2 * (F.1 ⬝ᵥ F.2)
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/GaugeTheory.leanTry it in the Lean web editor
hodge_star_hodge_starLean 4Proved here from basic factsFormally verified
/-- On `2`-forms in four Euclidean dimensions `⋆⋆ = 1`, so `Λ²` splits into the `±1` eigenspaces:
self-dual and anti-self-dual forms. -/
theorem hodge_star_hodge_star (F : (Fin 3 → ℝ) × (Fin 3 → ℝ)) : hodgeStar (hodgeStar F) = F := rfl
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/GaugeTheory.leanTry it in the Lean web editor
abs_wedge_leLean 4Proved here from basic factsFormally verified
/-- **The instanton bound, pointwise**: `|F ∧ F| ≤ |F|²`, from `|a ∓ b|² ≥ 0`. Integrated over a
closed `4`-manifold (and summed over Lie algebra components) this gives the Yang–Mills energy bound
`YM(A) ≥ 8π² |k|` for an `SU(2)` bundle with `c₂ = k`, in the usual normalisation. -/
theorem abs_wedge_le (F : (Fin 3 → ℝ) × (Fin 3 → ℝ)) : |wedgeSelf F| ≤ normSq F := by
  obtain ⟨a, b⟩ := F
  simp only [wedgeSelf, normSq, dotProduct, Fin.sum_univ_three]
  rw [abs_le]
  constructor
  · nlinarith [sq_nonneg (a 0 + b 0), sq_nonneg (a 1 + b 1), sq_nonneg (a 2 + b 2)]
  · nlinarith [sq_nonneg (a 0 - b 0), sq_nonneg (a 1 - b 1), sq_nonneg (a 2 - b 2)]
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/GaugeTheory.leanTry it in the Lean web editor
self_dual_iffLean 4Proved here from basic factsFormally verified
/-- **Equality holds exactly for self-dual forms**: `|F|² = F ∧ F` iff `⋆F = F`. (Instantons, in
the anti-self-dual convention, are the case `|F|² = -F ∧ F`, i.e. `⋆F = -F`.) -/
theorem self_dual_iff (F : (Fin 3 → ℝ) × (Fin 3 → ℝ)) :
    normSq F = wedgeSelf F ↔ hodgeStar F = F := by
  obtain ⟨a, b⟩ := F
  simp only [wedgeSelf, normSq, hodgeStar, dotProduct, Fin.sum_univ_three, Prod.mk.injEq]
  constructor
  · intro h
    have e0 : a 0 = b 0 := by
      nlinarith [sq_nonneg (a 0 - b 0), sq_nonneg (a 1 - b 1), sq_nonneg (a 2 - b 2)]
    have e1 : a 1 = b 1 := by
      nlinarith [sq_nonneg (a 0 - b 0), sq_nonneg (a 1 - b 1), sq_nonneg (a 2 - b 2)]
    have e2 : a 2 = b 2 := by
      nlinarith [sq_nonneg (a 0 - b 0), sq_nonneg (a 1 - b 1), sq_nonneg (a 2 - b 2)]
    have hab : a = b := by
      funext i
      fin_cases i
      · exact e0
      · exact e1
      · exact e2
    exact ⟨hab.symm, hab⟩
  · rintro ⟨h1, _⟩
    subst h1
    ring
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/GaugeTheory.leanTry it in the Lean web editor
anti_self_dual_iffLean 4Proved here from basic factsFormally verified
/-- **Anti-self-duality**: `|F|² = -(F ∧ F)` iff `⋆F = -F`, i.e. `b = -a`. These are the
pointwise conditions satisfied by instantons. -/
theorem anti_self_dual_iff (F : (Fin 3 → ℝ) × (Fin 3 → ℝ)) :
    normSq F = -wedgeSelf F ↔ hodgeStar F = -F := by
  obtain ⟨a, b⟩ := F
  simp only [wedgeSelf, normSq, hodgeStar, dotProduct, Fin.sum_univ_three, Prod.neg_mk,
    Prod.mk.injEq]
  constructor
  · intro h
    have e0 : b 0 = -a 0 := by
      nlinarith [sq_nonneg (a 0 + b 0), sq_nonneg (a 1 + b 1), sq_nonneg (a 2 + b 2)]
    have e1 : b 1 = -a 1 := by
      nlinarith [sq_nonneg (a 0 + b 0), sq_nonneg (a 1 + b 1), sq_nonneg (a 2 + b 2)]
    have e2 : b 2 = -a 2 := by
      nlinarith [sq_nonneg (a 0 + b 0), sq_nonneg (a 1 + b 1), sq_nonneg (a 2 + b 2)]
    have hab : b = -a := by
      funext i
      fin_cases i
      · exact e0
      · exact e1
      · exact e2
    refine ⟨hab, ?_⟩
    rw [hab, neg_neg]
  · rintro ⟨h1, _⟩
    subst h1
    simp only [Pi.neg_apply]
    ring
Axioms used: propext, Classical.choice, Quot.soundformal/Lumenary/GaugeTheory.leanTry it in the Lean web editor

Not formalised: principal bundles and connections; non-abelian curvature and Proposition 1 in the continuum; Chern–Weil theory and the integrality of kk; the Yang–Mills equations; instanton moduli spaces, Uhlenbeck compactness and Donaldson's theorem; and the lattice charge QQ of the first experiment (its integrality would be a nice exercise in finite sums).

ComputationC

Lattice gauge fields, computed

The first experiment builds U(1)U(1) gauge fields on a periodic 12×1212 \times 12 lattice with uniform flux 2πk/N22\pi k/N^2 per plaquette, computes the integer charge Q=12π∑pθpQ = \frac{1}{2\pi}\sum_p \theta_p, and checks that random gauge transformations leave every plaquette angle and QQ unchanged. Then it adds noise to the links: QQ remains an integer in every case (each link appears in two plaquettes with opposite signs), stays equal to kk for small noise, and jumps around for very rough fields — a lattice artefact, since rough lattice fields are not close to any smooth connection. The "naive" density ∑sin⁡θp/2π\sum \sin\theta_p / 2\pi, the obvious discretisation of 12π∫F\frac{1}{2\pi}\int F, is not an integer.

Topological charge of U(1) lattice gauge fields on a torusPythonNumerical approximationExperimental evidenceComputationally tested
"""The topological charge of a U(1) lattice gauge field on a torus.

A U(1) gauge field on an N x N periodic lattice assigns a phase exp(i a) to
each oriented link. The plaquette angle theta_p (the lattice field strength,
reduced to (-pi, pi]) is the flux through one square. Because every link
borders two plaquettes with opposite orientations, the raw plaquette angles
sum to zero, so after reduction their sum is a multiple of 2 pi:

    Q = (1 / 2 pi) * sum_p theta_p   is an integer,

the lattice version of the first Chern number (1/2 pi) * integral of F.
We build fields of charge k, apply random gauge transformations (Q and every
theta_p are unchanged), add random noise to the links (Q stays an integer and
equals k while the field is smooth, but can jump when it is rough), and
compare with the naive charge sum sin(theta_p) / 2 pi, which is not an
integer.

Evidence: numerical (floating-point) computation on a few lattices with a
fixed seed. The integrality of Q is a theorem for every configuration whose
plaquettes avoid the value pi; the runs illustrate it.
"""

import math
import random

def reduce_angle(t):
    """The representative of t modulo 2 pi in (-pi, pi]."""
    r = math.fmod(t + math.pi, 2 * math.pi)
    if r <= 0:
        r += 2 * math.pi
    return r - math.pi

def charge_k_field(n, k):
    """Link angles (ax, ay) on an n x n torus with uniform flux 2 pi k / n^2.

    ax[x][y] is the angle on the link (x, y) -> (x + 1, y), ay[x][y] on the
    link (x, y) -> (x, y + 1); indices are taken modulo n.
    """
    b = 2 * math.pi * k / n ** 2
    ax = [[0.0] * n for _ in range(n)]
    ay = [[b * x for _ in range(n)] for x in range(n)]
    for y in range(n):
        ax[n - 1][y] = -b * n * y
    return ax, ay

def plaquettes(ax, ay):
    """Reduced plaquette angles theta[x][y] (counter-clockwise from (x, y))."""
    n = len(ax)
    return [[reduce_angle(ax[x][y] + ay[(x + 1) % n][y]
                          - ax[x][(y + 1) % n] - ay[x][y])
             for y in range(n)] for x in range(n)]

def charge(ax, ay):
    """Q = (1 / 2 pi) * sum of reduced plaquette angles."""
    return sum(map(sum, plaquettes(ax, ay))) / (2 * math.pi)

def naive_charge(ax, ay):
    """(1 / 2 pi) * sum of sin(theta_p): the 'field theory' density."""
    return sum(math.sin(t) for row in plaquettes(ax, ay) for t in row) / (2 * math.pi)

def gauge_transform(ax, ay, lam):
    """a(x -> y) -> a(x -> y) + lam(x) - lam(y), i.e. U -> g(x) U g(y)^-1."""
    n = len(ax)
    bx = [[ax[x][y] + lam[x][y] - lam[(x + 1) % n][y] for y in range(n)]
          for x in range(n)]
    by = [[ay[x][y] + lam[x][y] - lam[x][(y + 1) % n] for y in range(n)]
          for x in range(n)]
    return bx, by

def add_noise(ax, ay, sigma, rng):
    """Add independent Gaussian noise of size sigma to every link angle."""
    return ([[a + rng.gauss(0, sigma) for a in row] for row in ax],
            [[a + rng.gauss(0, sigma) for a in row] for row in ay])

def max_plaquette_change(f1, f2):
    """Largest difference of corresponding plaquette angles (mod 2 pi)."""
    p1, p2 = plaquettes(*f1), plaquettes(*f2)
    return max(abs(reduce_angle(a - b)) for r1, r2 in zip(p1, p2)
               for a, b in zip(r1, r2))

def main():
    rng = random.Random(1974)
    n = 12
    print(f"U(1) lattice gauge fields on a {n} x {n} torus")
    print(f"{'k':>3}{'Q':>9}{'Q after gauge':>15}{'max dtheta':>12}"
          f"{'naive Q':>10}")
    for k in [0, 1, 2, -3, 7]:
        field = charge_k_field(n, k)
        lam = [[rng.uniform(-math.pi, math.pi) for _ in range(n)]
               for _ in range(n)]
        moved = gauge_transform(*field, lam)
        print(f"{k:>3}{charge(*field):>9.4f}{charge(*moved):>15.4f}"
              f"{max_plaquette_change(field, moved):>12.1e}"
              f"{naive_charge(*field):>10.4f}")
    print()
    print("Noise on every link of the k = 2 field (10 samples each):")
    base = charge_k_field(n, 2)
    for sigma in [0.05, 0.3, 1.0, 3.0]:
        qs = [charge(*add_noise(*base, sigma, rng)) for _ in range(10)]
        off = max(abs(q - round(q)) for q in qs)
        print(f"  sigma = {sigma:<5}Q = {[round(q) for q in qs]}")
        print(f"{'':16}largest distance from an integer: {off:.0e}")
    print()
    print("Epistemic status: floating-point computation on finitely many")
    print("configurations. That Q is an integer, and gauge invariant, is a")
    print("theorem (each link occurs in two plaquettes with opposite signs);")
    print("that Q survives small noise is continuity of an integer-valued")
    print("function. The jumps for rough fields are lattice artefacts.")

if __name__ == "__main__":
    main()
Runs entirely in your browser, in an isolated worker. Nothing is sent to a server.

The second experiment illustrates gauge covariance for SU(2)SU(2) — the holonomy matrix changes, its trace does not — and then the Aharonov–Bohm effect on a lattice: a U(1)U(1) field whose curvature vanishes on every square except one. Loops that never touch that square pick up the phase eiwΦe^{iw\Phi}, where ww is the winding number; two different "Dirac strings" (vector potentials) for the same flux give the same answers, because they differ by a gauge transformation.

Wilson loops, gauge invariance and the Aharonov-Bohm phasePythonNumerical approximationExperimental evidenceComputationally tested
"""Wilson loops: gauge invariance, non-abelian holonomy and Aharonov-Bohm.

Part 1. A random SU(2) lattice gauge field on a square grid. Parallel
transport around a closed loop is a product of link matrices. A random gauge
transformation changes that holonomy matrix (by conjugation), but not its
trace, the Wilson loop.

Part 2. A U(1) field on a grid whose curvature (plaquette angle) vanishes on
every square except one, which carries flux Phi: a thin solenoid. Loops that
never touch the solenoid, and see zero field everywhere they go, still pick
up the phase exp(i * w * Phi), where w is their winding number around it.
Two "Dirac strings" (vector potentials) for the same solenoid differ by a
gauge transformation and give identical Wilson loops.

Evidence: numerical (floating-point) computation on concrete configurations
with a fixed seed. Gauge invariance is a theorem (formalised in Lean in the
lesson); these runs illustrate it.
"""

import cmath
import math
import random

def mat_mul(a, b):
    """Product of 2 x 2 complex matrices."""
    return [[a[i][0] * b[0][j] + a[i][1] * b[1][j] for j in range(2)]
            for i in range(2)]

def dagger(a):
    """Conjugate transpose (the inverse, for unitary matrices)."""
    return [[a[j][i].conjugate() for j in range(2)] for i in range(2)]

def trace(a):
    """Trace of a 2 x 2 matrix."""
    return a[0][0] + a[1][1]

def random_su2(rng):
    """A random SU(2) matrix from a random unit quaternion."""
    q = [rng.gauss(0, 1) for _ in range(4)]
    r = math.sqrt(sum(x * x for x in q))
    a, b, c, d = (x / r for x in q)
    return [[complex(a, b), complex(c, d)], [complex(-c, d), complex(a, -b)]]

def rectangle_path(x0, y0, w, h):
    """Counter-clockwise rectangle of width w and height h from (x0, y0)."""
    return ["E"] * w + ["N"] * h + ["W"] * w + ["S"] * h, (x0, y0)

STEP = {"E": (1, 0), "W": (-1, 0), "N": (0, 1), "S": (0, -1)}

def holonomy(links, start, steps, mul, inv, one):
    """Ordered product of link variables along a lattice path.

    links[(x, y, "E")] lives on (x, y) -> (x + 1, y), links[(x, y, "N")] on
    (x, y) -> (x, y + 1); backward steps use the inverse.
    """
    x, y = start
    total = one
    for s in steps:
        dx, dy = STEP[s]
        if s in "EN":
            u = links[(x, y, s)]
        else:
            u = inv(links[(x + dx, y + dy, "E" if s == "W" else "N")])
        total = mul(total, u)
        x, y = x + dx, y + dy
    return total

def gauge(links, g, mul, inv):
    """U(x -> y) -> g(x) U(x -> y) g(y)^-1."""
    out = {}
    for (x, y, d), u in links.items():
        dx, dy = STEP[d]
        out[(x, y, d)] = mul(mul(g[(x, y)], u), inv(g[(x + dx, y + dy)]))
    return out

def grid_links(size, value):
    """All links of the grid {0..size}^2, each set by value(x, y, d)."""
    links = {}
    for x in range(size + 1):
        for y in range(size + 1):
            if x < size:
                links[(x, y, "E")] = value(x, y, "E")
            if y < size:
                links[(x, y, "N")] = value(x, y, "N")
    return links

def solenoid_field(size, center, phi, string="east"):
    """U(1) phases: flat everywhere except flux phi through one plaquette.

    The Dirac string runs from the plaquette to the edge of the grid, east or
    north; links it crosses carry exp(i phi) (or exp(-i phi)).
    """
    cx, cy = center

    def value(x, y, d):
        if string == "east" and d == "N" and y == cy and x > cx:
            return cmath.exp(1j * phi)
        if string == "north" and d == "E" and x == cx and y > cy:
            return cmath.exp(-1j * phi)
        return 1 + 0j
    return grid_links(size, value)

def u1_ops():
    """Multiplication, inverse and identity for unit complex numbers."""
    return (lambda a, b: a * b), (lambda a: a.conjugate()), 1 + 0j

def plaquette_angles(links, size):
    """Angle of the holonomy around every unit square of the grid."""
    mul, inv, one = u1_ops()
    return {(x, y): cmath.phase(holonomy(links, (x, y), "ENWS", mul, inv, one))
            for x in range(size) for y in range(size)}

def main():
    rng = random.Random(1959)
    size = 8
    one2 = [[1 + 0j, 0j], [0j, 1 + 0j]]
    links = grid_links(size, lambda x, y, d: random_su2(rng))
    g = {(x, y): random_su2(rng) for x in range(size + 1)
         for y in range(size + 1)}
    moved = gauge(links, g, mat_mul, dagger)
    print("Part 1: random SU(2) field on an 8 x 8 grid, random gauge change")
    print(f"{'loop':<18}{'|change of matrix|':>20}{'Wilson loop W':>17}"
          f"{'change of W':>14}")
    for w, h in [(1, 1), (3, 2), (6, 6)]:
        steps, start = rectangle_path(1, 2, w, h)
        a = holonomy(links, start, steps, mat_mul, dagger, one2)
        b = holonomy(moved, start, steps, mat_mul, dagger, one2)
        dm = max(abs(a[i][j] - b[i][j]) for i in range(2) for j in range(2))
        wa, wb = trace(a).real, trace(b).real
        print(f"{f'{w} x {h} rectangle':<18}{dm:>20.3f}{wa:>17.6f}"
              f"{abs(wa - wb):>14.1e}")
    print()
    phi = 1.0
    print(f"Part 2: U(1) solenoid of flux {phi} through the square at (3, 3)")
    mul, inv, one = u1_ops()
    east = solenoid_field(size, (3, 3), phi, "east")
    north = solenoid_field(size, (3, 3), phi, "north")
    curv = plaquette_angles(east, size)
    nonzero = [p for p, t in curv.items() if abs(t) > 1e-12]
    print(f"  squares with nonzero curvature: {nonzero}")
    loops = [("around it, 4 x 4", ["E"] * 4 + ["N"] * 4 + ["W"] * 4 + ["S"] * 4,
              (1, 1)),
             ("around it twice", (["E"] * 4 + ["N"] * 4 + ["W"] * 4
                                  + ["S"] * 4) * 2, (1, 1)),
             ("clockwise", ["N"] * 6 + ["E"] * 6 + ["S"] * 6 + ["W"] * 6,
              (1, 1)),
             ("crosses string only", ["E"] * 2 + ["N"] * 2 + ["W"] * 2
              + ["S"] * 2, (5, 2))]
    print(f"  {'loop':<20}{'phase, string east':>20}{'phase, string north':>21}")
    for name, steps, start in loops:
        pe = cmath.phase(holonomy(east, start, steps, mul, inv, one))
        pn = cmath.phase(holonomy(north, start, steps, mul, inv, one))
        print(f"  {name:<20}{pe:>20.6f}{pn:>21.6f}")
    print("  (phases are taken in (-pi, pi]; winding twice gives 2 Phi = 2.)")
    print()
    print("Epistemic status: floating-point computation on specific lattice")
    print("configurations. It illustrates two theorems: Wilson loops are gauge")
    print("invariant, and the holonomy of a flat U(1) connection around a loop")
    print("is exp(i * winding number * enclosed flux).")

if __name__ == "__main__":
    main()
Runs entirely in your browser, in an isolated worker. Nothing is sent to a server.

Both are floating-point computations on specific configurations — numerical illustrations of the theorems proved above and in Lean.

Explore

Explore: the Aharonov–Bohm potential

The vector potential outside a solenoid, a=Φ2π dθa = \frac{\Phi}{2\pi}\, d\theta, drawn as the vector field 1x2+y2(−y,x)\frac{1}{x^2 + y^2}(-y, x) (with Φ=2π\Phi = 2\pi). Drag the loop: away from the origin the curl — the magnetic field — is zero, so loops that do not enclose the origin have zero circulation; loops around the origin have circulation 2π2\pi however you deform them. Green's theorem fails visibly when the loop encloses the singularity.

The vector potential of a thin solenoid

Zero field outside the solenoid, non-zero circulation around it.

Examples

F(x, y) = (−y/(x² + y²), x/(x² + y²))

Drag the gold centre (or click anywhere) to move the loop. With the keyboard, focus the centre and use the arrow keys.

Turns so far: 0.09

Circulation
∮ F·dr ≈ 6.2832 | ∬ curl F dA ≈ −0.0322
Flux out
∮ F·n ds ≈ 0 | ∬ div F dA ≈ 0.1043
At the centre
curl F ≈ 0, div F ≈ 0, πr² ≈ 8.042
Index
1

All values are numerical approximations (sums around the loop and over the disc).

The two sides differ: the field must fail to be smooth (or be undefined) somewhere inside the loop, so Green’s theorem does not apply to this loop.

Index 1 ≠ 0: walking once around the loop, the arrow makes 1 net full turns (negative means clockwise). A field that is continuous on the whole disc would have to vanish inside; this one is not (see above), and the point where it breaks down carries the index instead.

The holonomy of the flat connection is exp⁡(iqΦw/ℏ)\exp(iq\Phi w/\hbar), where ww is the winding number of the loop around the solenoid. Count winding numbers here: a loop that goes twice around picks up twice the phase, and a loop that curls around without enclosing the hole picks up none.

Holonomy counts windings

The Aharonov–Bohm phase is the winding number times qΦ/ℏ.

p₁

Drag a hole to move it. Press Play to send the point around the loop, or use the slider. The small square marks the start.

Winding number around p₁1

(1/2πi)∮ dz/(z − p₁) ≈ 1.000 + 0.000i

Turns swept so far by each dashed arrow:

p₁: 0.00

The winding number is found by adding up the small changes in direction of the arrow from the hole to the moving point, and dividing the total by 360°. Counter-clockwise counts as positive.

Two loops in the plane with one hole can be deformed into each other, without ever crossing the hole, exactly when they have the same winding number. In the language of topology: the fundamental group of the punctured plane — like that of a circle — is the integers, π₁ = ℤ.

A link to complex analysis: think of the plane as the complex numbers and of a hole as a point a. Then (1/2πi)∮ dz/(z − a) equals the winding number around a. The values above are computed numerically along the loop.

Exercises

Exercises

1. Gauge theory and the geometry of physics

Warm-upHuman

Under the U(1)U(1) gauge transformation a↦a+dλa \mapsto a + d\lambda of the electromagnetic potential, which of these quantities are unchanged? (Choose all that apply.)

Choose all that apply

2. Gauge theory and the geometry of physics

CoreHuman

A U(1)U(1)-bundle over S2S^2 is built from trivial bundles over the two hemispheres glued along the equator by the transition function e3iϕe^{3i\phi}, so that the potentials satisfy aN−aS=3 dϕa_N - a_S = 3\,d\phi. What is the first Chern number 12π∫S2F\frac{1}{2\pi}\int_{S^2} F?

3. Gauge theory and the geometry of physics

CoreHuman

Writing the electromagnetic field as a 22-form FF on space-time, which Maxwell equations are equivalent to the Bianchi identity dF=0dF = 0?

Choose one

4. Gauge theory and the geometry of physics

CoreHuman

In the proof of the instanton bound YM(A)≥8π2∣k∣\mathrm{YM}(A) \ge 8\pi^2|k|, we use tr⁡(F∧F)=tr⁡(F+∧F+)+tr⁡(F−∧F−)\operatorname{tr}(F \wedge F) = \operatorname{tr}(F^+ \wedge F^+) + \operatorname{tr}(F^- \wedge F^-). Which fact makes the cross terms vanish?

Choose one

5. Gauge theory and the geometry of physics

CoreHuman

An SU(2)SU(2)-bundle over the round S4S^4 has c2=−2c_2 = -2. What is the smallest possible Yang–Mills energy YM(A)\mathrm{YM}(A) of a connection on it, in units of 8π28\pi^2?

6. Gauge theory and the geometry of physics

CoreHuman

Electrons of charge qq pass on both sides of a thin shielded solenoid of flux Φ\Phi. For which values of Φ\Phi is the interference pattern identical to the pattern with Φ=0\Phi = 0?

Choose one

7. Gauge theory and the geometry of physics

CoreFormal

In the Lean file, gauge g A changes each link variable by U(x → y) ↦ g x * U * (g y)⁻¹. Which statement is the theorem holonomy_gauge for a path p starting at x (with endpoint x p its end)?

Choose one

8. Gauge theory and the geometry of physics

StretchHuman

By Donaldson's theorem, which of these unimodular forms cannot be the intersection form of a smooth closed simply connected oriented 44-manifold? (By Freedman, all of them are intersection forms of topological ones.)

Choose one

9. Gauge theory and the geometry of physics

StretchHuman

Which of these are established theorems? (Choose all that apply.)

Choose all that apply

10. Gauge theory and the geometry of physics

StretchComputational

A U(1)U(1) lattice gauge field on an n×nn \times n torus is given by link angles ax[x][y] (edge (x,y)→(x+1,y)(x,y) \to (x+1,y)) and ay[x][y] (edge (x,y)→(x,y+1)(x,y) \to (x,y+1)), indices mod nn. Write reduce(t) returning the representative of tt modulo 2π2\pi in (−π,π](-\pi, \pi], plaquette(ax, ay, x, y) returning the reduced angle ax(x,y)+ay(x+1,y)−ax(x,y+1)−ay(x,y)a_x(x,y) + a_y(x+1,y) - a_x(x,y+1) - a_y(x,y), and charge(ax, ay) returning 12π∑\frac{1}{2\pi}\sum of all plaquettes. The tests check that the charge is a (near-)integer and gauge invariant.

Runs entirely in your browser, in an isolated worker. Nothing is sent to a server.
Common misconceptionsH

Common misconceptions

Misconception

"A gauge transformation changes the physics." A gauge transformation is a change of the arbitrary local frames used to describe the field; physical quantities — field strengths for U(1)U(1), Wilson loops, energies, the topological charge — are gauge invariant by definition and by Proposition 1. In the quantum theory one goes further and declares gauge-equivalent configurations to be the same state. (A global symmetry, the same element of GG at every point, is different: it can have physical consequences such as conservation laws.)

Misconception

"A flat connection has no observable effects." Its holonomy around non-contractible loops can be non-trivial and measurable, as in the Aharonov–Bohm effect, where electrons travel only through a region of zero field. By Theorem 5, holonomy is exactly the gauge-invariant content of a flat connection.

Misconception

"The vector potential is just a calculational device." Classically the field strength suffices locally, but globally the potential carries more information: the holonomy eiq∮a/ℏe^{iq\oint a/\hbar}, which the field strength does not determine on a non-simply-connected region. Wu and Yang (1975) summarised this as: the field strength under-describes electromagnetism, the potential over-describes it, and the phase factors (holonomies) describe it exactly.

Misconception

"Instantons are particles moving in time." They are solutions of the Euclidean (imaginary-time) field equations, localised in space and time. In quantum field theory they describe tunnelling between topologically distinct vacua; in mathematics they are simply anti-self-dual connections, and their moduli spaces are the objects of study.

Misconception

"Gauge theory proved the existence of quantum Yang–Mills theory." Donaldson theory and Seiberg–Witten theory use the classical Yang–Mills and Seiberg–Witten equations; their success in topology is rigorous mathematics. The quantum theory, with its mass gap, remains a Millennium Problem; physical arguments and lattice simulations are evidence, not proof.

ViewpointsH

Viewpoints

Topology— Characteristic classes and moduli spaces

The topologist sees two things. First, principal bundles are classified by homotopy classes of maps to the classifying space BGBG, and connections compute their characteristic classes by Chern–Weil: the integer k=c2k = c_2 of an SU(2)SU(2)-bundle over S4S^4 corresponds to π3(SU(2))=π3(S3)≅Z\pi_3(SU(2)) = \pi_3(S^3) \cong \Z, the clutching function on the equatorial S3S^3. Second, moduli spaces of solutions of gauge-theoretic equations are new topological spaces attached to a manifold, and their topology — dimension by the index theorem, ends by compactness theorems, orientations — yields invariants: Donaldson polynomials, Seiberg–Witten invariants, Floer homologies. The flat connections themselves form the character variety Hom⁡(π1(M),G)/G\operatorname{Hom}(\pi_1(M), G)/G (see the fundamental group).

Geometry— Holonomy, curvature and stable bundles

For the geometer, curvature is infinitesimal holonomy: transporting around a small parallelogram spanned by εu,εv\varepsilon u, \varepsilon v gives 1−ε2F(u,v)+O(ε3)1 - \varepsilon^2 F(u, v) + O(\varepsilon^3), exactly as for the Levi-Civita connection in Riemannian geometry. On complex manifolds gauge theory meets algebraic geometry: Narasimhan and Seshadri (1965) showed that stable holomorphic bundles on a compact Riemann surface are those admitting flat unitary connections, and Donaldson and Uhlenbeck–Yau extended this to Hermitian–Yang–Mills connections on Kähler manifolds (the Kobayashi–Hitchin correspondence; see Kähler geometry). On a Kähler surface, ASD connections are the same as such Hermitian–Yang–Mills connections, which is how Donaldson computed his invariants for algebraic surfaces.

Analysis— Gauge fixing, compactness and bubbling

The Yang–Mills equations are not elliptic as they stand, because the infinite-dimensional gauge group acts on solutions; after fixing a gauge (for example the Coulomb gauge d∗(A−A0)=0d^*(A - A_0) = 0), the ASD equation plus the gauge condition is an elliptic system whose linearisation is Fredholm, with index computed by the Atiyah–Singer index theorem. Karen Uhlenbeck's theorems (1982) — existence of Coulomb gauges with estimates, removable singularities, and compactness up to bubbling, where energy 8π28\pi^2 concentrates at points — are the analytic foundation of Donaldson theory. The same phenomenon appears for harmonic maps and pseudo-holomorphic curves (see symplectic geometry).

Algebra— Lie algebras, representations and invariant polynomials

Algebraically, the gauge group determines which forces exist (one gauge field for each basis element of g\mathfrak{g}: eight gluons for su(3)\mathfrak{su}(3)) and the representation determines the charges of matter. Chern–Weil theory is the statement that each Ad⁡\operatorname{Ad}-invariant polynomial PP on g\mathfrak{g} gives a closed form P(FA)P(F_A) whose cohomology class does not depend on AA: a ring homomorphism from invariant polynomials to H∗(M;R)H^*(M; \R). Moduli of flat connections on surfaces are algebraic and symplectic at once (Atiyah–Bott, 1983; Goldman), and the ADHM construction turns instantons on S4S^4 into solutions of quadratic matrix equations.

Physics— Where the idea came from

Hermann Weyl (1918) tried to unify gravity and electromagnetism by a local change of scale; after Vladimir Fock and Fritz London noticed that quantum mechanics needs a local change of phase instead, Weyl reformulated the idea as the U(1)U(1) gauge invariance of electromagnetism (1929). Chen-Ning Yang and Robert Mills (1954), and independently Ronald Shaw, generalised it to the non-abelian group SU(2)SU(2), and Ryoyu Utiyama (1956) to arbitrary groups. Physicists worked with potentials and field strengths for two decades before Wu and Yang's 1975 "dictionary" showed that their gauge fields were exactly the mathematicians' connections on fibre bundles — an independent discovery of the same structure. The physics of the strong force, confinement and the mass gap remains a source of hard mathematical problems.

Computation— Lattice gauge theory as an algorithm

Wilson's lattice formulation turns quantum gauge theory into a well-defined finite-dimensional integral over link variables, weighted by e−Se^{-S} with S=β∑p(1−1NRe⁡tr⁡Up)S = \beta\sum_p (1 - \frac1N \operatorname{Re}\operatorname{tr} U_p). Monte Carlo sampling of this integral (Creutz, 1980, onwards) is one of the largest scientific computations ever undertaken: lattice QCD computes the masses of the proton and other hadrons from the theory's few parameters to within a few per cent. Such results are numerical evidence with careful error estimates; the continuum limit itself has not been constructed rigorously, which is the content of the mass gap problem. Gauge invariance is built into the algorithm exactly — it is the theorem formalised in this lesson's Lean code.

Wonder Trails

Wonder Trails

History & global context

History and global context

  • 1865–1931: electromagnetism and phases. James Clerk Maxwell's equations (1865). Hermann Weyl's gauge idea (1918), recast as phase invariance after Vladimir Fock (1926) and Fritz London (1927), in Weyl's 1929 paper. Paul Dirac's monopole and charge quantisation (1931).
  • 1949–1959: potentials matter. Werner Ehrenberg and Raymond Siday (1949), then Yakir Aharonov and David Bohm (1959), predicted the effect of enclosed flux on electron interference; Akira Tonomura's group at Hitachi confirmed it beyond doubt (1986).
  • 1954–1975: non-abelian gauge theory. Chen-Ning Yang and Robert Mills (1954), Ronald Shaw (1955), Ryoyu Utiyama (1956). The Higgs mechanism (Englert–Brout, Higgs, Guralnik–Hagen–Kibble, 1964). Gerard 't Hooft and Martinus Veltman's renormalisation (1971–72). David Gross, Frank Wilczek and David Politzer's asymptotic freedom (1973). Kenneth Wilson's lattice gauge theory (1974). Tai Tsun Wu and Yang's dictionary between gauge fields and fibre bundles (1975). Alexander Belavin, Alexander Polyakov, Albert Schwarz and Yuri Tyupkin found instantons (1975).
  • 1978–1983: mathematics takes over. Michael Atiyah, Nigel Hitchin and Isadore Singer studied self-duality on 4-manifolds (1978); Atiyah, Vladimir Drinfeld, Hitchin and Yuri Manin constructed all instantons on S4S^4 (1978). Karen Uhlenbeck's compactness theorems (1982) and Clifford Taubes' existence theorems (1982) laid the analytic foundations. Atiyah and Raoul Bott studied Yang–Mills over Riemann surfaces (1983), building on M. S. Narasimhan and C. S. Seshadri (1965). Simon Donaldson's theorem (1983), with Michael Freedman's classification (1982), revealed exotic R4\R^4; both received Fields Medals in 1986.
  • 1988–today. Andreas Floer's instanton homology (1988); Edward Witten's topological quantum field theories and Chern–Simons theory (1988–89; Fields Medal 1990); Nathan Seiberg and Witten's equations (1994); Mikio Furuta's 10/8 theorem (2001); Peter Kronheimer and Tomasz Mrowka's work on knots and 3-manifolds. Uhlenbeck received the Abel Prize in 2019, in part for her work in gauge theory.
Further reading

Further reading

  • John Baez and Javier P. Muniain, Gauge Fields, Knots and Gravity (1994) — a friendly route from Maxwell's equations in forms to Chern–Simons theory.
  • Mikio Nakahara, Geometry, Topology and Physics (1990; 2nd ed. 2003) — bundles, connections, characteristic classes and instantons for physicists.
  • Gregory L. Naber, Topology, Geometry and Gauge Fields: Foundations (1997) — the BPST instanton and the Hopf bundle in full detail.
  • Daniel S. Freed and Karen K. Uhlenbeck, Instantons and Four-Manifolds (1984; 2nd ed. 1991) — the analysis behind Donaldson's theorem.
  • S. K. Donaldson and P. B. Kronheimer, The Geometry of Four-Manifolds (1990) — the definitive account of Donaldson theory.
  • John W. Morgan, The Seiberg–Witten Equations and Applications to the Topology of Smooth Four-Manifolds (1996).
  • Arthur Jaffe and Edward Witten, "Quantum Yang–Mills theory", in The Millennium Prize Problems (Clay Mathematics Institute, 2006) — the official statement of the mass gap problem.
  • Michael Creutz, Quarks, Gluons and Lattices (1983) — lattice gauge theory and its computation.

A reading path: Baez–Muniain Part I → Nakahara Ch. 9–10 or Naber → Freed–Uhlenbeck → Donaldson–Kronheimer; and for the physics, Jaffe–Witten's problem statement.