From Caustics to Groups — experiments

From Caustics to Groups — experiments

Code for the research program scoped in the blog post _posts/2026-07-15-caustics-to-groups-research-program.md: given an observed field of caustics (the singular set of a sub-Riemannian exponential map), infer the underlying Lie-group structure — the reverse map. Built around the ADE group-blindness obstruction and the three structure-specific observables that escape it (tangent-cone growth vector; conjugate-locus symmetry and moduli at the pole; abnormal-geodesic stratum), matched by the nilpotent-deviation statistic. Full derivation in docs/METHODS.md.

Layout

Status

Results at a glance

Experiment Hypothesis Verdict
E0 growth-vector recovery H1 identifiability confirmed
E1 fingerprint + confusion matrix H2 discrimination confirmed
E2 aliasing map + abnormal leg H3 rigidity confirmed
E4 calibrated silence H4 (no half) confirmed (right verdict, wrong reason — see E5)
SE(3) synthetic field H4 (yes half, mechanism) confirmed
real DW-MRI acquisition H4 (yes half, real data) pending credentialed data
E10 fold check at first conjugate points group-blindness premise (folds) confirmed on sample: SE(2), Engel, Cartan 24/24 folds; Heisenberg control 0/24
E11 cusps on the first conjugate locus every tangency point on Engel/Cartan is an A3 cusp calibration passed (SE(2): 16/16, 4 per loop); partially confirmed, refuted as stated: Engel 7 of 21 and Cartan 16 of 38 located points pass all pre-registered A3 checks (|τ| ≤ 1e-4, corank 1, simple zero, image exponents 2 ± 0.2 and 3 ± 0.4), 10 and 7 more on a finer scale (post hoc); 4 and 10 are degenerate non-A3 tangencies (Heisenberg-type collapse at 10 of 14); 5 Cartan points undecided
E11 fold test in dimension 6 fold at 24/24 first conjugate points SE(3) nilpotent cone: refuted, 0/24 (collapsed like Heisenberg); curved SE(3): 23/24 (one at transversality 1.1e-4 < 1e-3)
E5 gravity has no SR structure H-A (astrophysics Phase A) confirmed; refuted our own Q>n criterion

Astrophysics phase

Plan: docs/PLAN-astrophysics-local-groups.md. E5 done (docs/E5-no-sr-structure-in-gravity.md): gravity is a deterministic flow, not a control system — no distribution, no growth vector. The R³×S² lift’s constraint is a tautology (residual 5e-16 for any smooth flow), so the growth vector measures the instrument. And a Zel’dovich fold fakes Heisenberg’s Q=4 exactly, so Q>n pointwise is not sufficient; the correct criterion is Q>n on a set of full measure (Zel’dovich 0%, Heisenberg 100%). Next: Phase B — the deformation-tensor isotropy stratification, validated against the published D₄-umbilic criterion (first external validation in this repo).

E6 done (docs/E6-local-symmetry-doroshkevich.md) — the programme’s first external validation. The local group of the cosmic web is the isotropy group of the deformation tensor, stratified by eigenvalue degeneracy. Measured against Doroshkevich (1970): the Hessian covariance matches theory (0.2025 vs 1/5; 0.0664 vs 1/15), the eigenvalue law matches to ~0.1% (KS D ≈ 0.002), and the Vandermonde-induced eigenvalue repulsion is confirmed (α = 0.973 vs 1.0). Hence the SO(2)-symmetry stratum has codimension 2 (curves, β = 1.944 vs 2.0), and D₄ umbilics — degeneracy ∩ fold, corank 2 — are isolated points. Local groups are detectable; they are found with the deformation tensor, never a growth vector.

E8 done (docs/E8-magnetized-plasma.md) — the technique’s astrophysical home. Suppressed cross-field transport is anisotropic Riemannian (Q=n even at D⊥/D∥ = 1e-6), and D⊥→0 gives an integrable rank-1 foliation. But on the extended (position, flux) space, [X₁,X₂] = B ∂_z, so the structure is contact wherever B≠0: Q=4>n=3 on full measure (30/30 base points), and for uniform B the frame is literally Heisenberg. At a magnetic null the weight jumps 2→3 (Martinet), Q: 4→5 — so the growth vector is a magnetic-null / reconnection-site detector.

The astrophysics phase is complete. Gravity: no SR structure (E5). Cosmic-web local groups: isotropy groups of the deformation tensor, externally validated (E6). SR technique’s home: magnetized flux geometry (E8).

Reproduce

cd research/caustics-to-groups
python3.13 -m venv .venv && .venv/bin/pip install numpy scipy
.venv/bin/python scripts/smoke_test.py     # model + detector + M1 + classifier + golden
.venv/bin/python scripts/run_e0.py         # E0 growth-vector recovery sweeps (~30s)
.venv/bin/python scripts/run_e1.py         # E1 fingerprint + confusion matrix (~20s)
.venv/bin/python scripts/run_e2.py         # E2 aliasing map + M4 vs M1 (~30s)
.venv/bin/python scripts/run_e3e4.py       # E4 calibrated silence + SE(3) (~15s)
.venv/bin/python scripts/run_e5.py         # E5 gravity has no SR structure (~5s)
.venv/bin/python scripts/run_e6.py         # E6 Doroshkevich validation (~10s)
.venv/bin/python scripts/run_e8.py         # E8 magnetized plasma (~30s)
.venv/bin/python scripts/run_e10.py        # E10 fold check at conjugate points (~7 min)
.venv/bin/python scripts/run_e11.py        # E11 cusp search + SE(3) fold test (~3.5 min; reads e10_results.json for a cross-check)
# full runs = no flag; --quick is a smoke configuration with different numbers