A series of papers studying the Lie algebra generated by pairwise interaction Hamiltonians under the Poisson bracket, covering the dimension sequence, its internal structure, universality, integrability, and quantum deformation.
Website: nbody.briansheppard.com — interactive atlas explorer, curated figures, dataset browser, per-experiment status tracker, and the neural-network universality article.
Interactive explainer:
explainer/— a static, no-build scrollytelling walkthrough of the 11 technical terms in the OEIS A395423 submission (orbit playground, pendulum portrait, bracket calculator, dimension growth, universality, SVD gap, frontier).
| # | Title | File | Status |
|---|---|---|---|
| 1 | Super-exponential growth of the Poisson algebra generated by pairwise Hamiltonians of the planar three-body problem | papers/preprint.tex |
Draft |
| 2 | S₃-equivariant jet filtration of the three-body Poisson algebra: tier decomposition, integer scaling exponents, and syzygy structure | papers/paper2_s3_filtration.tex |
Draft |
| 3 | Universal dimension sequences of pairwise Poisson algebras: independence from spatial dimension, potential exponent, and charge sign | papers/paper3_universality.tex |
Draft |
| 4 | The Calogero-Moser Poisson algebra: integrability, finite closure, and comparison with the Newtonian case | papers/paper4_calogero_integrability.tex |
Draft |
| 5 | Quantum deformation of the pairwise Poisson algebra: ℏ-corrections and operator ordering | (in preparation) | Outline |
| N | Sequence | Gap ratio |
|---|---|---|
| 3 | [3, 6, 17, 116] (d(4) ≥ 5,604) | > 10⁹ every level (>10¹⁰ at L0–L2) |
| 4 | [6, 14, 62, 1,260] (L3 exact, Apr 11, 2026) | 3.4 × 10¹¹ at level 2 |
| 5 | [10, 25, 145] (L3 OOM-blocked on 256 GB, d=1) | > 10¹⁰ at levels 0–2 |
| 6 | [15, 39, 279] (L2, d=1) | — |
| 7 | [21, 56, 476] (L2, d=1) | — |
| 8 | [28, 76, 748] (L2, d=1) | — |
The N=3 sequence is:
- Potential-invariant — identical for 1/r, 1/r², 1/r³, log(r), and composite (1/r + 1/r²) potentials
- d-independent — identical at d = 1, 2, 3 spatial dimensions
- Mass-invariant — proved symbolically for generic masses over ℚ(m₁,m₂,m₃): rank 116 holds for all mass triples outside a possible proper subvariety (none found; also confirmed numerically at 25+ mass ratios from 10⁻³ to 10⁶)
- Charge-invariant — true in everything tested: integer magnitudes q=1..20 in the mixed-sign (+1,+q,−1) sweep give exact rank 116 over ℚ, and same-sign configs (Penning trap, H₃⁺, O₃) also give 116. Early 500-sample runs reported Li⁺ (+3,−1,−1) → 111 and H₂⁺ (+1,+1,−1) → 115; revalidation at 1000–5000 samples (Mar 24, 2026) restored 116 in every case — undersampling artifacts, the same failure class as the SymPy-1.10 [3,5,13,69] (levels 0–2 remain universal)
- Cross-CAS confirmed (Apr 21, 2026) —
[3, 6, 17, 116]reproduced end-to-end in Wolfram Language 14.3 for both 1/r and 1/r² potentials, using an independent rank algorithm (MatrixRankoverRationalson aSparseArray). The harmonic closure[3, 6, 13, 15, 15]is also confirmed through L=4 in the same oracle. The headline numbers now stand on two unrelated CAS implementations and two unrelated rank algorithms, for both the open (singular) and closed (harmonic) halves of the universality picture. Seemathematica/andbench_flint/validation_summary.mdPhases F and F.2. A third-leg SageMath oracle atsage/confirms the same numbers in a third independent CAS (Phase G.1, 2026-05-11):[3, 6, 17, 116]for both 1/r and 1/r² (~60s each), and[3, 6, 13, 15, 15]for the harmonic closure (2s) — usingMatrix(GF(2^31 − 1), ..., sparse=True).rank()(FLINT-backed) on the same Lie-closure filtration. The headline numbers now stand on three independent CAS implementations: two exact rational legs (SymPy, and Wolfram MatrixRank over Rationals) plus a mod-p leg (SageMath, FLINT-backed rank over GF(2³¹−1)).
The N=4 sequence is mass-invariant and d-independent (d = 1, 2, 3). For 1/r gravity it is [6, 14, 62, 1,260] (L3 exact, Apr 11, 2026); potential invariance is verified through L2, where 1/r², 1/r³, and log(r) all give [6, 14, 62] (L3 has not been computed for these potentials — [6, 14, 62, 1,260] is 1/r-only). The old L2 scaling formula (13N³−42N²+83N−120)/6 is falsified at N=7, 8; the corrected formula is L2(N) = N(4N²−9N+3)/2 (N≥4, equivalent to new_L2 = 12·C(N,3)). N=9 confirms all three formulas: L0=36, L1=99, L2=1107 (Apr 14, 2026). The L1 formula dim(L1) = N(3N−5)/2 is now verified for N=3 through N=26 (23 exact data points). L0 = N(N−1)/2 confirmed through N=50.
The harmonic potential (r²) produces a finite-dimensional algebra closing at dimension 15 ([3, 6, 13, 15, 15], confirmed through L4 in three CAS).
Dense numerical survey of V = −u^p for 79+ rational p-values confirms [3, 6, 17] is universal through level 2, with the notable exception of p = −2 (harmonic oscillator, V = −r²), which gives [3, 6, 13]. (This p-sweep does not by itself establish a single exception: the exact symbolic r^n survey below shows p = −1 — matching r¹ — is a second exception, departing already at L1 ([3, 4, 5]), and r³ is a third exceptional case that matches [3, 6, 17] through L2 but departs only at L3, so it would be invisible to a level-2-only sweep regardless. The full, correct exception set is exactly {r¹, r², r³}.) The transition at p = −2 is infinitely sharp — even p = −2 ± 0.001 gives dim = 17. The n→0⁺ degeneration test confirms the transition is topological (rank jumps discretely, never degrades continuously). See nbody/symbolic_n_proof.py for the survey scripts.
Inverse-power 1/r^n fractional exponents (April 2026): Numerical SVD sweep across 21 exponents from n=0.00001 to n=3.5 confirms [3, 6, 17, 116] for all n ≥ 0.0001 (N=3, d=1, max_level=3). Confirmed at N=4 with 9 exponents (all [6, 14, 62]). Universality is continuous across real exponents.
Polynomial r^n exact symbolic survey (April 2026): Exact symbolic rank over QQ for r^n potentials (N=3, d=1, max_level=3) reveals three exceptional integer exponents:
- r^1 (linear confinement): [3, 4, 5, 5] — finite, closes at dim 5
- r^2 (harmonic oscillator): [3, 6, 13, 15] — finite, closes at dim 15
- r^3 (cubic): [3, 6, 17, 109] — infinite, 7 extra relations at L3
- r^4 through r^10: all [3, 6, 17, 116] — universal, matching singular potentials
The harmonic oscillator is special due to its enhanced dynamical symmetry (Fradkin tensor / SU(d)), not its regularity. Numerical r^n exponent sweep confirms a symmetric L3 descent (116→108→87) approaching n=2 from either side.
Structure constant expansion (April 15, 2026): Exact structure constants computed for 15 potentials total. All 13 non-harmonic potentials (1/r through 1/r^4, r^4 through r^10, composites, log) share identical L2 algebraic invariants: ad-Gram (Frobenius) signature tr(ad_i ad_jᵀ) = (6+, 0-, 11 zero), solvable length 3, nilpotent class 3, center dim 11, 32 non-zero structure constants. Because this dim-17 algebra is nilpotent, its true Killing form vanishes identically (0, 0, 17); the ad-Gram signature above is a valid cross-potential invariant but is not the Killing form. The r^1 algebra is qualitatively different (dim 5, ad-Gram (Frobenius) signature 3+/0-/2z, solvable length 2). The r^3 algebra matches universal at L2 but diverges at L3: the 109-dimensional algebra is not nilpotent (lower central series oscillates [109, 106, 103, 95, 52, 5, 10, 65, 93, 52, 5]), solvable length 4, center dim 80. This strongly supports the isomorphism conjecture: all non-harmonic, non-exceptional potentials generate literally the same Lie algebra at level 2.
A 3-layer linear network f(x) = w₃·w₂·w₁·x trained with SGD+momentum defines a Hamiltonian system on 6D phase space with gradient-product pairwise coupling V_ij = (∂L/∂wᵢ)(∂L/∂wⱼ)/2. The resulting Poisson algebra has dimension sequence [3, 6, 17, 119] (exact over ℚ) — 3 extra generators at level 3 compared to the gravitational universal [3, 6, 17, 116].
The 3 extra generators all transform in the standard (2D) representation of S₃ and prominently involve H₂₃ at the outermost bracket level. The gradient-product potential has polynomial degree 10 (vs degree 1 for gravitational −u_ij), enabling richer bracket structure. Compare: quantum ℏ-deformation adds 1 generator (117 vs 116). See neural/ for scripts and detailed characterization.
The Montgomery-Odlyzko law states that nontrivial zeros of the Riemann zeta function have pair correlations matching GUE random matrix eigenvalues. The GUE joint density P(t₁,...,tₙ) ∝ ∏|tᵢ−tⱼ|² · exp(−½Σtᵢ²) is a Boltzmann weight whose energy decomposes into pairwise Hamiltonians H_ij = −2 log|tᵢ−tⱼ| + harmonic confinement — exactly the 1D N-body problem with logarithmic potential and harmonic trap.
This maps directly to NBodyAlgebra(N=3, d=1, potential="log", external_potential={"omega": 1}). The universality conjecture predicts the dimension sequence [3, 6, 17, 116] — the same as Newtonian gravity.
Result: All four configs confirmed on AWS (April 11, 2026, 178.5s total compute): pure log-gas [3, 6, 17, 116], GUE composite [3, 6, 17, 116], Penning trap [3, 6, 17, 116], harmonic-only [3, 6, 13, 15]. The algebraic structure governing correlations between zeta zeros (and hence prime distributions via the explicit formula) belongs to the same universality class as Newtonian gravity. Quantum Moyal bracket on the GUE composite also gives [3, 6, 17, 116] (no +1 growth, unlike 1/r^n → 117). See primes/ for details.
Spectral analysis of the level-2 bracket tensor (structure constants) via Kirillov coadjoint orbit theory reveals a striking dichotomy:
| Algebra | Level spacing var | Mean ratio ⟨r⟩ | Statistical class |
|---|---|---|---|
| 1/r (singular, dim 17) | 0.117 | 0.639 | GUE–GSE |
| r² (harmonic, dim 15) | 1.168 | 0.401 | Poisson |
The non-integrable 1/r bracket tensor shows GUE-to-GSE level repulsion in its coadjoint orbit frequencies, while the integrable r² algebra shows Poisson statistics. This is the Bohigas-Giannoni-Schmit conjecture manifested in the algebraic structure itself — the bracket tensor of a non-integrable system has the same spectral universality as chaotic quantum Hamiltonians. The symplectic lean (toward GSE rather than exact GUE) reflects the inherent symplectic structure of the Poisson bracket.
Additionally, the Jacobi identity FAILS for the 1/r structure constants, confirming the 17 generators at level 2 are not a closed Lie subalgebra (consistent with the conjectured infinite-dimensionality). The harmonic r² sequence closes at dimension 15; it is identified with the Jacobi algebra sp(4,ℝ) ⋉ h₂ by invariant matching (dimension, Killing signature, center, radical structure), not a verified isomorphism — the identification run skipped the O(n⁴) Jacobi verification of the structure-constant tensor (its jacobi_ok:false records "skipped", not "failed").
See primes/level2_spectral_analysis.py and figures in legacy_figures_archive/primes/figures/.
The 10⁻¹⁴ singular-value tail seen at the binary-collision edge of the planar
1/r d=2 level-3 algebra has been resolved into an exact rational identity.
On the binary-collision family body₃ = (4, 3) with body₂ = (3ε, 4ε) the
generators all admit a unique splitting G = A(p,ε) + B(p,ε)·S over ℚ, where
S = u₂₃ and S² = 1/D(ε) with D(ε) = 25 − 48ε + 25ε². Stacking the
A- and B-blocks gives an exact ℚ matrix (no SVD).
| stratum | rank (ℚ) | nullity |
|---|---|---|
| (4,3) ε ∈ {1/3, …, 1/1000} | 80 | 76 |
| (3,4) collinear, ε = 1/100 | 56 | 100 |
Constant rank 80 across the entire (4,3) ε-sweep — the same 76 syzygies at
every ε > 0. The collinear cap drops 24 more. The sparsest soft syzygy at
ε = 1/100 has 13 terms with a rank-1 level-2 block
A·U₁ + B·U₂ + (A−B)·U₃ = 0 and a single-coefficient level-3 block
involving {K₁,K₂}; its leading-order ε-scaling is ε⁻⁸ (the algebraic
origin of the 10⁻¹⁴ SVD signature). The clean A+B·S splitting at every
ε > 0 is the algebraic shadow of Levi-Civita / KS regularization of the
(1,2) binary on this slice; constant rank along the stratum is the
certificate that one change of variables regularizes uniformly.
Notes: the prior numerical sweep returned phantom rank > 116 because
ε-size singular values cannot be separated from genuine rank in float64;
the SVD rank is now capped at the algebraic upper bound (116) in
collision_stratification.py. Full
writeup: COLLISION_SYZYGY_REPORT.md. Exact
pipeline: collision_syzygy_v2.py; log:
syzygy_v2.log. All collision/syzygy
scripts, JSON artifacts, and run logs live under
collision_syzygy/.
The original conjecture — that the dimension sequence depends only on N and the singularity class — has been refined by the Multi-System Universality Survey (Mar 2026). The emerging picture:
- Mass-invariant for generic masses: the sequence [3, 6, 17, 116] is universal across potential types (1/r, 1/r², 1/r³, log, composite), spatial dimensions, and generic mass ratios. Mass invariance is proved symbolically for generic masses over ℚ(m₁,m₂,m₃): rank 116 holds for all mass triples outside a possible proper subvariety (none found; also confirmed numerically at 25+ mass ratios from 10⁻³ to 10⁶).
- Original survey artifact corrected (Mar 23, 2026): the [3, 5, 13, 69] reported for unequal-mass gravitational systems was caused by SymPy 1.10.1 failing to lambdify level-3 expressions. Re-validation with SymPy 1.13.3 confirms [3, 6, 17, 116] for generic mass ratios.
- Charge invariance: charge-invariant in everything tested — integer magnitudes q=1..20 in the mixed-sign (+1,+q,−1) sweep give exact rank 116 over ℚ, and same-sign configs (Penning trap, H₃⁺, O₃) also give 116. Early 500-sample runs reported Li⁺ (+3,−1,−1) → 111 and H₂⁺ (+1,+1,−1) → 115; revalidation at 1000–5000 samples (Mar 24, 2026) restored 116 in every case — undersampling artifacts, the same failure class as the SymPy-1.10 [3,5,13,69]. Levels 0–2 remain 3, 6, 17 universally.
Testing the conjecture across 21 physical three-body systems spanning gravitational, atomic, nuclear, plasma, post-Newtonian, and exotic regimes. Computed on AWS (r6i.2xlarge for dimension sequences, c6i.8xlarge for atlas scans, r6i.4xlarge for composite/PN).
| Category | System | Potential | Sequence | Status |
|---|---|---|---|---|
| Gravitational | Sun-Earth-Moon | 1/r | [3, 6, 17, 116]§ | Symbolic proof |
| Gravitational | Sun-Jupiter-Asteroid | 1/r | [3, 6, 17, 116]§ | Symbolic proof |
| Gravitational | Three Cluster Stars | 1/r | Revalidated | |
| Gravitational | Binary Star + Planet | 1/r | Revalidated | |
| Gravitational | Three Merging Galaxies | 1/r | Revalidated | |
| Gravitational | Triple Black Holes (LISA) | 1/r | [3, 6, 17, 116]§ | Symbolic proof |
| Gravitational | Binary BH + Neutron Star | 1/r | Revalidated | |
| Atomic | Helium (+2,−1,−1) | 1/r | [3, 6, 17, 116] | Complete |
| Atomic | Li⁺ Ion (+3,−1,−1) | 1/r | [3, 6, 17, 116] | Revalidated |
| Atomic | H⁻ Ion (+1,−1,−1) | 1/r | [3, 6, 17, 116] | Complete |
| Atomic | Positronium Ps⁻ (+1,−1,−1) | 1/r | [3, 6, 17, 116] | Complete |
| Atomic | Muonic Helium (+2,−1,−1) | 1/r | [3, 6, 17, 116] | Complete |
| Atomic | H₂⁺ Molecular Ion (+1,+1,−1) | 1/r | [3, 6, 17, 116] | Revalidated |
| Plasma | Penning Trap Ions (+1,+1,+1) | 1/r | [3, 6, 17, 116] | Complete |
| Plasma | 2D Vortices | log(r) | [3, 6, 17, 116] | Complete |
| Plasma | Yukawa potential (μ-sweep, equal masses) | exp(-μr)/r | [3, 6, 17, 116]† | Complete |
| Plasma | Dusty Plasma (named config) | Yukawa | [3, 6, 17, 116] | Complete |
| Nuclear | Tritium / He-3 (named config) | Yukawa | [3, 6, 17, 116] | Complete |
| Nuclear | p-n-n Scattering | Yukawa | [3, 6, 17, 116] | Complete |
| PN | Kozai-Lidov (1PN) | composite | — | In progress |
| Exotic | Magnetic Monopoles | 1/r² | — | Atlas complete; dimseq pending |
| Exotic | Dark Matter Halos | 1/r | — | In progress |
| Parametric | 1/r^π (irrational) | 1/r^3.14159… | [3, 6, 17, 116] | Complete |
| Parametric | 1/r^e (irrational) | 1/r^2.71828… | [3, 6, 17, 116] | Complete |
| Parametric | 1/r^φ (irrational) | 1/r^1.61803… | [3, 6, 17, 116] | Complete |
‡ Directly re-run on AWS with SymPy 1.13.3 and confirmed (Mar 24, 2026). Corrected results in results/expansion_dimseq/expansion_dimseq_summary.json; the older data/expansion_dimseq_completion_clean.json retains the artifact [3, 5, 13, 69] values for provenance.
§ True rank 116 guaranteed by symbolic mass invariance proof over ℚ(m₁,m₂,m₃); direct numerical computation shows SVD conditioning artifacts at these physical mass ratios (extreme values prevent clean gap detection).
† μ-sweep over μ ∈ {1/10, 1/2, 7/10, 1, 2, 5} (N=3, d=1, equal masses, max_level=3, 500 samples each), all [3, 6, 17, 116]; see results/yukawa_dimseq.json. The named Yukawa configurations (tritium/He-3, dusty plasma, p-n-n) at their physical screening lengths and mass ratios are also complete (Apr 16, 2026), all [3, 6, 17, 116] — the full 9-config Yukawa survey is restored; see docs/project_status.md.
Composite/PN results (separate pipeline):
| System | Potential | Sequence | Status |
|---|---|---|---|
| Control (1/r) | 1/r | [3, 6, 17, 116] | Complete |
| Two-term (1/r + 1/r²) | composite | [3, 6, 17, 116] | Complete |
The 116-dimensional level-3 algebra has rigid internal structure. The 156 bracket products decompose as:
The 116-dimensional level-3 algebra has rigid internal structure. The 156 bracket products decompose as:
| Component | Count | ε-scaling | Origin |
|---|---|---|---|
| Tier 1 | 52 | ε⁰ | E-type irreps of S₃ — zeroth-order observables |
| Tier 2 | 44 | ε¹ | First-order variation |
| Tier 3 | 16 | ε² | Second-order variation |
| Tier 4 | 4 | ε³ | Third-order variation |
| Syzygies | 32 | — | Jacobi identity consequences |
| True zeros | 8 | — | Translation invariance (first-class) |
The scaling exponents are integer-quantized (0, 1, 2, 3). The tier sizes are predicted exactly by the Clebsch-Gordan decomposition of S₃ representations: the algebra contains 52 copies of E (standard, dim 2), 24 of A (trivial), and 28 of A' (sign), with E-fraction locked at exactly 2/3 at every bracket level.
The 40 null generators are not Dirac constraints — the 32 syzygies break at special submanifolds (collinear: rank increases to 124), while the 8 true zeros correspond to total-momentum conservation. The tier structure and constraint structure are orthogonal decompositions.
Full analysis: potential_comparison_plots/quantization_analysis.md
Gap ratio landscape at ε = 10⁻³ comparing all-attractive gravitational 1/r (left) and helium Coulomb +2, −1, −1 (center), with the log₁₀ differential (right). Pearson r = 0.91 confirms charge-sign invariance of the algebraic structure, while the differential reveals charge-sensitive regions near collinear configurations and low mass ratios.
High-resolution adaptive scan of the Lagrange equilateral neighborhood (1/r², Calogero-Moser). The optimal sampling scale (top left) drops sharply near the equilateral point (φ ≈ 60°, μ ≈ 1.0), revealing fine algebraic structure invisible at fixed ε. The gap score (top right) shows a pronounced valley around equilateral — the 5-tier point where all four tier boundaries are simultaneously resolved. SVD rank (bottom left) is uniformly 116 except for a few points near (78°, 1.05) where additional syzygies break, while the number of tiers (bottom right) reaches 5–6 in the equilateral cluster and drops to 2–3 at the periphery.
├── papers/ # LaTeX sources and PDFs
│ ├── preprint.tex # Paper 1: dimension sequence, mass invariance
│ ├── paper2_s3_filtration.tex # Paper 2: S₃ tier decomposition, syzygies
│ ├── paper3_universality.tex # Paper 3: N=4, d-independence, universality
│ ├── paper4_calogero_integrability.tex # Paper 4: Calogero-Moser
│ └── calogero/ # Paper 4 artifacts (figures, data, scripts)
├── docs/ # Documentation and project notes
│ ├── session_log.md # Full development log
│ ├── conjectures.md # Conjecture formulations and evidence
│ ├── project_status.md # Current status overview
│ └── ... # Strategy docs, findings, brainstorms
├── figures_v2/ # Canonical rendered figures (gitignored; rebuild via website/figures_render.py)
│ ├── heatmaps/ # μ/φ gap-ratio heatmaps per config
│ ├── spheres/ # 3D shape sphere renderings
│ ├── triptychs/ # 1/r baseline | this | difference
│ ├── spectra/ # Mean SV spectrum per scan
│ └── comparisons/ # 10 curated cross-system panels
├── legacy_figures_archive/ # Pre-rebuild PNG archive (gitignored; recoverable)
├── data/ # JSON metadata and sweep results
│ ├── mass_ratio_sweep.json # Full mass ratio sweep data
│ ├── data_inventory.json # Atlas data inventory
│ ├── image_inventory.json # Pre-rebuild figure catalog (1202 entries)
│ └── ... # Completion markers, small result sets
├── infra/ # AWS infrastructure (launch scripts, userdata)
│ ├── launch_atlas_instances.py # EC2 spot fleet orchestration (named systems)
│ ├── launch_parametric.py # 1/r^k exponent sweep launcher
│ ├── launch_nbody_scaling.py # N-body scaling fleet launch
│ ├── launch_lane_c.py # Lane C: r6a.16xlarge SPOT launcher for N=3 L=4 mod-p
│ ├── userdata_lane_c.sh # AL2023 + python3.11 bootstrap for Lane C
│ └── userdata_*.sh # Other EC2 bootstrap scripts
├── scripts/ # Maintenance helpers
│ └── archive_legacy_figures.py # Moves legacy PNGs into legacy_figures_archive/
├── website/ # Research website (deployed to nbody.briansheppard.com)
│ ├── index.html # Dashboard: stats, work plan, conjectures
│ ├── tracker.html # Per-experiment status tracker
│ ├── figures.html # Curated figures explorer (309 PNGs, 17 systems, 10 comparisons)
│ ├── datasets.html # Browser for the 13 Parquet tables (997 rows)
│ ├── interactive.html # Plotly.js interactive atlas explorer
│ ├── about.html # Four-tier explainer (Overview/Concepts/Methods/Formalism)
│ ├── data/ # Generated JSON manifests (gitignored; rebuild via build_*.py)
│ ├── build_dataset_json.py # Parquet → per-table JSON for datasets.html
│ ├── build_figures_manifest.py # figures_v2/ tree → manifest.json for figures.html
│ ├── figures_render.py # Walks aws_results/ + atlas_output_hires/ + atlas_targeted/ → figures_v2/
│ ├── figures_compare.py # 10 curated comparison panels with shared color scales
│ ├── preprocess_atlas_data.py # Converts .npy → web JSON/binary for interactive.html
│ └── render_knee_index.py # Spectral decay knee index renderer
├── nbody/ # N-body engine and extensions (Paper 3)
│ ├── exact_growth_nbody.py # NBodyAlgebra class — arbitrary N, d, potential
│ ├── expansion_configs.py # 21-system universality survey registry
│ └── ... # N=4, helium, PN, charge sensitivity scripts
├── primes/ # GUE log-gas / prime distribution sub-project
│ ├── gue_prime_connection.tex # LaTeX: mathematical framework
│ ├── run_gue_logas.py # Computation script (4 configs)
│ ├── run_quantum_gue.py # Quantum Moyal bracket computation
│ ├── level2_spectral_analysis.py # Kirillov orbit spectral analysis (BGS conjecture)
│ ├── hilbert_polya_search.py # HP operator search (superseded by closure discovery)
│ ├── diagnose_brackets.py # Bracket computation diagnostics
│ ├── check_1r_closure.py # Closure test: not closed at 116 (116 → 306 at L4)
│ ├── figures/ # Spectral analysis figures (6 PNGs)
│ ├── launch_gue.py # AWS launcher
│ └── userdata_gue.sh # EC2 userdata template
├── 3d/ # d-dimensional engine for N=3 (Paper 3)
├── dataset/ # Hugging Face dataset pipeline
│ ├── build_dataset.py # ETL: JSON results → 13 Parquet tables
│ ├── validate_dataset.py # Validation suite for all splits
│ ├── README.md # HF dataset card (YAML frontmatter + docs)
│ └── output/ # Generated Parquet files + dataset_info.json
├── results/ # Computation logs and result JSONs
├── atlas_figures/ # Atlas survey figures (76 PNGs)
├── potential_comparison_plots/ # Paper 2 analysis figures
│
├── exact_growth.py # Core symbolic Poisson bracket engine (N=3)
├── exact_growth_cm.py # Calogero-Moser variant
├── stability_atlas.py # Exact-engine atlas scanner
├── multi_epsilon_atlas.py # Multi-ε adaptive structure analysis
├── targeted_adaptive_scan.py # High-resolution adaptive scans
└── ... # Analysis, diagnostic, and visualization scripts
| File | Description |
|---|---|
exact_growth.py |
Core symbolic Poisson bracket engine (levels 0–3) |
exact_growth_cm.py |
Calogero-Moser (1/r²) variant |
nbody/exact_growth_nbody.py |
NBodyAlgebra — arbitrary N, d, potential, masses, charges. Includes compute_growth_modp for streaming low-RAM rank over F_p (Lane C path used for N=3 L=4 on AWS). |
3d/exact_growth_nd.py |
ThreeBodyAlgebra — parameterized spatial dim d=1,2,3 |
bench_flint/lane_c_aws_driver.py |
Driver invoked by Lane C userdata; calls compute_growth_modp and ships checkpoints to S3. |
| File | Description |
|---|---|
stability_atlas.py |
Exact-engine atlas scanner |
atlas_1000.py |
1000×1000 full atlas scan |
multi_epsilon_atlas.py |
Multi-epsilon & adaptive structure analysis (supports --charges, multiprocessing, spot instances) |
targeted_adaptive_scan.py |
High-resolution adaptive scans of specific regions (Lagrange, Euler, etc.) |
sv_landscape_viz.py |
Singular value landscape visualizations |
| File | Description |
|---|---|
quantization_analysis.py |
Tier structure statistics, hypothesis tests |
clebsch_gordan_analysis.py |
S₃ representation decomposition and CG verification |
dirac_constraint_test.py |
Epsilon scaling and constraint identification from SVD data |
dirac_direct_eval.py |
Direct generator evaluation, null-space analysis |
dirac_analysis_from_svd.py |
Comprehensive noise-floor taxonomy (syzygies vs true zeros) |
| File | Description |
|---|---|
website/index.html |
Dashboard: overview stats, work plan, conjectures, papers |
website/tracker.html |
Per-experiment status tracker (42 atlas configurations) |
website/figures.html |
Curated figures explorer with three browse modes (System / Analysis / Comparisons), facet filtering, lightbox with comparison-group navigation, deep links into datasets.html |
website/datasets.html |
Browser for the 13 Parquet tables (997 rows): sortable + filterable + paginated table view, schema block, per-table Plotly chart, JSON download + Hugging Face Parquet deep-link, cross-table filter panel |
website/about.html |
Four-tier explainer: Overview / Concepts / Methods / Formalism |
website/interactive.html |
Plotly.js interactive atlas explorer with SV spectrum inspector |
website/build_figures_manifest.py |
Walks figures_v2/ and writes the figures manifest |
website/build_dataset_json.py |
Converts dataset/output/*.parquet into per-table JSON for datasets.html |
website/figures_render.py |
Renders heatmaps + spheres + triptychs + spectra from atlas NPYs into figures_v2/ |
website/figures_compare.py |
Renders 10 curated cross-system comparison panels |
website/preprocess_atlas_data.py |
Converts raw .npy atlas data to web-friendly JSON + Float32 binary (for interactive.html) |
website/render_knee_index.py |
Spectral decay knee index renderer for dashboard |
After any new atlas data lands locally, the Figures page is rebuilt with three commands:
python website/figures_render.py # adds new heatmaps/spheres/triptychs to figures_v2/
python website/figures_compare.py --force # refreshes the 10 comparison panels
python website/build_figures_manifest.py # rewrites website/data/figures/manifest.jsonThe Datasets page is rebuilt after a dataset/build_dataset.py run with one command:
python website/build_dataset_json.py # Parquet → per-table JSON in website/data/datasets/See docs/atlas_compute_workorder.md for the full sync/render/deploy cycle including S3 + CloudFront commands.
| File | Description |
|---|---|
primes/run_gue_logas.py |
Dyson log-gas computation — 4 configs comparing GUE composite, pure log, Penning trap, harmonic |
primes/run_quantum_gue.py |
Quantum Moyal bracket computation — confirms ℏ-deformation preserves [3, 6, 17, 116] |
primes/level2_spectral_analysis.py |
Kirillov coadjoint orbit spectral analysis — BGS conjecture in algebraic structure |
primes/finite_n_gue_comparison.py |
Finite-N GUE comparison — tests spacing statistics against GUE(N) ensembles |
primes/multi_potential_r_comparison.py |
Multi-potential coadjoint orbit ⟨r⟩ comparison across all singular potentials |
primes/hilbert_polya_search.py |
Hilbert-Pólya operator search (superseded by infinite-dimensionality discovery) |
primes/diagnose_brackets.py |
4-test diagnostic validating bracket computation pipeline |
primes/check_1r_closure.py |
Closure test: the 116-dim level-3 span is not closed (116 → 306 at L4) |
primes/gue_prime_connection.tex |
Mathematical framework: Montgomery-Odlyzko → Dyson log-gas → pairwise Hamiltonians |
primes/launch_gue.py |
AWS EC2 spot launcher for GUE computation |
primes/userdata_gue.sh |
EC2 userdata template with S3 sync and checkpointing |
The project maintains a structured dataset at huggingface.co/datasets/bshepp/pairwise-poisson-algebras containing 997 rows across 13 Parquet tables: neural_algebras (Poisson algebras of linear neural networks across 12 coupling types — 7 universality classes at L=3), dimension_sequences, structure_constants, charge_sensitivity, mass_invariance, level4_convergence, spectral_statistics, physical_systems, bell_test, scaling_formulas, tier_decomposition, contextuality, and convergence_trajectories. After any computation campaign, rebuild the dataset:
pip install pandas pyarrow
python dataset/build_dataset.py # produces dataset/output/*.parquet
python dataset/validate_dataset.py # runs validation suiteSee dataset/README.md for full schema documentation, quick-start examples, and upload instructions.
pip install -r requirements.txt
# ⚠️ SymPy >= 1.13.3 is required — older versions produce incorrect
# results for unequal-mass systems (the 1.10.x lambdify bug).
# Levels 0–3 (equal masses, ~10 min)
python exact_growth.py
# Mass invariance (~50 min)
python unequal_mass_study.py
# Potential comparison (~30 min)
python potential_comparison.py
# Calogero-Moser verification (~10 min)
python run_cm_exact.pyLevel 4 computation requires an AWS instance (r6i.4xlarge recommended). See level4_highsample.py and aws_level4.py.
# Local: quick verification (level 2, ~2 min)
python primes/run_gue_logas.py --max-level 2
# Local: full computation (level 3, ~1 hour)
python primes/run_gue_logas.py --max-level 3
# AWS: dry run then launch
python primes/launch_gue.py --dry-run
python primes/launch_gue.py
# Monitor / pull results
aws s3 cp s3://3body-compute-290318/results/primes/live.log -
aws s3 sync s3://3body-compute-290318/results/primes/ primes/results/# Multi-epsilon atlas scan with charges (helium Coulomb)
python multi_epsilon_atlas.py scan --charges 2 -1 -1
# Targeted high-resolution scans of specific regions
python targeted_adaptive_scan.py --list # list regions
python targeted_adaptive_scan.py --region lagrange # one region
python targeted_adaptive_scan.py --both # reference + charged
python targeted_adaptive_scan.py --analyze --potential 1/r2 # generate plots
# Yukawa potential scan (with screening parameter)
python targeted_adaptive_scan.py --potential yukawa --yukawa-mu 0.7
# Logarithmic potential scan (2D vortex dynamics)
python targeted_adaptive_scan.py --potential log# Run all 21 dimension-sequence scenarios (requires S3_BUCKET env var)
cd nbody && python run_expansion_dimseq.py
# Run single scenario or category
python run_expansion_dimseq.py --scenario helium
python run_expansion_dimseq.py --category atomic
# Atlas scans across physical scenarios
cd .. && python run_expansion_atlas.py
python run_expansion_atlas.py --category atomic
# Composite/PN potential tests (128GB RAM recommended)
cd nbody && python run_pn_aws.py --max-level 3 --samples 500The survey is designed for AWS spot instances with S3 checkpointing, SIGTERM handling, and automatic resume. See infra/userdata_expansion_*.sh for bootstrap scripts.
Run the regression suite locally:
python test_regression.pyThis checks:
- SymPy version ≥ 1.13.3 (required for correct unequal-mass results)
NBodyAlgebra(N=3, 1/r): levels 0–2 give dimensions [3, 6, 17]- Planar engine (
exact_growth.py): levels 0–2 give [3, 6, 17] ThreeBodyAlgebra(d=2): levels 0–1 give [3, 6]- Schwarzschild composite (N=3, d=2): levels 0–3 give [3, 6, 17, 116]
GitHub Actions CI runs on pushes that touch the engines, registry, or tests (paths-filtered), and on every PR to main, testing Python 3.10 and 3.12. See .github/workflows/regression.yml.
Universality across potential types: The Calogero-Moser potential (integrable), Newtonian gravity (non-integrable), 1/r³, logarithmic, Yukawa, and composite potentials all produce the same dimension sequence [3, 6, 17, 116] for equal-mass N=3. This rules out interpreting super-exponential growth as a "non-integrability certificate." The growth is a structural algebraic invariant of pairwise potentials outside the exceptional set {r^1, r^2, r^3}.
Mass invariance: The dimension sequence [3, 6, 17, 116] is proved symbolically for generic masses over ℚ(m₁,m₂,m₃) — rank 116 holds for all mass triples outside a possible proper subvariety (none found), also confirmed numerically at 25+ mass ratios from 10⁻³ to 10⁶ (Mar 23, 2026). The original survey report of [3, 5, 13, 69] for unequal masses was a SymPy version artifact. Three extreme-mass-ratio systems (Sun-Earth-Moon, Sun-Jupiter-Asteroid, Triple BH LISA) still show SVD conditioning failures at their physical mass ratios in direct numerical runs, but the symbolic proof establishes the true rank is 116.
Mass invariance for charged systems: When charges couple the bodies, the dimension sequence remains mass-invariant. He (+2,−1,−1) with m_nucleus=7294 and Ps⁻ (+1,−1,−1) with m_positron=1 both give [3, 6, 17, 116].
Charge invariance: The dimension sequence is charge-invariant in everything tested. Integer charge magnitudes q=1..20 in the mixed-sign (+1,+q,−1) sweep give exact rank 116 over ℚ (nbody/charge_sweep_d1.py, charge_sweep_qqn_d1.json); same-sign configurations (Penning trap (+1,+1,+1), H₃⁺, O₃) also give 116. Early 500-sample runs reported Li⁺ (+3,−1,−1) → 111 and H₂⁺ (+1,+1,−1) → 115; revalidation at 1000–5000 samples (Mar 24, 2026, results/charge_sensitivity/charge_sensitivity_completion.json) reran the identical charges and physical masses and restored 116 in every case — undersampling artifacts, the same failure class as the SymPy-1.10 [3,5,13,69]. Levels 0–2 remain 3, 6, 17 universally.
This work was developed with the assistance of Claude (Opus 4.6), a large language model by Anthropic. Claude contributed the polynomial representation trick (u_ij = 1/r_ij), the computational pipeline, the adversarial review that identified the Calogero-Moser comparison as the decisive test, and all three manuscripts. All mathematical results were independently verified. Full details in docs/session_log.md.
If you use this software or its results, please cite this repository. Machine-readable metadata is provided in CITATION.cff (GitHub "Cite this repository") and .zenodo.json (used by the Zenodo–GitHub integration when a release is published). A DOI badge will be added here once the first Zenodo release is minted.
Code is released under the MIT License. Papers, figures, and the Hugging Face dataset are released under CC-BY-4.0. Please cite the papers if you use them.

