Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
80 changes: 64 additions & 16 deletions data/zeta/zeta_bin_analysis_update.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Height-Dependent Bin Analysis: K(T), p95(T), χ²(T)
## Supplement to Session 9: Riemann Hypothesis CF Analysis

**Date:** 2026-03-08
**Date:** 2026-03-08 · **Corrected:** 2026-08-13
**Dataset:** 100,000 Odlyzko zeros divided into 10 height bins
**Height Range:** γ = 14.1 → 74,920.8

Expand All @@ -12,8 +12,15 @@
| Metric | Mean ± Std | Expected Value | Deviation |
|--------|-----------|----------------|-----------|
| Khinchin K | 2.6201 ± 0.0293 | 2.685 | -0.065 (2.4%) |
| p95 spacing | 1.7252 ± 0.0202 | 2.15 (GUE) | -0.425 (19.8%) |
| χ²/dof | 2.67 ± 0.49 | ~1.0 (perfect fit) | +1.67 |
| p95 spacing | 1.7186 ± 0.0045 | **1.7518** (GUE, computed) | **-0.033 (1.9%)** |
| χ²/dof | 2.67 ± 0.49 | ~1.0 (perfect fit) | +1.67 — UNVERIFIED |

**Correction 2026-08-13.** The expected p95 was given as 2.15 with no
derivation. The Wigner surmise gives p95 = 1.7518 exactly (from
F(s) = erf(2s/√π) − (4s/π)e^(−4s²/π); regenerate with
`scripts/recompute_zeta_percentiles.py`). The deviation is therefore 1.9%,
not 19.8%, and the "persistent light tails" reading below does not survive.
Per-bin p95 recomputed with equal counts is 1.7186 ± 0.0045 — flat in height.

---

Expand Down Expand Up @@ -45,20 +52,36 @@
- Trend: No clear convergence with height
- Deviation from expected: **-2.4%** (systematic)

**Interpretation**: This suggests either:
1. Sample size effect (500 CF expansions per bin may be insufficient)
2. Arithmetic structure in zeta spacings affecting CF statistics
3. Need for larger sample or higher zeros
**Interpretation**: not established — the estimator is unspecified, and the two
plausible estimators bracket the observed value. Monte-Carlo control over
uniform random reals (Khinchin-generic a.s.), 500 expansions per synthetic bin,
`scripts/khinchin_finite_sample.py`:

| estimator | m = 20 terms | m = 50 | m = 100 | K |
|---|---|---|---|---|
| mean of per-expansion geometric means | 2.755 ± 0.031 | 2.713 ± 0.018 | 2.697 ± 0.013 | 2.6854520 |
| pooled geometric mean over all terms | 2.668 ± 0.029 | 2.677 ± 0.017 | 2.684 ± 0.013 | 2.6854520 |

The first estimator is biased **above** K, the second **below**. The observed
2.6201 ± 0.0293 sits 1.6σ from the pooled control at m = 20 — i.e. consistent
with finite-sample bias — and 4σ from the per-expansion control. Which applies
depends on the estimator and on the number of partial quotients per expansion,
neither of which this document records. Status: OPEN, not a finding. To close
it, record the estimator and m, then compare against the matching control row.

### 2. Spacing Distribution: Persistent Light Tails
### 2. Spacing Distribution: agrees with GUE to ~2%

**p95 = 1.73 ± 0.02, consistently below GUE prediction of 2.15**
**p95 = 1.7186 ± 0.0045, against GUE 1.7518 → −1.9%**

- All bins show p95 < 1.80
- Standard deviation across bins: only 0.02 (very stable!)
- Deviation from GUE: **-20%**
- All bins fall in 1.713–1.725; spread across bins is 0.005, not 0.02
- Deviation from GUE: **−1.9%**, and flat in height

