Dispatch · 4 October 2026 · K.W. Norton

Verification Ledger

An outside review (Grok, October 2026) observed that the site asserts a correspondence between Riemann zeros and nuclear levels without the formula, data, or benchmark needed to test it. That critique is fair. This page answers it directly: what is demonstrated, with code anyone can run, and what is not yet verified, with the steps that would verify or refute it.

1. Result: GUE pair correlation, first 400 zeros

Zeros at heights 14.13 to 679.74, unfolded to unit mean spacing. Empirical density of pair differences compared with Montgomery's GUE prediction 1 − (sin πx / πx)². Small sample; fluctuations of ±0.1 per bin are expected.

Separation xEmpirical R₂GUE prediction
0.1250.0200.050
0.3750.2700.385
0.6250.8400.779
0.8751.0900.981
1.1250.8200.988
1.3751.0300.954
1.6250.9000.967
1.8751.0200.996
2.1250.9800.997
2.3750.9000.985
2.6251.1200.987
2.8750.9900.998
  • Level repulsion: 0.5% of spacings fall below 0.25, against 22.1% for uncorrelated (Poisson) levels.
  • Spacing variance 0.138 (GUE ≈ 0.18 asymptotically; Poisson = 1). Low-height zeros are known to be stiffer than the asymptotic limit.

2. Code

Requires Python 3, numpy, and mpmath. Runtime about 90 seconds. Longer walkthrough in the Python spectral tutorial.

import mpmath, numpy as np

# 1. First 400 nontrivial zeros of zeta (imaginary parts)
z = np.array([float(mpmath.zetazero(n).imag) for n in range(1, 401)])

# 2. Unfold to unit mean spacing: N(t) ~ (t/2pi) log(t/(2 pi e))
u = z/(2*np.pi) * np.log(z/(2*np.pi*np.e))
s = np.diff(u); s /= s.mean()

# 3. Pair correlation: histogram of all differences u_j - u_i < 3
d = np.array([u[j]-u[i] for i in range(len(u))
              for j in range(i+1, min(i+40, len(u)))])
h, e = np.histogram(d, bins=np.arange(0, 3.01, 0.25))
dens = h / (len(u) * 0.25)
c = (e[:-1] + e[1:]) / 2
montgomery = 1 - (np.sin(np.pi*c)/(np.pi*c))**2   # GUE prediction

for x, emp, th in zip(c, dens, montgomery):
    print(f"{x:.3f}  empirical {emp:.3f}  GUE {th:.3f}")

# 4. Level repulsion: fraction of spacings below 0.25
print("P(s<0.25):", np.mean(s < 0.25), " Poisson would give", 1-np.exp(-0.25))
print("spacing variance:", s.var())

3. Ledger

[DEMONSTRATED]

Riemann zeros show GUE pair correlation

Montgomery (1973) conjecture; Odlyzko's large-scale numerics (1987 onward). Reproduced at small scale above. This is established mathematics, not our claim.

[DEMONSTRATED]

Heavy-nucleus resonances show GOE-class repulsion

Porter–Rosenzweig; Bohigas–Haq–Pandey (1983) Nuclear Data Ensemble. Note: GOE (time-reversal symmetric), not GUE — a distinction the site must carry everywhere.

[UNVERIFIED]

A direct zero-to-level mapping with predictive power

Shared universality class is not a mapping. Needed: an explicit formula, its free parameters, and out-of-sample predictions for a named nucleus.

[UNVERIFIED]

Benchmark against a conventional nuclear code

Needed: head-to-head comparison with a shell-model or R-matrix evaluation (e.g. ENDF resonance data) on the same observable, with error bars.

[UNVERIFIED]

Any energy-yield application

No claim of energy extraction or abundance is supported until the two items above are met. Stated here plainly.

4. Timeline to verification

  1. 2026-10-04

    Ledger published; GUE pair-correlation reproduction and code posted (this page).

  2. Next

    Scale reproduction to 10⁵ zeros using Odlyzko's published tables; add nearest-neighbor spacing histogram vs Wigner surmise.

  3. Next

    Pull ENDF/B resonance energies for one heavy nucleus; unfold and compare statistics with the zeros under a stated GOE/GUE test.

  4. Then

    Write the proposed mapping as an explicit formula with parameter count; freeze it before testing.

  5. Then

    Out-of-sample prediction vs a conventional nuclear evaluation, with all data and code public.

Each step will be dated here when completed — including any result that refutes the proposal.