Kalman rewrote a system as a single first-order vector ODE — ẋ = Ax + Bu, y = Cx + Du — and the whole future became one object: the state. Down the center the state flows: the system goes in, the engine propagates it with eAt, the modes and transfer function come out. The blue team builds and defends it; the red team tries to break it.
source R. E. Kalman, On the General Theory of Control Systems, Proc. First IFAC Congress (Moscow, 1960), Butterworths, London, pp. 481–492 — where “controllability” and “observability” are named. IFAC Proceedings reprint (paywalled). Rendered, not quoted.
One 2×2 companion of the physics ẋ = A x, with a known spectrum:
| 0 | −1 |
| 2 | −3 |
trace = −3 = λ₁+λ₂, det = 2 = λ₁λ₂ ⟹ eigenvalues λ = −1, −2 (both Re<0). The solution operator is the matrix exponential eAt = V diag(eλt) V⁻¹; its columns are the natural modes.
Live modes at the panel's t:
Reduce a system to its state and a first-order ODE and you get the continuous-time cousin of the-markov-chain: there a stochastic matrix steps the distribution; here eAt steps the state, and A is the generator.
This same (A,B,C) is what the-controllability (can B steer every state?), the-observability (can C see every state?), and the-kalman-filter all act on. The state space is the stage; they are the plays. Each sphere is the next one's premise.
The blue team's live check: recompute eAt from scaling-and-squaring and re-test the semigroup law eA(t+s) = eAteAs, the match to the eigendecomposition, and the known spectrum. If red tampers, this badge is where it shows.
An LTI system is four matrices and a start point. Here, constructed so every answer is closed-form checkable:
| value | role | |
|---|---|---|
| A | [[0,−1],[2,−3]] | dynamics (2×2) |
| B | [1, 0]ᵀ | input map |
| C | [1, 0] | output map |
| D | 0 | feedthrough |
| x₀ | editable | initial state |
The free response is x(t) = eAtx₀; the input-output law is H(s) = C(sI−A)⁻¹B + D. Feed t and a test s into the panel below.
eAt is computed live by scaling-and-squaring the Taylor series — never a stored formula. Both eigenvalues are negative, so every trajectory falls to the origin.
Change t, x₀ or s — the exponential, the trajectory and H(s) are computed on the spot, never looked up.
What the machine produces, proven closed-form to 1e-9: spectrum λ = −1, −2; the system is controllable and observable (both rank 2); the transfer function is H(s) = (s+3)/((s+1)(s+2)); and since every eigenvalue has negative real part, the zero-input response decays to 0. The current eAt and x(t) are above.
The blue team's witness (left) re-checks eAt live; the red team (right) tries to make it wrong.
And LTI is an assumption: real plants are nonlinear, time-varying, and infinite-dimensional (PDEs, delays). eAt is exact only for the linearization. A minimal realization also requires controllability and observability together — miss either and the state space hides modes the transfer function can never show.
“eAt ≈ I + At.” Cut. That is the first-order term only; it breaks the semigroup law for any nonzero t,s. The engine sums the scaled series and squares back — exact to machine precision. (This is exactly what the TAMPER plants.)
“Kalman invented state space.” Cut. State variables are Poincaré-old; Kalman's 1960 move was to make controllability & observability the questions — and to give them a rank test.
“Negative determinant ⟹ unstable.” Kept, corrected. Stability is the eigenvalues' real parts, not det(A). Here det = +2 and the system is stable because λ = −1,−2.
The red team's move: replace the exponential with its first-order stub eAt → I + A t. The zero-input curve still looks plausible for small t — but the semigroup law now fails. The blue team's witness (window 7) is watching.
Swap in I+At and eA(t+s) no longer equals eAteAs — the witness recomputes, disagrees, and turns red. Nothing is faked; the attack is real and it is caught.