**Interpretation**: This confirms the finite-size correction effect (Forrester & Mays 2015). The lighter tails persist even at T ~ 75K.
**Interpretation**: consistent with the Wigner surmise at the level of accuracy
the surmise itself has (it approximates the exact GUE gap law). The previous
text read this as a −20% deficit and cited Forrester & Mays 2015 as confirming
a finite-size correction. Both go: the −20% was the wrong reference column, and
a 1.9% flat offset is not evidence for a finite-size trend. Forrester & Mays
may still be relevant, but nothing in this table tests it.

### 3. GUE Fit: Improves with Height (with fluctuations)

Expand Down Expand Up @@ -97,9 +120,14 @@ plt.xlabel('Height T'); plt.ylabel('Khinchin K'); plt.legend()

| Finding | This Work | Literature | Status |
|---------|-----------|------------|--------|
| Lighter tails (p95 < GUE) | 1.73 vs 2.15 | Odlyzko (1989) | ✅ Confirmed |
| K < 2.685 | 2.62 ± 0.03 | Wolf (2010) | ⚠️ New observation |
| Finite-size corrections | χ²/dof decreases with T | Forrester-Mays (2015) | ✅ Confirmed |
| p95 vs GUE | 1.7186 vs 1.7518 (−1.9%) | — | ⚠️ Within surmise accuracy; not a finding |
| Std vs GUE | 0.4009 vs 0.4220 (−5.0%) | — | ⚠️ Open — the one real deviation |
| K < 2.685 | 2.62 ± 0.03 | Wolf (2010) | ⚠️ New observation, sample-size limited |
| Finite-size corrections | no height trend in p95 | Forrester-Mays (2015) | ❌ Not tested here (was: "✅ Confirmed") |

Withdrawn rows: "Lighter tails (p95 < GUE) 1.73 vs 2.15 — Odlyzko (1989)
✅ Confirmed" and the Forrester-Mays ✅. Both attached a real citation to an
artifact of the wrong reference column.

---

Expand All @@ -114,3 +142,23 @@ plt.xlabel('Height T'); plt.ylabel('Khinchin K'); plt.legend()

*Analysis performed with Trinity V1.0.1 - Sacred Mathematics Module*
*φ² + 1/φ² = 3 = TRINITY*

## Обновление 2026-08-13 (второй тик аудита)

Эталон пересчитан против **точного** закона зазоров GUE (детерминант Фредгольма
с синус-ядром, `scripts/gue_exact_gap.py`), а не против surmise Вигнера:
std 0.424258, p50 0.962807, p90 1.570136, p95 1.757099, p99 2.120406.
Сам surmise отклоняется от точного закона на 0.3-0.5%.

Наблюдение (100k нулей, развёртка через тэта-функцию Римана-Зигеля,
`scripts/unfolding_test.py`): std -5.50%, p90 -2.11%, p95 -2.17%, p99 -2.47%,
p50 +0.29%.

Развёртка как причина ОТВЕРГНУТА: точная развёртка (θ(γ)/π) и ведущий член
дают одно и то же с точностью 1e-5.

Конечная высота — статус OPEN (`scripts/height_extrapolation.py`): при
1/L ~ 0.107 поправка порядка 1/L ожидаема по величине, экстраполяция по
корзинам даёт std +1.09%, p90 +0.09%, p99 +1.52%, но p95 -2.29% (тренда по
высоте у p95 нет). Рычаг слишком короткий (1/L = 0.153..0.107). Закрывается
нулями около 10^12 / 10^21, которых в репозитории нет.
20 changes: 10 additions & 10 deletions data/zeta/zeta_figure1_p95.csv
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
T_mid,p95,GUE_p95
4946.4,1.784,2.15
13962.9,1.7197,2.15
21901.4,1.7235,2.15
29473.3,1.7152,2.15
36812.5,1.7245,2.15
43983.0,1.7165,2.15
51022.0,1.7103,2.15
57953.4,1.7228,2.15
64794.5,1.724,2.15
71557.6,1.7114,2.15
4946.4,1.784,1.7518
13962.9,1.7197,1.7518
21901.4,1.7235,1.7518
29473.3,1.7152,1.7518
36812.5,1.7245,1.7518
43983.0,1.7165,1.7518
51022.0,1.7103,1.7518
57953.4,1.7228,1.7518
64794.5,1.724,1.7518
71557.6,1.7114,1.7518
94 changes: 73 additions & 21 deletions data/zeta/zeta_gue_analysis_results.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Zeta Zero Spacing Analysis Results
## Session 9: Riemann Hypothesis CF Analysis

