The clue the growth vector can’t give. Heisenberg and SE(2) have the same tangent cone, so no amount of zooming in tells them apart (Part 2). The difference only shows at finite scale, in how each group’s caustic refocuses. A Heisenberg geodesic refocuses exactly when its circle closes — at time $2\pi/|w|$ for vertical momentum $w$, a law we can prove and the code reproduces to machine precision. SE(2) is curved, and its geodesics refocus early — the more so the larger the loop:
| momentum $w$ | SE(2) refocus time ÷ flat law | reading |
|---|---|---|
| 4 (tight loops) | 0.985 | almost flat — approaching the tangent-cone limit |
| 1.41 | 0.901 | curvature showing |
| 0.5 (wide loops) | 0.658 | strongly early — 34% short of flat |
(Values: one minus the SE(2) entries of deviation_curves in artifacts/e1_results.json,
computed on the momentum grid $w = 0.5,\ 0.84,\ 1.41,\ 2.38,\ 4$ at launch angle $0.3$ rad.)
Average that shortfall over a range of momenta and you get a single number, the nilpotent-deviation $\delta$ — how far a group’s caustic departs from the flat model. Heisenberg scores $\delta \approx 0$ (it is the flat model); SE(2) scores $\delta \approx 0.14$. That gap is the whole ballgame: it’s the clue that breaks the tie the growth vector can’t.
The fingerprint, assembled. The classifier reads three things, in order:
- the growth vector → the class: $(2,3)$ = {Heisenberg, SE(2)}, $(2,3,4)$ = Engel, $(2,3,5)$ = Cartan;
- within $(2,3)$, the deviation $\delta$ → Heisenberg (flat) vs SE(2) (curved);
- the abnormal bit1 → a coarse, robust corroborator that splits the contact groups from Engel/Cartan.
Run it on noisy synthetic caustics from each group, 25 fresh realizations apiece, and tally what it guesses. That table is the confusion matrix.
research/caustics-to-groups/artifacts/e1_results.json (full run: 25 evaluation
seeds per group, threshold calibrated on 10 disjoint seeds).
Reading the matrix
Clean data: a near-perfect diagonal. Every group named correctly (one Cartan realization hedges to the coarse class — 24 of 25 exact). The Heisenberg/SE(2) tie that stumped the growth vector is broken cleanly by $\delta$: those two rows never bleed into each other, at any noise level in the study. The moduli component does exactly the job the series was premised on.
Under noise, it degrades the right way. Turn up the measurement noise and the contact groups (Heisenberg, SE(2)) stay pinned to the diagonal, while Engel and Cartan slide sideways — but into the green E/C column, the correct class, not into a wrong group. That green column is the abnormal bit doing its work: it asks only “how many directions can you drive?”, a question so coarse it survives noise that erases the fine growth-vector detail (in experiment E2, at noise 0.03, the full growth vector fails for Cartan in 20 of 20 trials, while the abnormal bit is right in 20 of 20). So the classifier’s exact-group accuracy falls with noise, but its class-level accuracy barely moves — from 1.00 to 0.98 (exact-group accuracy falls from 0.99 to 0.55 over the same range). It hedges honestly; it almost never guesses wrong. For a method meant to eventually face real data, falling back to “I can only narrow it to two” is exactly the right kind of failure.
The aliasing map: where a single clue is load-bearing
Which clue separates which pair? Running each observable on each pair gives a clean map, and it has exactly two rigidity points — pairs held apart by a single clue:
- Heisenberg vs SE(2) — identical growth vector, identical abnormal bit; separated only by $\delta$. Remove the deviation moduli and they become indistinguishable.
- Engel vs Cartan — both have abnormals, so that bit is useless here; separated only by the growth vector. Remove it and they collapse together.
Every other pair is separated redundantly (by growth vector and abnormal bit), and no pair is fully aliased under the complete kit. This is the honest rigidity statement the program wanted: not “everything is distinguishable”, but exactly which distinctions rest on which single piece of evidence — and therefore which would be lost first if that evidence were unavailable in the wild.
Calibrated silence: knowing when not to answer
The sharpest test of an inference method is whether it refuses when it should. A real cosmic-web caustic field is not a single group — it is a patchwork of sheets, filaments and nodes, each with different local structure. Point the detector at such a field and the honest answer is “there is no one group here.”
In the synthetic effective-flow control, no vector occupies even 40% of sampled base points, and the detector abstains. A later gravitational counterexample shows why that control cannot establish a physical inference from a cosmic-web flow: gravity supplies no controlled distribution, and a fold can imitate the pointwise scaling exponent.
Result and scope
The synthetic tests separate the stated candidate groups and map which distinctions depend on one observable. They establish neither an unrestricted inverse theorem nor identification from a lone local caustic germ. The effective-flow test below is a synthetic abstention control, not an observation of physical gravitational growth vectors.
The classifier result is restricted to these synthetic candidate models. Inference on an actual diffusion-MRI acquisition remains unmeasured. Synthetic SE(3) scope and full methods and evidence document the boundary.
Glossary
- Growth vector — how fast a group’s hidden dimensions fill in; sorts the four models into three classes (Part 2).
- Nilpotent deviation $\delta$ — how far a group’s caustic refocusing departs from the flat (Heisenberg) law; 0 for Heisenberg, ~0.14 for SE(2); breaks their tie.
- Abnormal bit — coarse yes/no for a distribution-forced kind of shortest path; splits contact groups from Engel/Cartan and is unusually noise-robust.
- Confusion matrix — rows = truth, columns = guess; a perfect classifier is a pure diagonal.
- Coarse label (E/C, H/S) — a class-level guess (“Engel-or-Cartan”) the classifier falls back to when noise blurs the exact group.
- Aliasing / rigidity point — a pair of groups separated by only one clue; removing it makes them indistinguishable.
- Calibrated silence — the method’s refusal to name a group when the data is an effective flow with no single homogeneous structure.
References
- A. Agrachev, D. Barilari & U. Boscain (2019). A Comprehensive Introduction to Sub-Riemannian Geometry. Cambridge University Press.
- A. Agrachev & D. Barilari (2012). "Sub-Riemannian structures on 3D Lie groups." J. Dyn. Control Syst. 18, 21–44. arXiv:1007.4970.
- L. Sacchelli (2019). "Short geodesics losing optimality in contact sub-Riemannian manifolds and stability of the 5-dimensional caustic." SIAM J. Control Optim. 57, 2362–2391. arXiv:1812.11340.
- Yu. L. Sachkov (2010). "Conjugate and cut time in the sub-Riemannian problem on the group of motions of a plane." ESAIM: COCV 16, 1018–1039. arXiv:0903.0727.
- J. Feldbrugge, R. van de Weygaert, J. Hidding & J. Feldbrugge (2018). "Caustic skeleton & cosmic web." JCAP 05, 027. arXiv:1703.09598.
-
Some geometries have a second kind of shortest path, forced by the shape of the allowed directions rather than the metric; whether they exist is a coarse yes/no (Heisenberg and SE(2): no; Engel and Cartan: yes) that survives noise well because it only asks how many directions you can drive, not the fine structure. ↩