# Advanced state representations: mathematical audit

Revision: September 5, 2026. The displayed equations, explanatory notes, numerical models, and diagram construction were reviewed together. The tests below are reproducible checks, not a formal proof of a general SLAM implementation.

## Corrections and clarifications

| Area | Original issue or ambiguity | Revised treatment |
| --- | --- | --- |
| Tangent geometry | Offset lines and marked points did not describe a common tangent construction. | The exact SO(2) circle uses p(theta), its derivative, the tangent through p, and separate straight/Exp endpoints. The circle is not mislabeled as SO(3). |
| Frame drawing | Freehand body axes did not consistently use the same handedness as the world axes. | Every frame is drawn by transforming its local basis with the displayed homogeneous matrix, using equal spatial scales and a consistent screen-y conversion. |
| Rotation shortcut | A direction-only picture can hide loss of group constraints. | Both columns, determinant, Frobenius orthogonality error, and unwrapped angular bias are shown. The deliberate Euler approximation error is distinguished from floating-point roundoff. |
| Lie conventions | Twist ordering, Log branches, and the Jacobian side were insufficiently explicit. | Column vectors; body-to-world T; translation-first twists; right updates; explicit SO(3) J_l and J_r; principal/local Log caveats. The SO(3) and SE(3) Jacobian dimensions are distinguished. |
| Pose exponential | Finite translation/rotation coupling needed explanation. | SE(3) Exp uses J_l(phi) rho. Pure translation is identified as a special case. |
| Optimization | The loop was described without a worked residual and derivative. | A fixed-correspondence point-fitting objective has an explicitly derived right-perturbation Jacobian and actual Gauss–Newton iterations. The residual sign and backtracking are stated. |
| Spline diagram | Triangular schematic bases did not justify a cubic four-control connection pattern. | Real Cox–de Boor bases, exact selected support, nonzero-index readout, and an analytic derivative. “At most degree + 1” replaces an unconditional four-active claim. |
| Spline conventions | Degree/order, knots/coefficients, and endpoint derivatives needed separation. | These are defined before use. Open clamping, zero-denominator terms, one-sided endpoint derivatives, knot continuity, and noninterpolation of generic cubic controls are explained. |
| Kernel equations | The inverse form depends on rank and whitening assumptions. | The coefficient and observation priors are explicit. K = Psi Psi^T may be singular; the inverse-free mean is given before the SPD-only normal equations. |
| GP laboratory | The prior demo used a finite-control random walk with deterministic interpolation, not full continuous-process uncertainty. | Replaced with exact linear SDE inference on a grid containing all observation timestamps and exact conditional bridges. A separate dense GP kernel calculation checks its posterior. |
| GP uncertainty | A linearly propagated control covariance is not the full continuous-time query covariance. | Support covariance, endpoint cross covariance, and conditional bridge covariance are included. The shaded band is pointwise latent-position uncertainty, not simultaneous coverage or measurement prediction. |
| Markov sparsity | Sparsity depends on which state is retained and on factor structure. | The CV state includes velocity. The notes and tests show how marginalizing velocity can destroy position-only tridiagonality. Nonlocal factors can also destroy a banded posterior. |
| GP smoothness | Smooth mean curves can be confused with differentiable random sample paths. | Position random-walk and integrated-Wiener sample-path regularity are stated separately from their posterior mean shapes. Process spectral-density units change between the two demo priors. |
| Group interpolation | A two-control formula alone does not explain a higher-order spline. | Two-pose constant-twist interpolation and ordered cumulative Lie-group splines have separate slides. Product order and compatible logarithm branches are explicit. |
| Alternative pose paths | Different paths can be mistaken for invalid representations. | Raw matrix blending is contrasted with TWO valid models: constant-twist group interpolation and split rotation/translation interpolation. No unspecified SE(3) shortest-path claim is made. |
| Lie-group GP | A local vector construction should not be described as a globally Gaussian pose process. | The fixed-reference chart, SE(3) coordinate-rate Jacobian, and approximation boundary are stated. The scalar GP lab is not claimed to implement the full pose-valued construction. |
| Static drawings | Hand-positioned snapshots could disagree with live numbers. | Seven SVG fallbacks and all live figures are generated by the same model and renderer at identical defaults. |