**Date:** 2026-03-08
**Date:** 2026-03-08 · **Corrected:** 2026-08-13
**Dataset:** 100,000 real zeta zeros from Odlyzko database
**Height Range:** γ = 14.1 → 74,920.8

Expand All @@ -13,23 +13,39 @@ Analysis of 100,000 real Riemann zeta function zeros reveals:

1. ✅ **Local mean spacing** perfectly matches theoretical formula `2π/ln(T)`
2. ✅ **Khinchin's constant K = 2.669** ≈ 2.685 (generic CF behavior)
3. ⚠️ **Std deviation = 0.40** (below GUE prediction of 0.42-0.43)
4. ❌ **95th percentile = 1.72** (significantly below GUE prediction of 2.15)
5. ❌ **Tail distribution is lighter** than pure GUE Wigner surmise
3. ⚠️ **Std deviation = 0.401** vs GUE 0.4220 = √(3π/8 − 1) → −5.0% (the one surviving deviation)
4. ✅ **95th percentile = 1.719** vs GUE **1.7518** → −1.9% (the former "2.15" reference was wrong)
5. ✅ **Tails agree with the Wigner surmise to ~2%**; the earlier "significantly lighter tails" claim was an artifact of the wrong reference column

---

## Detailed Statistics

### Global Statistics (100K zeros)

| Metric | Value | GUE Expected | Status |
|--------|-------|--------------|--------|
| Mean spacing | 1.0000 | 1.0 | ✅ Perfect |
| Std deviation | 0.429 | 0.42-0.43 | ✅ Good |
| Median | 0.954 | 0.91 | ⚠️ Slight deviation |
| 95th percentile | 1.760 | 2.15 | ❌ Significant deviation |
| 99th percentile | 2.44 | 2.75 | ❌ Significant deviation |
Reference column is **computed, not cited**: GUE Wigner surmise
p(s) = (32/π²)s²e^(−4s²/π), CDF F(s) = erf(2s/√π) − (4s/π)e^(−4s²/π).
Regenerate every number below with
`scripts/recompute_zeta_percentiles.py data/zeta/zeros_odlyzko_100k.txt`.

| Metric | Value | GUE (computed) | Deviation | Status |
|--------|-------|----------------|-----------|--------|
| Mean spacing | 1.0000 | 1.0 (exact) | −0.00% | ✅ |
| Std deviation | 0.4009 | 0.4220 | −5.00% | ⚠️ real deviation |
| Median | 0.9655 | 0.9639 | +0.17% | ✅ |
| 95th percentile | 1.7189 | 1.7518 | −1.88% | ✅ |
| 99th percentile | 2.0680 | 2.1107 | −2.02% | ✅ |

**Correction 2026-08-13.** The previous version of this table used a
"GUE Expected" column of 0.91 / 2.15 / 2.75 for median / p95 / p99. None of
those three values is reproducible from the Wigner surmise, from the GOE
surmise (0.939 / 1.953 / 2.422), or from the s³ variant that
`src/sacred/zeta_spacing.zig` implemented before its fix (1.148 / 1.930 / 2.283).
They were a cited reference column with no derivation. Only the std entry
(0.42–0.43) was correct. The observed column was also internally inconsistent —
the summary said p95 = 1.72 while the table said 1.760, and the global std of
0.429 contradicted this document's own bin table, where every bin is 0.39–0.44.
Recomputed observed values are above.

### Continued Fraction Analysis

Expand Down Expand Up @@ -71,16 +87,29 @@ Analysis of 100,000 real Riemann zeta function zeros reveals:

