g(r) must be ≤ 0 beyond the cutoff
—
—
The Number Seam · a certificate you can operate
In 2003 Henry Cohn and Noam Elkies showed that a single well-chosen function puts a ceiling on how densely you can pack spheres. In eight dimensions their best numerical ceiling sat, in Viazovska's words, “only 1.000001 times greater than the lower bound.” Thirteen years later Maryna Viazovska wrote the function down. It left no room at all.
The Cohn–Elkies theorem is a machine with a very narrow slot. Feed it a function f on R^d that is (i) admissible, (ii) non-positive outside radius 1, and (iii) whose Fourier transform is non-negative everywhere. Out comes a proven upper bound on the density of every sphere packing in that dimension: f(0)/f̂(0) times the volume of a ball of radius ½. Any function fitting the slot is a certificate. The whole game is finding a good one.
Below is the certificate. Pick a witness, drag the radius, and watch the two conditions hold or fail. Nothing here is a picture of a result: the modular q-series are rebuilt in your browser from E₂, E₄, E₆ and the Jacobi theta functions, the kernels are assembled from those Fourier coefficients, and g and ĝ are their Laplace transforms.
Snap to an E8 shell and both traces land on zero. Between shells they must not.
g(r), real space ĝ(r), the Fourier side E8 shell radii, √(2k) vertical: signed log, one decade per step
g(r) must be ≤ 0 beyond the cutoff
—
—
ĝ(r) must be ≥ 0 everywhere
—
—
The lower bar is not the same computation as the upper bar. The upper bar is 2⁴ · g(0)/ĝ(0) · vol B₈(0, ½), read off the witness. The lower bar is vol B₈ · (√min²/2)⁸ / √det, read off the lattice. For the magic function they meet at 0.2536695079, which is π⁴/384, the number Viazovska's paper states as 0.25367.
Ten matching digits is not ten digits of evidence, and saying so would be the cheap version of this page. Both bars carry the same factor vol B₈ · 2⁻⁴ = π⁴/384, so every digit they share is a digit of that one constant. Strip it out and two dimensionless numbers are left, one from each route, and those are what has to agree: g(0)/ĝ(0), which the modular construction makes 1.000000000 over 1.000000000; and (min²/2)⁴/√det, which the lattice makes 1. Two ones, reached from unrelated data. That is the whole content of the agreement, and it is real: nothing about π⁴/384 forces a Laplace transform of a modular form to normalise at 1, and nothing about modular forms forces a lattice determinant to be 1.
The lattice side is itself two presentations, and the page runs both. The coordinate presentation Λ₈ = {x ∈ Z⁸ ∪ (Z+½)⁸ : Σxᵢ even} is enumerated out to squared norm 8; that is where the minimum non-zero squared norm 2 comes from, and where the shell counts 240, 2160, 6720 and 17520 come from. The Gram presentation is the E8 Cartan matrix, and Bareiss elimination over the integers gives its determinant 1. Those are two different objects until something ties them together, so the page ties them: the enumerated shell counts are checked against 240σ₃(k), the coefficients of the theta series of the lattice the Gram matrix defines. That row is in the check panel below.
Switch the witness to Gaussian × polynomial and you get a real Cohn–Elkies certificate: h(r) = (1 − a·r²)e^(−πr²), whose eight-dimensional Fourier transform is exactly ĥ(s) = (1 − 4a/π + a·s²)e^(−πs²). Both conditions hold for a < π/4, so it proves a theorem. The best it can do, at a = π/5, is 0.5086263021: a factor 2.005074659 above the truth. Push a to ½ so its cutoff sits exactly at √2, the E8 minimum distance, and it still only reaches 0.6980828582. Having the right cutoff is not the hard part.
What the magic function has, and no Gaussian-times-polynomial has, is a zero at every E8 shell radius on both sides at once. That is not decoration. It is forced, and the forcing is a two-line argument. Open proof mode.
E8 is unimodular and self-dual, so Poisson summation over it reads Σ f(ℓ) = Σ f̂(ℓ) with no extra constant. Now suppose a witness f has cutoff at most √2. Every non-zero E8 vector has length at least √2, so every non-origin term on the left is ≤ 0, and every term on the right is ≥ 0. Therefore
and the ratio f(0)/f̂(0) that the bound depends on can only reach its floor of 1 if every single non-origin term vanishes on both sides. That is where the zeros come from. The ledger below is the real E8 shell sum, run live.
The ledger is shown for the Gaussian witness, where the terms are not identically zero and the arithmetic is worth watching. The slider opens at a = ½, where the cutoff is exactly √2. Drag down and the cutoff moves outside √2, the two-line argument stops applying, and the real-space sum climbs past 1. Drag up past π/4 ≈ 0.7854 and the Fourier condition fails outright: switch the witness above to Gaussian × polynomial and watch that lamp go red.
| shell | r | vectors | h(r) | ĥ(r) | Σ h contribution | Σ ĥ contribution |
|---|
Σ over E8, real space
—
—
Σ over E8, Fourier side
—
—
Mass parked on non-zero shells, Fourier side
—
the magic function parks exactly 0 here
The two sums agree to the last bit that a double can hold, which is Poisson summation working. For the Gaussian at a = ½ the two sides are both 0.9923791717, while ĥ(0) = 1 − 2/π = 0.3633802276. The gap between them, 0.6289989441, is Fourier mass sitting on non-zero shells where the magic function puts nothing.
That number is nearly the whole story and it is worth being exact about how nearly. The factor this witness misses by is h(0)/ĥ(0) = 2.751938394, and the deficit driving it is h(0) − ĥ(0) = 2/π = 0.6366197724. The ledger splits that deficit in two: 0.6289989441 of it is the Fourier mass above, and the remaining 0.0076208283 is on the real-space side, where Σ h falls short of h(0) = 1 rather than reaching it. So the parked Fourier mass is 0.9880292309 of the deficit: about 99 per cent of the miss, not all of it. Zeroing it alone would leave the bound at 1.0076793513 times the truth, not 1.
There is a nice sanity check hiding in the ledger. Poisson summation for E8 against (1 − a r²)e^(−πr²) is equivalent to the classical identity DE₄(i) = E₄(i)/π, which follows from Ramanujan's DE₄ = (E₂E₄ − E₆)/3 together with E₂(i) = 3/π and E₆(i) = 0. The page evaluates both sides from the shell counts: 1.455762892269 and 0.4633837205486, and 1.455762892269/π = 0.4633837205486.
For r > √2 Viazovska's function is a Laplace transform with a modular kernel:
The sin² factor is where the shell zeros live, and reading them off it proves nothing: it is written into the formula. The content is the sign of the integral, and that is a genuine theorem. A(t) < 0 for all t > 0 gives g ≤ 0 past the cutoff; B(t) > 0 for all t > 0 gives ĝ ≥ 0 everywhere. Neither is visible from a plot, because a plot samples and a sign claim quantifies.
Both representations of the kernel are evaluated at this t and compared. They are built from different modular data.
A(t), signed log B(t), signed log t = 1, where the two expansions meet
A(t) from φ₀(i/t), ψₛ(i/t)
—
the small-t representation
A(t) from φ₀(it), φ₋₂(it), φ₋₄(it), ψᵢ(it)
—
—
Those two columns are the strongest thing on this page. They are the same number reached through different modular forms evaluated at different points: the left column uses φ₀ and ψₛ at i/t, the right uses φ₀, φ₋₂, φ₋₄ and ψᵢ at it. They agree only because φ₀(−1/z) = φ₀(z) − (12i/π)z⁻¹φ₋₂(z) − (36/π²)z⁻²φ₋₄(z) and ψᵢ|₋₂S = ψₛ are true. Break one coefficient anywhere in the chain and the columns separate immediately.
The page certifies the sign of A and B over the whole half-line, not on a sample grid, by compactifying both ends:
Two honest caveats, stated where they belong. First, the truncation: the page keeps the Fourier expansions out to e^(±40πt) and bounds the remainder with the paper's own coefficient estimate |c(n)| ≤ 2e^(4π√n); over the whole of t ≥ 1 that remainder never exceeds 1.0923e-30, which is why the enclosures above are so wide open. Viazovska's published certificate keeps only six terms and has to work much harder. Second, the arithmetic: this is double precision with outward padding, not a formally verified interval library. It is a strong reproduction, not a replacement for the paper's proof.
Two Fourier coefficients decide the entire zero structure, and the page reads them off the series it just built.
| quantity | from | value | consequence |
|---|
Expand A near t = ∞: it contains exactly one growing term, −(72/π²)e^(2πt), whose Laplace transform has a simple pole at r² = 2. The sin² prefactor has a double zero there. Double zero times simple pole is a simple zero, with slope
That is a closed form, so it is a prediction and not a measurement. The check panel below measures it: it differentiates the g this page actually built, by a Richardson-extrapolated central difference at step h = 10⁻⁴, and prints what came back. Nothing in that measurement knows about −√2/60.
Now B. Its e^(2πt) coefficient is −(36/π²)(cᶫ₋₄(−1) − cᶫᵢ(−1)) = −(36/π²)(1 − 1) = 0. No pole, so nothing cancels the double zero: ĝ has a double zero at √2 as well as at every larger shell, and ĝ′(√2) = 0. That asymmetry is not cosmetic: it is exactly what the sign conditions demand. A function that must stay ≥ 0 can only touch zero to even order, while g has to cross from positive to negative at the cutoff, so its zero there must be odd. The one Fourier coefficient difference between ψᵢ and φ₋₄ at q⁻¹ arranges both at once.
The same numerical difference that measures g′(√2) measures this one, and the contrast is the point: run it on g and it returns −0.0236; run it on ĝ and it returns a number below 10⁻¹². Ten orders of magnitude apart at the very least, from the same difference quotient at the same radius. That is what “one is a simple zero and the other is a double zero” looks like when you actually go and measure it.
The same trick fixes the normalisation. Both kernels share the term (12/π)·cᶫ₋₂(0)·t = (8640/π)t, whose Laplace transform is 8640/(π³r⁴). Against the r⁴ vanishing of sin² that leaves the pure number (π/2160)(8640/(4π)) = 1, so
which is the whole reason the ratio in the Cohn–Elkies bound is exactly 1 rather than nearly 1. There is no numerical optimisation anywhere in this. It is 720, the constant Fourier coefficient of φ₋₂.
Everything above assumed B is the kernel of ĝ. That is a theorem in the paper, not something the page should take on faith. So here is the eight-dimensional radial Fourier transform of g, done the stupid way (2πs⁻³∫ g(r) J₃(2πrs) r⁴ dr, with J₃ itself computed from its integral representation), compared against ĝ(s) built from B. No part of the left-hand side knows that B exists.
not yet run
numerical Hankel transform of g at s = 0.75
—
ĝ(0.75) from the kernel B
—
—
Expected value, both ways: 0.2640607623. One sample is one sample. This panel is a sampled cross-check of the identity F(g) = ĝ at s = 0.75, not a demonstration of it: agreement at a point is consistent with the identity and cannot establish it. The offline verifier runs the same comparison at s = 0.4, 0.75, 1.2, which is three points rather than one and no better in kind. The identity itself is a theorem in Viazovska's paper, proved by contour deformation, and this page does not reproduce that proof.
Each row below is a number that appears in the prose above. The middle column is what the HTML ships; the right column is what your browser just computed from the definitions. They are produced by different code paths and compared on load. Three kinds of row, and the difference matters: = rows must agree to every digit the HTML prints; ≤ and ≥ rows are stated inequalities, and the live value must sit on the correct side of the printed bound and within one unit of its last printed place, so a bound rounded the wrong way fails even when the digits look right; ≈ rows are quantities the maths says are exactly zero, where what is measured is a difference quotient and the test is that it falls under a stated threshold, here 10⁻¹².
recomputing…
| quantity | shipped in the HTML | recomputed live |
|---|
The numbers a browser cannot derive. Two numbers on this page are not computable from anything: they are transcriptions from the printed record. Putting them in the table above and calling them “recomputed live” would be exactly the vice this panel exists to prevent, so they sit here instead, with what they were copied from. If either is wrong, no amount of arithmetic on this page will catch it. Only reading the source will.
| value | what it is | transcribed from |
|---|
The published anchors, rebuilt from E₂, E₄, E₆ and the theta functions and compared against the expansions printed in Viazovska's paper:
| series | rebuilt here | printed in the paper (last row: 240σ₃(k)) |
|---|
What is a check here and what is not. Reading g(√(2k)) = 0 off the trace is not a check: the sin²(πr²/2) factor is written into the formula and vanishes there by construction. Comparing g(0) to ĝ(0) is also not a check on its own, since both are fixed by the same normalisation. Nor is the ten-digit agreement of the two density bars, whose shared digits are all digits of π⁴/384. Two of the lamps are green for reasons that have nothing to do with evidence, and they say so on their own faces: the Fourier-side lamp in the Poisson ledger cannot fail for this witness family at any a > 0, because every shell term of ĥ is positive whatever a does; and the real-space lamp on the trace cannot fail for the Gaussian family either, because (1 − ar²) is non-positive past 1/√a by construction. The one lamp on this page that a control can actually turn red is the Fourier lamp on the trace, and the control that does it is the a slider past π/4. The things that are checks: the two independent modular representations of the kernel agreeing to the last digit; the brute-force eight-dimensional Fourier transform of g landing on ĝ at the sampled point; the interval sign certificate over the whole half-line; the E8 shell counts from coordinate enumeration matching 240σ₃(k), which is what ties the enumeration to the Gram matrix the determinant came from; the two dimensionless factors g(0)/ĝ(0) and (min²/2)⁴/√det both landing on 1 from unrelated data; the measured derivatives separating a simple zero from a double one by more than ten orders of magnitude; and the rebuilt q-series matching the coefficients printed in the paper.
Free choices, named. The truncation order (40 terms, against the paper's 6) and the bisection depth are ours, not the paper's. The quadrature on [0,1] is composite Simpson with 800 panels; the tail [1,∞) is integrated in closed form. The comparison witness (1 − ar²)e^(−πr²) is a choice too: it is the simplest family that is genuinely admissible, not the best simple family known, and its slider range [0.400, 0.900] is picked to straddle both of the interesting boundaries (a = ½, where the cutoff passes √2, and a = π/4, where the Fourier condition dies) rather than to flatter it. The certificate boundary at t = 4 is arbitrary; anything past t ≈ 1.6 works. The derivatives in the table are central differences at h = 10⁻⁴ with one Richardson step, and “numerically zero” means under 10⁻¹²: both are our choices, and both are stated so you can disagree with them. The window t ∈ [0.60, 1.70] in which the kernel panel calls the two representations comparable is ours too, chosen as the range where both truncations are still worth twelve digits.
Uncertainties, named. The interval arithmetic here is double precision with outward padding, not a verified interval library, so it reproduces the paper's certificate rather than replacing it. The displayed values of g and ĝ come from an 800-panel Simpson quadrature; refining it to 3200 panels moves them by at most 2.2523e-11 relative on the 41-point grid r = 0, 0.1, …, 4 that this page sweeps on load, which is why nine significant digits are shown and not more. (The offline verifier repeats the sweep on a 401-point grid and asserts the worst stays under 1e-9; the page uses the coarser grid because 401 refined evaluations cost more than the whole rest of the boot.) Any residual gap between the two density bars is floating point, not mathematics: the bound is an equality, proved.
The shell zeros do not all read the same, and the difference is the interesting part. Every double zero on this page (that is, ĝ at every shell, and g at r = 2, √6, √8 and beyond) comes back under 1e-32 in absolute value. The one simple zero, g at √2, comes back fourteen orders of magnitude larger, and it is supposed to. Press the √2 button and the g readout is a small negative number, not a printed zero. Here is exactly why, and it is arithmetic you can finish by hand. The nearest double to √2, squared, is not 2: Math.SQRT2 * Math.SQRT2 = 2 + 2ε with ε = 2⁻⁵². Near the cutoff g is dominated by (π/2160)·(−72/π²)·π(r²−2)/4, so feeding it r² − 2 = 2ε returns −(1/30)·(ε/2) = −ε/60 = −3.70074342e-18. What the g readout actually shows at that button is −3.70074342e-18: the same number, every digit. A double zero has no first-order term to amplify the last bit of r²; a simple zero with slope −√2/60 does. The check panel measures both, so this paragraph is not asking to be believed.
Run it yourself: node research/viazovska-magic/verify-viazovska-magic.mjs. That script reads this HTML file, extracts every shipped number above, and re-derives each one from the definitions without importing a single constant from the page.
The theorem. “No packing of unit balls in Euclidean space R⁸ has density greater than that of the E8-lattice packing,” and therefore Δ₈ = π⁴/384. The paper adds that combining its proof with Section 8 of Cohn–Elkies implies E8 is the unique periodic packing of maximal density. Uniqueness among all packings is a different and stronger statement, and is not what is proved there.
The scaling. The E8 lattice as usually written has minimum distance √2, so the packing of unit balls is centred at (1/√2)Λ₈. Viazovska's g is scaled so that its cutoff sits at √2; the function fed to the Cohn–Elkies theorem is f(x) = g(√2 x), whose cutoff is 1. The factor 2⁴ in the upper bar is that rescaling.
Dimension 24 is a different paper. The Leech lattice result is Cohn, Kumar, Miller, Radchenko and Viazovska, five authors, a separate article in the same volume of the Annals, pages 1017–1033. Its first preprint went up 7 days after the dimension-eight preprint.
The record, precisely. arXiv:1603.04246, v1 dated 14 March 2016, v2 dated 4 April 2017, listed at 22 pages and 2 figures. The journal version spans pages 991 to 1015, which is 25 pages inclusive. The Cohn–Elkies paper is arXiv:math/0110009, v1 dated 1 October 2001, published in the Annals in 2003 at pages 689–714. The interval between the method being public and the function being written down is therefore commonly rounded to “thirteen years”; it is not a sharp figure and nothing here depends on it.
The 1.000001. That factor is Viazovska's own description of the numerical Cohn–Elkies bound, and her sentence continues: “This bound can be improved even further by more extensive computer computations.” It was the output of numerical optimisation over admissible functions, not the performance of any single closed-form test function, and in particular it is not what the Gaussian witness on this page achieves.
What this page reproduces and what it does not. It reproduces the modular construction, the kernel identities, the sign certificate at higher truncation order than the paper uses, the normalisation, the zero orders, and the density. It does not reproduce the Schwartz-class decay estimates, the Fourier-eigenfunction proofs for a and b separately, or the uniqueness argument. For those, read the paper.