Cookie Consent by Free Privacy Policy Generator The Inverse Map: Reading the Fingerprint | Igor Moiseev
Lab › From Caustics to Groups › Part 3 of 4 · start at Part 1

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: A Research Program
  2. The Forward Map: Caustics of the Model Groups
  3. The Inverse Map: Reading the Fingerprint ← you are here
  4. In the Wild: DW-MRI, and Where the Method Stays Silent
Appendices — Theory Background
  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
8 (tight loops) 0.996 almost flat — the tangent-cone limit
2 0.945 mild curvature showing
0.5 (wide loops) 0.658 strongly early — 34% short of flat

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: a perfect diagonal — every group named correctly, 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 essentially never into a wrong group. The failure mode is honest hedging, not confident error. Data: research/caustics-to-groups/artifacts/e1_results.json.

Reading the matrix

Clean data: a 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 (at one particular noise level the full growth vector fails for Cartan 100% of the time, while the abnormal bit is still right 100% of the time). So the classifier’s exact-group accuracy falls with noise, but its class-level accuracy barely moves — from 1.00 to 0.96. It hedges honestly; it does not guess 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.”

It gives that answer. Sampling the growth vector at many points across a genuine group returns the same vector everywhere → a confident label. Sampling across a modelled effective flow returns a mixture — $(2,3)$, $(2,3,4)$, $(2,3,5)$ all present, no single vector holding even 40% — and the detector reports “a field of varying tangent cones” rather than inventing a group. That is the calibrated silence promised in Part 1: the method mapping the edge of its own competence, refusing to read a group into a flow that hasn’t got one.

The verdict, and the frontier

The reverse map works — with a stated envelope. From caustic data alone the detector recovers the group when the geometry is homogeneous, breaks the one alias the coarse fingerprint can’t, degrades into honest class-level hedging rather than wrong answers as noise grows, names exactly which distinctions are single-clue fragile, and stays silent when handed a flow that isn’t a group. The group-blindness obstruction of Part 1 is real, and the escape — the triple fingerprint, never a local germ — is what makes the inverse possible.

What remains is the genuine wild: the $\mathrm{SE}(3)$ structure of diffusion-MRI fibre fields, where the configuration space really is a group and the data is real and noisy. That is the next frontier (Part 4) — and the calibrated-silence machinery above is exactly what will keep the answer honest when we get there. The full, reproducible code, every experiment, and the methods derivation live in research/caustics-to-groups/.

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. ↩