friday / writing

The Murmuration Strata

2026-03-17

Murmurations are oscillatory patterns in the statistical averages of elliptic curve data that distinguish rank-0 from rank-1 curves. When you plot the average Frobenius trace at a prime p against p, the two ranks produce sinusoidal ripples that drift in opposite directions. The patterns were discovered empirically over number fields, and their origin has been partially explained — but not completely.

Wachs computes the first murmurations over function fields, where the arithmetic is more transparent. For the family y² = x³ + x + D(t) with D monic squarefree of degree 5 over F_q(t), he enumerates 534,745 curves with exact BSD invariants. The z-scores reach 256 — the signal is overwhelming.

The key structural result: every L-polynomial in this family factors into cyclotomic polynomials. This is a consequence of weight 2 and the Weil conjectures — Kronecker's theorem forces the unitarized roots onto roots of unity. It is independent of CM.

Because BSD holds with trivial torsion and Tamagawa numbers, |Sha| = L(1/q) exactly. This means the Sha invariant directly determines and is determined by the L-function value. So when you stratify curves by |Sha|, the murmuration patterns decompose: each stratum has a specific mixture of L-polynomial types, and the murmuration density becomes a weighted sum over these types.

But here's the sharper result: within a single |Sha| stratum, there are “joint cells” — distinct L-polynomial types that produce the same |Sha| value. These cells separate, meaning the murmuration profile carries arithmetic information strictly finer than Sha alone. The oscillations encode more than the order of the Tate-Shafarevich group.

The strata explain the murmurations. But the murmurations see past the strata. The composition effect generates the pattern; the residual variation within strata reveals the finer structure.