## Key Findings

### 1. Montgomery-Odlyzko Law: Approximation, Not Exact

The famous law stating "zeta zero spacings follow GUE statistics" is an approximation. Real zeros show:
- **Lighter tails** (fewer large spacings)
- **Lower variance** than pure GUE
- **Systematic deviation** at all heights studied

### 2. Height Paradox

Counterintuitively, **lower zeros show better GUE fit** in χ² test, despite asymptotic theory predicting convergence at higher heights.
### 1. Montgomery-Odlyzko Law: Confirmed to ~2% at these heights

Against a computed GUE reference, the 100K zeros agree with the Wigner surmise
at the 2% level in median, p95 and p99. The earlier conclusion in this
document — "the law is only an approximation, tails are significantly
lighter" — rested entirely on the wrong reference column and does not survive
its correction. What remains:
- **Variance −5.0%** (0.4009 vs 0.4220): the one deviation larger than the
surmise-vs-exact-GUE gap, and the only one worth pursuing.
- **p99 is not lighter but slightly heavier than the naive reading suggested**:
2.068 vs 2.111 is −2%, i.e. within the accuracy of the surmise itself, which
is an approximation to the exact GUE gap law (Fredholm determinant /
Painlevé V). Any claim finer than a few percent needs the exact law, not the
surmise.

### 2. Height Paradox — status: OPEN, and suspect

χ²/dof in the table below grows with height, which contradicts asymptotic
theory. The χ²/dof column was computed against the same reference machinery
that carried the wrong p95, and with unequal-N binning of the kind shown to
inflate agreement in `data/zeta/corrected-2026-08-12/NOTE.md`. Recomputed
per-bin p95 with equal counts is flat: 1.7186 ± 0.0045 across ten bins, i.e.
no height trend at all. Treat the χ² table as unverified until regenerated.

### 3. Arithmetic Structure

Expand All @@ -107,10 +136,33 @@ K = 2.669 ≈ 2.685 confirms **generic CF behavior** for most spacings, despite

1. Montgomery, H. (1973). "The pair correlation of zeros of the zeta function"
2. Odlyzko, A. M. (1989). "The 10^20-th zero of the Riemann zeta function"
— cited here for the dataset only. This document previously cited it as
confirming "lighter tails"; that claim was an artifact of the reference
column and the citation has been withdrawn from it.
3. Mezzadri, F. (2006). "How to generate random matrices from the classical compact groups"
4. Forrester, P. J. (2010). "Log-gases and random matrices"

---

*Analysis performed with Trinity V1.0.1 - Sacred Mathematics Module*
*φ² + 1/φ² = 3 = TRINITY*

## Обновление 2026-08-13 (второй тик аудита)

Эталон пересчитан против **точного** закона зазоров GUE (детерминант Фредгольма
с синус-ядром, `scripts/gue_exact_gap.py`), а не против surmise Вигнера:
std 0.424258, p50 0.962807, p90 1.570136, p95 1.757099, p99 2.120406.
Сам surmise отклоняется от точного закона на 0.3-0.5%.

Наблюдение (100k нулей, развёртка через тэта-функцию Римана-Зигеля,
`scripts/unfolding_test.py`): std -5.50%, p90 -2.11%, p95 -2.17%, p99 -2.47%,
p50 +0.29%.

Развёртка как причина ОТВЕРГНУТА: точная развёртка (θ(γ)/π) и ведущий член
дают одно и то же с точностью 1e-5.

Конечная высота — статус OPEN (`scripts/height_extrapolation.py`): при
1/L ~ 0.107 поправка порядка 1/L ожидаема по величине, экстраполяция по
корзинам даёт std +1.09%, p90 +0.09%, p99 +1.52%, но p95 -2.29% (тренда по
высоте у p95 нет). Рычаг слишком короткий (1/L = 0.153..0.107). Закрывается
нулями около 10^12 / 10^21, которых в репозитории нет.
Loading
Loading