I'd been working on Navier-Stokes regularity for a while—three papers, a per-shell energy decomposition, a convergence proof. The work was done, or so I thought. Then I started wondering: what does the same convergence criterion look like from the other side? Not fluid mechanics. Number theory. What started as a different lens on an existing result turned into something I hadn't expected—a unified framework that ties six independent results from 130 years of analytic number theory into a single computation, and connects them back to PDE regularity through the same spectral principle.
The paper is up on Zenodo: doi:10.5281/zenodo.19342350. All code and data are on GitHub. Here's the story of how it came together.
The Starting Point: Odlyzko-te Riele, 1985
In 1985, Andrew Odlyzko and Herman te Riele disproved the Mertens conjecture. The conjecture said that the Mertens function M(x)—the running sum of the Möbius function—stays within ±√x forever. They showed it doesn't.
Their method was elegant. Every arithmetic function connected to the Riemann zeta function has an explicit formula—a decomposition into oscillating waves, one per non-trivial zeta zero. Each wave has an amplitude determined by how the function couples to that zero. If you add up the absolute amplitudes and the sum exceeds your conjectured bound, the bound must eventually break. The equidistribution theorem guarantees that the waves will align constructively at some point.
Odlyzko and te Riele computed 2,000 zeta zeros, added up the amplitudes for the Mertens function, got a sum greater than 1.0, and the conjecture was dead. Specific proof, specific function, specific technique.
That was 40 years ago. What struck me was: why only Mertens? The explicit formula exists for every major arithmetic function. The amplitude method should work on all of them. Nobody had applied it uniformly.
The Experiment: Two Million Zeros, Six Functions
I loaded 2,001,052 of Odlyzko's precomputed zeta zeros—the imaginary parts of the non-trivial zeros of ζ(s), from γ1 = 14.13 up to γ2,001,052 = 1,132,490.7. Then I applied the same amplitude method to six arithmetic functions simultaneously:
- Mertens function M(x) = Σ μ(n) — the original Odlyzko-te Riele target
- Liouville summatory function L(x) = Σ λ(n) — related to the Pólya conjecture
- Chebyshev ψ(x) - x — the prime-weighted counting error
- Prime counting error π(x) - li(x) — the Skewes problem
- Divisor summatory error Δ(x) — Dirichlet's divisor problem
- Squarefree counting error Q(x) — the squarefree number problem
For each function, the same computation: identify the weighting wf(ρ) from the explicit formula, compute the spectral amplitude sum Sf(K) = Σ|wf(ρn)| at twelve logarithmically-spaced values of K from 10 to 2,000,000, and fit the growth rate.
The whole thing ran in under 10 seconds on a laptop.
What Fell Out: Three Growth Regimes
Here's what I didn't expect. When you plot the amplitude sums for all six functions on the same axes, they separate into exactly three growth regimes:
| Growth Regime | Rate | Functions | Why |
|---|---|---|---|
| Fast | log2γ | Liouville | Extra ζ(2ρ)/ζ(ρ) factor weakens decay |
| Moderate | log3/2γ | Mertens, Chebyshev, Divisor, Squarefree | Standard 1/(γ√(log γ)) weighting |
| Slow | √(log γ) | Prime counting error | Additional log γ suppression from li(xρ) |
All six diverge. Every single amplitude sum grows without bound. But they grow at different rates determined entirely by how the function's weighting decays with the zero height γ. The classification falls out of the mathematics—the weighting decay exponents determine which regime a function belongs to.
This classification was not previously visible because each function had always been analysed individually, by different authors, using different methods, over 130 years:
| Function | Result | Method | Year |
|---|---|---|---|
| Mertens | |M(x)|/√x > 1 | 2,000 zeros + equidistribution | Odlyzko-te Riele, 1985 |
| Pólya / Liouville | L(x) > 0 | Direct computation to 109 | Tanaka, 1980 |
| Chebyshev ψ | Changes sign | Complex analysis | Littlewood, 1914 |
| Prime counting / Skewes | Changes sign | Conditional on RH | Littlewood, 1914 |
| Divisor error | Ω-theorem | Mean-value estimates | Ingham, 1932 |
| Squarefree error | Ω-theorem | Zeta function methods | Various |
Six different methods, six different authors, six different decades. One amplitude sum computation from a single dataset reproduces all of them and reveals the classification structure connecting them.
The Amplitude Table
The core result is a table. Spectral amplitude sum Sf(K) measured at seven values of K for all six functions:
| K | γmax | Mertens | Liouville | Skewes | Chebyshev | Divisor | Squarefree |
|---|---|---|---|---|---|---|---|
| 10 | 49.8 | 0.135 | 3.7 | 0.043 | 0.269 | 0.075 | 0.095 |
| 100 | 236 | 0.404 | 42 | 0.098 | 0.808 | 0.198 | 0.263 |
| 1,000 | 1,419 | 0.971 | 430 | 0.187 | 1.942 | 0.422 | 0.588 |
| 10,000 | 9,878 | 1.734 | 3,852 | 0.280 | 3.468 | 0.688 | 0.993 |
| 100,000 | 74,921 | 2.672 | 34,648 | 0.372 | 5.345 | 0.982 | 1.461 |
| 1,000,000 | 600,270 | 3.767 | 316,232 | 0.461 | 7.535 | 1.295 | 1.977 |
| 2,000,000 | 1,131,945 | 4.13 | 616,900 | 0.49 | 8.25 | 1.39 | 2.14 |
Green values indicate the amplitude sum has exceeded a natural conjecture threshold. All columns grow monotonically and without bound.
Look at how the Liouville column runs away from everything else. At 2 million zeros its amplitude sum is 616,900—the Pólya conjecture never had a chance. Meanwhile Skewes sits at 0.49, growing so slowly it won't cross the threshold of 1.0 until around 1014 zeros. Same method, same data, vastly different rates. The function's identity—how it couples to the zeros—determines everything.
Validation: Recovering Zeta Zeros from Arithmetic
One thing kept nagging me: how do I know this wave decomposition is real and not just curve fitting? So I ran an independent check. Take M(x)/√x, sample it at 4,096 log-spaced points up to 109, and run a discrete Fourier transform. Don't use the explicit formula. Don't compute ζ(s). Just look at the frequencies present in the raw arithmetic data.
13 of the first 15 zeta zeros fell out. From pure arithmetic. No number theory required.
| Recovered γ | Known γ | Error |
|---|---|---|
| 14.130 | 14.135 | 0.005 |
| 21.010 | 21.022 | 0.012 |
| 25.015 | 25.011 | 0.004 |
| 30.445 | 30.425 | 0.020 |
| 32.940 | 32.935 | 0.005 |
| ... 8 more, all within 0.04 ... | ||
The explicit formula says these frequencies should be there. The DFT confirms they are. Two completely independent methods agree. The wave decomposition is genuine—these functions really are superpositions of oscillations at zeta-zero frequencies.
Validation: Predicting Chebyshev Bias Reversals
The second validation was predictive. Chebyshev observed that there tend to be more primes of the form 4k+3 than 4k+1. This bias reverses at specific values of x. Can the amplitude method predict where?
I trained on data up to 200 million and predicted the reversal locations:
| Bias Pair | Predicted | Actual | Error |
|---|---|---|---|
| π(19,3) > π(19,1) | 108.42 | 108.52 | 1.2% |
| π(8,5) > π(8,1) | 109.17 | 108.77 | 4.4% |
1.2% and 4.4% accuracy on predictions outside the training range. The amplitude method doesn't just classify growth rates—it predicts where specific events occur.
The NS Connection: Same Criterion, Opposite Outcome
This is where it came full circle for me. I'd been working on Navier-Stokes regularity—proving that solutions to the 3D incompressible equations stay smooth. The proof uses a per-shell energy decomposition: at each wavenumber shell k, the cascade transfer Tk competes with viscous diffusion Dk = 2νk2Ek. The ratio ηk = |Tk|/Dk is the per-shell spectral amplitude.
If Σ|ηk| converges, diffusion wins at every shell, and the solution stays smooth.
If Σ|ηk| diverges, the cascade isn't controlled and blow-up can't be excluded.
Sound familiar? It's the same criterion. Convergence of a spectral amplitude sum determines boundedness. The only difference is the outcome:
| System | Amplitude Behaviour | Sum at K=104 | Outcome |
|---|---|---|---|
| Navier-Stokes (correct coupling) | ηk ~ k-1.7 | 1.975 | Converges → smooth (regular) |
| Navier-Stokes (missing -i) | ηk ~ k+0.5 | 307.7 | Diverges → apparent blow-up |
| Mertens | |w(ρ)| ~ γ-1(log γ)-1/2 | 4.13 (at 2M) | Diverges → bound breached |
In Navier-Stokes, viscosity provides damping. The damping grows as k2, which beats the cascade coupling. The amplitude sum converges. Solutions stay bounded. Regularity holds.
In number theory, there's no damping. The zeta zeros sit on a fixed line, there's no dissipation mechanism, and the amplitude sum always diverges. Every bound eventually breaks.
Same spectral decomposition. Same convergence test. Opposite sides of the threshold. I wasn't looking for this connection—it emerged because the mathematics is structurally identical once you write both problems as spectral amplitude sums.
What This Doesn't Claim
I want to be clear about scope. This paper doesn't prove anything new in the traditional sense. Every individual divergence result was already known through function-specific methods. The amplitude sum divergence for Mertens was Odlyzko-te Riele. The sign changes for Chebyshev were Littlewood. The Ω-theorems were Ingham and others.
What's new is the lens: one method, one dataset, all six functions, same computation. The classification into three growth regimes emerges from this unified treatment. The cross-validation between functions—where a prediction validated on Chebyshev bias transfers credibility to Mertens and divisor function results—is only possible because the method is the same. And the structural connection to Navier-Stokes regularity becomes visible because both problems reduce to the same question: does a spectral amplitude sum converge?
The paper is explicit about its limitations: the linear independence assumption on zeta zeros is standard but unproven, the Liouville growth rate is empirical, the NS connection is structural rather than formal. It's an honest computational paper that happened to uncover a classification nobody had seen because nobody had looked at all six functions at once.
How It Started
The honest version: I was trying to build more evidence for NS regularity from a different angle. Number theory felt like a natural place to look—the explicit formula is a spectral decomposition, same as Fourier modes in NS, and the convergence/divergence of the amplitude sum is the same structural question. I expected to write a short note showing the analogy.
What I didn't expect was that applying the method uniformly to six functions would reveal a classification that 130 years of individual analysis had missed. The three growth regimes aren't subtle—they're obvious the moment you plot everything on the same axes. But nobody had plotted everything on the same axes, because each function belonged to a different research tradition with different tools.
Sometimes the contribution isn't a new theorem. It's pointing the same tool at six targets simultaneously and noticing the pattern.
The Numbers
2,001,052
zeta zeros
6
functions unified
3
growth regimes discovered
13/15
zeta zeros recovered from DFT
1.2%
best prediction error
< 10s
total computation time
Read the Paper
A Unified Spectral Framework for Arithmetic Oscillations
Classification, Prediction, and Connection to PDE Regularity via Two Million Zeta Zeros