← Session 8 — Regroup + R-004 finite-height Li theorem; resources atlas ingested
Now the journal entry.
tool: Write
input
{
"file_path": "D:\\Python\\Quantum\\research\\journal\\session-007.md",
"content": "# Session 007 \u2014 2026-08-18/19\n## Task 3.7 (E-021) COMPLETE after a 6-bug root-cause saga; resources folder ingested\n\n### Outcome\n**E-021 ALL CHECKS PASS** (research/numerics/data/E-021-sinf-sf-curve.{csv,json}):\n- V1: \u03bb_n = S_\u221e(n) \u2212 S_f(n) + 1 matches E-015 for n \u2264 3000 to **4.8e-25**\n relative (floor set by E-015's 26-digit CSV).\n- V2: |R(s)| = |\u03b6\u2032/\u03b6(s) \u2212 \u03a3_{|\u03b3\u2212t|<1} 1/(s\u2212\u03c1)| \u2264 A log(t+2) + B\u2080 holds at\n all 15 sample points with **A = 0.9, B\u2080 = 1.0** (max |R| = 4.75;\n D-036's first estimate 2.0/2.0 tightened).\n- V3: S_\u221e(n) \u2212 [(1/2)n log n + C\u2081n] \u2192 c\u2080 = **\u22121/4**, with the first\n correction measured exactly: S_\u221e(n) = (1/2)n log n + C\u2081n \u2212 1/4\n + 1/(24n) + o(1/n) (C\u2081 = (\u03b3\u22121\u2212log 2\u03c0)/2).\n- **|S_f(n)| curve, n \u2264 5000: max 13.52 at n = 3298** (Ma\u015blanka-consistent);\n the D-036 traced worst-case bound there is ~2280 \u2014 loose by ~170\u00d7, as\n predicted. This is the benchmark for the D-037 finite-height theorem.\n- E-021 registered in research.db (5000 rows); session 007 registered.\n\n### The bug saga (6 defects, all root-caused and fixed)\nE-021 failed V1 four times (1.4e143 \u2192 1.2e-1 \u2192 2.0e3 \u2192 fixed). Cascade:\n1. **mpmath zeta accuracy ceiling ~57\u201358 digits** (Hurwitz AND integer),\n even with correct `mp.mp.dps`. Measured: mp.zeta(90, 0.5) at dps 1700\n has absolute error ~8.4e-31. The E-011 note \"broken beyond ~16\u201319\n digits\" was the dps-setter bug; this is a separate real ceiling.\n \u2192 All \u03b6/Stieltjes beyond double precision now via flint.\n2. **S_f convention confirmed PLAIN** (\u03a3 C(n,j)\u03b7_{j\u22121}) \u2014 the earlier\n \"fix\" claiming alternating was itself wrong. Verified at n=2,3,200\n against S_\u221e+1\u2212\u03bb (E-015).\n3. **GAMMA_E as bare float literal** \u2192 53-bit (error 4.94e-21 in \u03b6*(1)\n and \u03c3\u2081 diagnostics). Long constants must be strings. Cache patched.\n4. **\u03c3_m omission is fatal at any m \u2264 ~0.22\u00b7n_max**: truncating at\n M=200 left boundary error ~C(n,M)\u00b714^{\u2212M} which PEAKS at M=n/15\n (~(15/14)^n) \u2192 1e133 explosion at n=5000. Adaptive M_SIG=1830.\n5. **float64 zero ordinates insufficient** for \u03c3_m (C(n,j) amplification):\n S_f(300) off 7.8e-8. Zeros k>100 contribute <1e-31 relative for\n m \u2265 25, so first 100 zeros via mp.zetazero at dps 450 suffice.\n6. **mp.mpf(string) parsed before `mp.mp.dps` set \u2014 THREE separate\n instances** (gam_s at entry dps 15; g100 at leftover dps 60 \u2192\n \u03c3_m errors ~m\u00b71e-60\u00b714^{\u2212m} \u2192 S_f(3000) off 1.7e7, growth ~n^80).\n All fixed; rule documented in script header + memory.\n\nAlso discovered: my dps-1700 Stieltjes-division REFERENCE recursion\nloses digits at k ~ 80+ (~1e-154 at \u03b7_80) \u2014 E-011/E-015 used dps\n550/1450 for k \u2264 1000/3000 and were validated by independent checks\n(\u03bb_1 to 102 digits, E-008 cross-check, refined ratio 0.999845 at\nn=3000), so ledger #3 stands; but the recursion's digit loss vs k\ndeserves a note for future k > 3000 work (pad dps generously).\n\n### Resources folder (research/resources/, 29 notes) \u2014 read in full\nUser-provided RH-equivalence atlas (Stieltjes, Hasse, Li, Lagarias\npositivity, Weil, Nyman\u2013Beurling, Redheffer, Robin/Lagarias, Speiser,\nMertens, de Bruijn\u2013Newman, moments/RMT, zero-free regions, explicit\nformulas, compendium of 60 equations). Direct uses:\n- D-037: Schoenfeld's explicit |\u03c0(x)\u2212li(x)| \u2264 \u221ax log x/(8\u03c0) (x \u2265 2657)\n and B\u00fcthe (2018) for turning Platt's T\u2080 into explicit bounds;\n Hasanalizade\u2013Shen\u2013Wong |S(t)| \u2264 0.1038 log t + 0.2573 log log t\n + 9.3675 (alternative to our Trudgian constants).\n- Constants cross-checks: B = \u2212\u03bb\u2081; C = 2 + \u03b3 \u2212 log 4\u03c0 = 2\u03bb\u2081 = 0.046191\n (Nyman\u2013Beurling constant = our \u03c3\u2082-ish sum).\n\n### State of the plan\n- 3.6 (D-036) \u2714 (was done cont.9; now updated with measured constants).\n- 3.7 (E-021) \u2714 COMPLETE \u2014 this session.\n- NEXT: 3.8 (D-037 \u2192 R-004): assemble the finite-height theorem\n (\u03bb_n > 0 \u2200 n \u2264 N\u2081 explicit, [PROVED-CONDITIONAL(computational\n RH-to-height-T\u2080)]). Then 2.10 (E-022), 2.9-D1, 2.11 (D-038).\n\n### Handoff notes\n- E-021-zeros100-hi-cache.json (100 zeros, 400 digits) now exists;\n E-021-zeta-cache.json (\u03b6(j) strings, 1650 digits, \u03b6*(1) patched) and\n E-021-zeros-cache.npy (4624 zeros, float64 \u2014 P1 use only!) reused.\n- The n=10\u2074 rerun of E-021 (script N_MAX flag) is cheap: zeta strings\n must be extended to 0.31\u00b710\u2074 digits (delete zeta cache or bump\n n_max-dependent filename).\n- Pacing: session ran long (user approved continuing to completion).\n"
}
raw content_json (database row)
[{"type":"text","text":"Now the journal entry."},{"type":"tool_use","id":"Write_172","name":"Write","input":{"file_path":"D:\\Python\\Quantum\\research\\journal\\session-007.md","content":"# Session 007 — 2026-08-18/19\n## Task 3.7 (E-021) COMPLETE after a 6-bug root-cause saga; resources folder ingested\n\n### Outcome\n**E-021 ALL CHECKS PASS** (research/numerics/data/E-021-sinf-sf-curve.{csv,json}):\n- V1: λ_n = S_∞(n) − S_f(n) + 1 matches E-015 for n ≤ 3000 to **4.8e-25**\n relative (floor set by E-015's 26-digit CSV).\n- V2: |R(s)| = |ζ′/ζ(s) − Σ_{|γ−t|<1} 1/(s−ρ)| ≤ A log(t+2) + B₀ holds at\n all 15 sample points with **A = 0.9, B₀ = 1.0** (max |R| = 4.75;\n D-036's first estimate 2.0/2.0 tightened).\n- V3: S_∞(n) − [(1/2)n log n + C₁n] → c₀ = **−1/4**, with the first\n correction measured exactly: S_∞(n) = (1/2)n log n + C₁n − 1/4\n + 1/(24n) + o(1/n) (C₁ = (γ−1−log 2π)/2).\n- **|S_f(n)| curve, n ≤ 5000: max 13.52 at n = 3298** (Maślanka-consistent);\n the D-036 traced worst-case bound there is ~2280 — loose by ~170×, as\n predicted. This is the benchmark for the D-037 finite-height theorem.\n- E-021 registered in research.db (5000 rows); session 007 registered.\n\n### The bug saga (6 defects, all root-caused and fixed)\nE-021 failed V1 four times (1.4e143 → 1.2e-1 → 2.0e3 → fixed). Cascade:\n1. **mpmath zeta accuracy ceiling ~57–58 digits** (Hurwitz AND integer),\n even with correct `mp.mp.dps`. Measured: mp.zeta(90, 0.5) at dps 1700\n has absolute error ~8.4e-31. The E-011 note \"broken beyond ~16–19\n digits\" was the dps-setter bug; this is a separate real ceiling.\n → All ζ/Stieltjes beyond double precision now via flint.\n2. **S_f convention confirmed PLAIN** (Σ C(n,j)η_{j−1}) — the earlier\n \"fix\" claiming alternating was itself wrong. Verified at n=2,3,200\n against S_∞+1−λ (E-015).\n3. **GAMMA_E as bare float literal** → 53-bit (error 4.94e-21 in ζ*(1)\n and σ₁ diagnostics). Long constants must be strings. Cache patched.\n4. **σ_m omission is fatal at any m ≤ ~0.22·n_max**: truncating at\n M=200 left boundary error ~C(n,M)·14^{−M} which PEAKS at M=n/15\n (~(15/14)^n) → 1e133 explosion at n=5000. Adaptive M_SIG=1830.\n5. **float64 zero ordinates insufficient** for σ_m (C(n,j) amplification):\n S_f(300) off 7.8e-8. Zeros k>100 contribute <1e-31 relative for\n m ≥ 25, so first 100 zeros via mp.zetazero at dps 450 suffice.\n6. **mp.mpf(string) parsed before `mp.mp.dps` set — THREE separate\n instances** (gam_s at entry dps 15; g100 at leftover dps 60 →\n σ_m errors ~m·1e-60·14^{−m} → S_f(3000) off 1.7e7, growth ~n^80).\n All fixed; rule documented in script header + memory.\n\nAlso discovered: my dps-1700 Stieltjes-division REFERENCE recursion\nloses digits at k ~ 80+ (~1e-154 at η_80) — E-011/E-015 used dps\n550/1450 for k ≤ 1000/3000 and were validated by independent checks\n(λ_1 to 102 digits, E-008 cross-check, refined ratio 0.999845 at\nn=3000), so ledger #3 stands; but the recursion's digit loss vs k\ndeserves a note for future k > 3000 work (pad dps generously).\n\n### Resources folder (research/resources/, 29 notes) — read in full\nUser-provided RH-equivalence atlas (Stieltjes, Hasse, Li, Lagarias\npositivity, Weil, Nyman–Beurling, Redheffer, Robin/Lagarias, Speiser,\nMertens, de Bruijn–Newman, moments/RMT, zero-free regions, explicit\nformulas, compendium of 60 equations). Direct uses:\n- D-037: Schoenfeld's explicit |π(x)−li(x)| ≤ √x log x/(8π) (x ≥ 2657)\n and Büthe (2018) for turning Platt's T₀ into explicit bounds;\n Hasanalizade–Shen–Wong |S(t)| ≤ 0.1038 log t + 0.2573 log log t\n + 9.3675 (alternative to our Trudgian constants).\n- Constants cross-checks: B = −λ₁; C = 2 + γ − log 4π = 2λ₁ = 0.046191\n (Nyman–Beurling constant = our σ₂-ish sum).\n\n### State of the plan\n- 3.6 (D-036) ✔ (was done cont.9; now updated with measured constants).\n- 3.7 (E-021) ✔ COMPLETE — this session.\n- NEXT: 3.8 (D-037 → R-004): assemble the finite-height theorem\n (λ_n > 0 ∀ n ≤ N₁ explicit, [PROVED-CONDITIONAL(computational\n RH-to-height-T₀)]). Then 2.10 (E-022), 2.9-D1, 2.11 (D-038).\n\n### Handoff notes\n- E-021-zeros100-hi-cache.json (100 zeros, 400 digits) now exists;\n E-021-zeta-cache.json (ζ(j) strings, 1650 digits, ζ*(1) patched) and\n E-021-zeros-cache.npy (4624 zeros, float64 — P1 use only!) reused.\n- The n=10⁴ rerun of E-021 (script N_MAX flag) is cheap: zeta strings\n must be extended to 0.31·10⁴ digits (delete zeta cache or bump\n n_max-dependent filename).\n- Pacing: session ran long (user approved continuing to completion).\n"},"extra_content":null}]