## Independent mathematical checks

Run from the repository root:

```sh
node --test advanced-state-representations/tests/lesson-math.test.cjs
node advanced-state-representations/test-model.cjs
node advanced-state-representations/build.mjs
```

The new suite checks tangent orthogonality; the exact Euler-shortcut scale and angle; SO(3)/SE(3) exponentials against an independent matrix-exponential series; SE(2) inverse and principal-Log round trips; exact finite adjoint identities; left/right differentials and the sensor Jacobian by finite perturbations; descent and convergence for the displayed fixed-association fitting problem; interpolation endpoints and matrix-blend singularity; spline nonnegativity, partition of unity, local support, independent interior cubic formulas, and analytic derivatives; SDE covariance against numerical integration; Markov precision structure; velocity marginalization; and exact GP means/variances against an independently assembled dense kernel and an augmented-state solve.

The previous `model.js`, `test-model.cjs`, `live/app.js`, and `live/styles.css` are retained as legacy regression fixtures, but the presentation and live entry point no longer import their models. The original finite-control GP remains correctly limited to its own assumptions; it has not been relabeled as an exact continuous-time GP.

## Browser and generated-page checks

The scoped GitHub Actions workflow rebuilds the generated deck and study companion, runs both numerical suites, exercises the presentation in Chromium, and records screenshots and a JSON report. The browser checks every regular slide, MathJax output, all live controls at their extrema, reset and action buttons, iframe lifecycle, slider keyboard ownership, Escape focus return, cross-frame Page Down navigation, print fallbacks, mobile page overflow, and the full study companion. It also checks deterministic rebuilding before committing generated output.

The implementation preserves all original named slide routes and the existing Bento runtime payload. It adds no state-only slides or launch-button detours. Build/runtime changes are scoped to this presentation and its dedicated test workflow.

## Model boundaries

Spatial demonstrations are SE(2)/SO(2) teaching examples where labeled. The displayed 3D formulas use the declared SE(3)/SO(3) conventions. No broad or multimodal pose posterior is claimed to be well represented by one local Gaussian. No dataset, timing benchmark, global nonlinear convergence guarantee, or production sparse solver is claimed.

The exact GP demonstration keeps states at all observation timestamps plus its interval endpoints. It demonstrates SDE factorization, exact interpolation, and uncertainty; it does not demonstrate compression to fewer support times than observations. A compressed support-only construction would need a correct treatment of stochastic interior measurements and their conditional correlations, not just deterministic interpolation plus a query-only variance patch.

## Primary references

1. Barfoot, Dellaert, Kaess, and Blanco-Claraco, **Advanced State Variable Representations**, SLAM Handbook, Chapter 2. The public-release repository supplies the 2026 citation: https://github.com/SLAM-Handbook-contributors/slam-handbook-public-release
2. Solà, Deray, and Atchuthan, **A micro Lie theory for state estimation in robotics**, 2018: https://arxiv.org/abs/1812.01537
3. SciPy, **BSpline** mathematical definition and knot conventions: https://docs.scipy.org/doc/scipy/reference/generated/scipy.interpolate.BSpline.html
4. Barfoot, Tong, and Särkkä, **Batch Continuous-Time Trajectory Estimation as Exactly Sparse Gaussian Process Regression**, RSS 2014: https://www.roboticsproceedings.org/rss10/p01.html
5. Sommer, Usenko, Schubert, Demmel, and Cremers, **Efficient Derivative Computation for Cumulative B-Splines on Lie Groups**, CVPR 2020: https://arxiv.org/abs/1911.08860
6. Dong, Boots, and Dellaert, **Sparse Gaussian Processes for Continuous-Time Trajectory Estimation on Matrix Lie Groups**, technical report, 2017: https://arxiv.org/abs/1705.06020
