Lab › From Caustics to Groups › Part 3 of 4 · read the findings

The Inverse Map: Reading the Fingerprint

Now we run the reverse. Given noisy caustic data, can we name the group? This post is the payoff of the series: the three-part fingerprint, the confusion matrix that grades it, the two "rigidity points" where a single clue is all that separates a pair — and the honest silence the method keeps when the data isn't a group at all. Every number is from the code in research/caustics-to-groups/.

By Igor Moiseev · 22 July 2026
From Caustics to Groups
  1. From Caustics to Groups: Identifiability and Its Limits
  2. The Forward Map: Caustics of the Model Groups
  3. The Inverse Map: Reading the Fingerprint ← you are here
  4. Synthetic SE(3): What the Abstention Test Establishes
Appendices — theory background (6)
  1. C1. The Model Groups, by Example: Real-World Sub-Riemannian Systems
  2. C2. Caustics as Lagrangian Singularities (Arnol'd's ADE List)
  3. C3. The Tangent Cone: Carnot Groups and Growth Vectors
  4. C4. The Conjugate Locus at the Pole: Astroids and Their Moduli
  5. C5. Abnormal Geodesics: The Yes/No Fingerprint
  6. C6. The Nilpotent-Deviation Statistic
Where we are
Part 1 set the goal (caustics in, group out) and the obstruction (local caustics are group-blind). Part 2 built the forward model and the first real clue — the growth vector, which sorts the four model groups into three classes but declares Heisenberg and SE(2) identical. This post runs the inverse, splits that last tie, grades the whole thing with a confusion matrix, and maps exactly where it can and cannot succeed.

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:

  1. the growth vector → the class: $(2,3)$ = {Heisenberg, SE(2)}, $(2,3,4)$ = Engel, $(2,3,5)$ = Cartan;
  2. within $(2,3)$, the deviation $\delta$ → Heisenberg (flat) vs SE(2) (curved);
  3. 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.

The confusion matrix (experiment E1). Rows are the true group, columns the classifier's guess, over 25 realizations per group; darker = more. The first four columns are exact group labels; E/C and H/S are coarse guesses ("it's Engel-or-Cartan / Heisenberg-or-SE(2)") the classifier falls back to when noise blurs the fine detail. Clean data: an essentially perfect diagonal (one Cartan realization hedges to E/C), the Heisenberg/SE(2) tie broken by $\delta$. As noise rises the step-3 groups (Engel, Cartan) slide into the E/C coarse column — the correct class — and never into a wrong exact group; the only wrong answers in the three matrices are 2 of 25 Engel realizations at noise 0.03 that land in the wrong coarse class H/S. The failure mode is honest hedging, not confident error. "Exact" accuracy counts the diagonal; "class" accuracy also counts a coarse label that contains the true group; both are out of 100 realizations (chance 0.25). Noise is the standard deviation of Gaussian jitter added to geodesic endpoints, in group units; 400 geodesics per realization. Data: 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:

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

References

  1. A. Agrachev, D. Barilari & U. Boscain (2019). A Comprehensive Introduction to Sub-Riemannian Geometry. Cambridge University Press.
  2. A. Agrachev & D. Barilari (2012). "Sub-Riemannian structures on 3D Lie groups." J. Dyn. Control Syst. 18, 21–44. arXiv:1007.4970.
  3. 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.
  4. 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.
  5. J. Feldbrugge, R. van de Weygaert, J. Hidding & J. Feldbrugge (2018). "Caustic skeleton & cosmic web." JCAP 05, 027. arXiv:1703.09598.
  1. 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. ↩