The Kalman Decomposition
A linear time-invariant (LTI) system is \(\dot x = Ax + Bu,\; y = Cx\) (feedthrough \(D\) added where noted). Here \(x\in\mathbb{R}^n\) is the state, \(u\in\mathbb{R}^m\) the input, \(y\in\mathbb{R}^p\) the output; \(A\in\mathbb{R}^{n\times n}\), \(B\in\mathbb{R}^{n\times m}\), \(C\in\mathbb{R}^{p\times n}\). \(G(s)=C(sI-A)^{-1}B+D\) is the transfer function: the input–output map at zero initial condition. \(\mathcal{C}=\begin{bmatrix}B&AB&\cdots&A^{n-1}B\end{bmatrix}\) is the controllability matrix and \(\mathcal{O}=\begin{bmatrix}C\\CA\\ \vdots\\ CA^{n-1}\end{bmatrix}\) the observability matrix (bold \(\mathcal{C},\mathcal{O}\) vs. plain \(C\) — sorry, tradition). \(\operatorname{im}\) = column space, \(\ker\) = null space, \(\mathcal{R}=\operatorname{im}\mathcal{C}\) is the reachable subspace, \(\mathcal{N}=\ker\mathcal{O}\) the unobservable subspace, \(\lambda\) an eigenvalue, \(T\) a change-of-basis matrix, and a bar (\(\bar A,\bar x\)) marks coordinates after the change of basis. Reachable and controllable are used interchangeably: for LTI systems the two notions coincide (steering \(0\to x\) and \(x\to 0\) are the same problem run backwards in time).
1Same behavior, different machinery
An LTI system can be described in two languages. Externally, by its transfer function \(G(s)\) — the black-box relation between input and output that a frequency response or a step test can identify. Internally, by a state-space model \((A,B,C)\) — the full machinery of \(n\) coupled states. The internal description contains strictly more information than the external one, and the slack is the whole story of this page.
Why does the slack exist? Two ways a part of the machinery can hide from the outside world:
- The input cannot reach it (some directions of motion are never excited by \(u\));
- The output cannot see it (some motion leaves no trace in \(y\)).
And why care? Three practical reasons. (1) Minimality: if some states can neither be driven nor observed, simulating or controlling them is wasted effort — the smallest model that reproduces \(G(s)\) is what you want. (2) Safety: an internal mode can be unstable while \(G(s)\) looks perfectly stable — external (BIBO) stability does not imply internal stability, and §5 shows a system whose output stays calm while a state inside diverges. (3) Design limits: feedback can never move poles it cannot reach, and an observer or filter can never reconstruct a state the sensor cannot see. The Kalman decomposition turns all three statements from folklore into exact bookkeeping.
2The two questions: controllability and observability
The decomposition is built from two yes/no questions that you ask of the dynamics:
- Q1 (controllability). Can the input steer the state anywhere in \(\mathbb{R}^n\)?
- Q2 (observability). Does a record of \(u(\cdot)\) and \(y(\cdot)\) over any finite interval determine the state uniquely?
Q1: where can the input take the state?
Starting from \(x(0)=0\), the solution formula gives \(x(t)=\int_0^t e^{A\tau}B\,u(t-\tau)\,d\tau\), so the set of reachable states is the span of \(\{e^{A\tau}B\}\) over all \(\tau\) — a linear subspace. By the Cayley–Hamilton theorem \(A^n\) is a linear combination of \(I,A,\dots,A^{n-1}\), so every higher power in the exponential’s series adds no new directions; the span collapses to
The pair \((A,B)\) is controllable exactly when \(\operatorname{rank}\mathcal{C}=n\), i.e. \(\mathcal{R}=\mathbb{R}^n\). There is also a sharper, per-eigenvalue test (Popov–Belevitch–Hautus, PBH). Suppose some left eigenvector satisfies \(w^{\mathsf T}\!A=\lambda w^{\mathsf T}\) and \(w^{\mathsf T}\!B=0\). Then \(w^{\mathsf T}\dot x=\lambda\,w^{\mathsf T}x\) — the scalar \(w^{\mathsf T}x\) obeys a homogeneous law that the input provably cannot enter, so the mode \(e^{\lambda t}\) is unreachable. The mode test is:
Q2: what can the output rule out?
With the input known, the forced part of the response is known; the unknown is the initial state, which enters only through \(y(t)=Ce^{At}x_0\). Two initial states are indistinguishable exactly when their difference \(x_0\) produces \(Ce^{At}x_0\equiv 0\). Expanding by Cayley–Hamilton as before, this happens iff \(Cx_0=CAx_0=\cdots=CA^{n-1}x_0=0\). So the unobservable subspace is
and \((A,C)\) is observable iff \(\operatorname{rank}\mathcal{O}=n\), i.e. \(\mathcal{N}=\{0\}\). The PBH dual: if a right eigenvector satisfies \(Av=\lambda v\) with \(Cv=0\), then \(Ce^{\lambda t}v=0\) — that modal motion never appears in \(y\) at all:
Two structural facts that power everything later
- Duality. \(\mathcal{O}(A,C)^{\mathsf T}=\mathcal{C}(A^{\mathsf T},C^{\mathsf T})\) — transposing the observability matrix reproduces the controllability matrix of the transposed pair. So \((A,B)\) is controllable iff \((A^{\mathsf T},B^{\mathsf T})\) is observable: the two questions are transposes of each other, which is why observer design and controller design mirror one another.
- Invariance. \(A\,\mathcal{R}\subseteq\mathcal{R}\) (multiplying \(\mathcal{C}\) by \(A\) shifts its Krylov blocks, and \(A^nB\) is spanned by the earlier ones) and \(A\,\mathcal{N}\subseteq\mathcal{N}\) (if \(CA^kx=0\) for all \(k\), then \(CA^k(Ax)=0\) too). In words: motion that starts reachable stays reachable; motion invisible to \(y\) stays invisible. These two invariances are exactly what force the block-zero pattern in §4.
3The four-way map of state space
Now ask both questions of every direction in state space. Using the reachable subspace \(\mathcal{R}=\operatorname{im}\mathcal{C}\) and the unobservable subspace \(\mathcal{N}=\ker\mathcal{O}\), the state space splits into four subspaces according to the two answers. The map below is the heart of the theorem.
(\(r\))
(\(\bar r\))
Three clarifications that prevent common misreadings. (1) These are subspaces — whole families of directions — with dimensions \(n_1,n_2,n_3,n_4\) summing to \(n\); a concrete state vector generally has components in several blocks at once. (2) The partition is a change of viewpoint, not a physical disassembly: §4 simply chooses coordinates aligned with it. (3) The splitting inside each intersection is not unique — only the four dimensions, and the zero pattern they force, are canonical.
4The canonical form
To compute with the map, choose new coordinates \(\bar x = T^{-1}x\) whose basis vectors span, in order, a complement structure adapted to \(\mathcal{R}\) and \(\mathcal{N}\): block 1 inside \(\mathcal{R}\cap\mathcal{N}\), block 2 filling out \(\mathcal{R}\), block 3 filling out \(\mathcal{N}\), block 4 the remainder. In these coordinates the two invariances of §2 force a triangular zero pattern:
- \(A\mathcal{R}\subseteq\mathcal{R}\) — motion starting in blocks 1–2 never leaks into blocks 3–4, so rows 3–4 under columns 1–2 must vanish (a nonzero entry there would make unreachable directions reachable — contradiction);
- \(A\mathcal{N}\subseteq\mathcal{N}\) — motion starting in blocks 1 and 3 stays invisible, so columns 1 and 3 can have entries only in rows 1 and 3 (a leak into measured block 2 or 4 would make those states observable — contradiction);
- \(\operatorname{im}B\subseteq\mathcal{R}\) — the input can only create reachable states, so \(\bar B\) vanishes in rows 3–4;
- \(\mathcal{N}\subseteq\ker C\) — unobservable states produce zero output, so \(\bar C\) vanishes on blocks 1 and 3.
every state mixes everything
\(\bar x = T^{-1}x\)
\(\mathcal{R}\) and \(\mathcal{N}\)
here only
pushed, never filmed
the block \(G(s)\) describes
the ghost
filmed, never pushed
The punchline, in three lines
Take the canonical form at zero initial condition. First, blocks 3 and 4 are autonomous — their rows contain no \(u\) and receive no coupling from the driven blocks — so zero initial conditions keep them identically zero. Second, what remains is \(\dot{\bar x}_2 = A_{ro}\bar x_2 + B_{ro}u\) (block 1 is driven by \(u\) through \(B_{r\bar o}\), but nothing it does ever reaches \(y\) — that is what \(\mathcal{N}\)’s invariance bought us). Third, \(y = C_{ro}\bar x_2 + Du\). Therefore
Three quarters of the machinery — blocks 1, 3, 4 — appears in no input–output experiment, ever. Block 1 is the subtle one: it is pushed by the input, yet invisible, because its motion never leaks into measured coordinates.
Consequences fall out immediately. The eigenvalues of \(\hat A\) are those of the four diagonal blocks (the matrix is block triangular), but only eigenvalues of \(A_{ro}\) can be poles of \(G(s)\). Dropping blocks 1, 3, 4 leaves \((A_{ro},B_{ro},C_{ro})\), which is by construction both controllable and observable — a minimal realization of \(G(s)\) (Kalman: a realization is minimal iff controllable and observable; all minimal realizations of the same \(G\) are related by a change of basis). Its order is the McMillan degree of \(G\) — the number of states any experiment can support. And the gap between \(G(s)\) stable and the internal dynamics stable is exactly unstable eigenvalues in blocks 1, 3, 4.
5Worked example: a system with a ghost
Enough structure — let us push numbers through it. Take a fourth-order system that is already in modal coordinates (the general case only mixes these blocks by a change of basis):
The two rank tests partition the four modes. For controllability, \(\mathcal{C}=\begin{bmatrix}B&AB&A^2B&A^3B\end{bmatrix} =\begin{bmatrix}1&-1&1&-1\\1&-2&4&-8\\0&0&0&0\\0&0&0&0\end{bmatrix}\) has rank 2 — modes 3 and 4 get no input path. For observability, \(\mathcal{O}=\begin{bmatrix}C\\CA\\CA^2\\CA^3\end{bmatrix} =\begin{bmatrix}0&1&0&1\\0&-2&0&-0.5\\0&4&0&0.25\\0&-8&0&-0.125\end{bmatrix}\) has rank 2 — modes 1 and 3 leave no trace in \(y\). Intersecting the two answers places every mode in the map of Fig. 2:
Now stare at what an input–output experiment can and cannot learn. Feeding \(u\) and recording \(y\), this system is exactly as informative as the scalar system \(\dot x = -2x + u,\ y=x\): one pole at \(-2\), BIBO stable, pleasant. Meanwhile mode 3, \(\lambda=+2\), doubles roughly every \(0.35\) time units whenever an initial condition or an unmodeled disturbance touches it — and it can neither be seen in \(y\) (row \(C_3=0\), and no coupling out of the unobservable subspace) nor stopped by any feedback (no \(B_3\), and no path from the driven blocks back into it). This is the precise, non-metaphorical gap between external stability (poles of \(G\)) and internal stability (eigenvalues of \(A\)).
The same map tells you, at a glance, the fate of any unstable mode — which is why the decomposition’s vocabulary (controllable, observable) is stamped all over control design theorems:
| Unstable mode lives in… | In \(G(s)\)? | Feedback can move it? | Observer can see it? | Verdict |
|---|---|---|---|---|
| \(\mathcal{X}_{ro}\) | yes | yes | yes | you watch it diverge and stop it — the healthy case |
| \(\mathcal{X}_{r\bar o}\) | no | yes | no | stabilizable but not detectable: fixable, but blindfolded |
| \(\mathcal{X}_{\bar r o}\) | no | no | yes | detectable but not stabilizable: an alarm you cannot silence |
| \(\mathcal{X}_{\bar r\bar o}\) | no | no | no | the nightmare: internal instability no experiment can ever detect |
A practical footnote: to actually find \(T\) for a generic (non-modal) \((A,B,C)\), one extracts bases for \(\operatorname{im}\mathcal{C}\) and \(\ker\mathcal{O}\) — in numerical practice via orthogonal staircase algorithms, which are the standard route in control software; §7 mentions the refinement that made this the basis of model reduction.
6Two pendulums: where dead modes come from
Unreachable and unobservable modes are not pathological curiosities — they are what symmetry looks like inside a state-space model. The cleanest physical specimen: two identical pendulums driven by one actuator that pushes both equally, \(\ddot\theta_i=-\omega_0^2\theta_i+b\,u\) for \(i=1,2\) — one shared input, identical natural frequency \(\omega_0\).
\(\ddot\sigma_+=-\omega_0^2\sigma_+ + 2bu\)
no input path, \(\ddot\sigma_-=-\omega_0^2\sigma_-\)
Two variants drive home that the decomposition is a property of the triple \((A,B,C)\), not of the physics alone. Sensor variant: replace the position sensor with a strain gauge measuring the difference, \(y=\theta_1-\theta_2=\sigma_-\). Now the in-phase mode \(\sigma_+\) becomes the invisible one — controllable, unobservable: block \(\mathcal{X}_{r\bar o}\). Same machine, different sensor, different block. Asymmetry variant: lengthen one pendulum slightly (\(\omega_1\neq\omega_2\)). The perfect left-eigenvector alignment that made \(w^{\mathsf T}B=0\) is destroyed — the controllability matrix \(\begin{bmatrix}B&AB&\cdots\end{bmatrix}\) fills rank, and both modes become controllable from the one actuator. Dead modes are structural: they live on the measure-zero set of perfectly symmetric designs, which is why real plants usually have small \(n_1,n_3,n_4\) — but truncated, reduced, or discretized models recreate them on purpose.
7Where it fits in the larger theory
The decomposition is not an isolated curiosity; it is the structural backbone under several pillars of linear systems theory.
- Realization theory. Given \(G(s)\), realize it by any \((A,B,C,D)\), apply the decomposition, and keep block 2: a minimal realization, unique up to similarity. This is Kalman’s (1963) and Gilbert’s (1963) solution to the classical “electrical network synthesis” problem of when a rational transfer function comes from a finite state-space model.
- Model reduction. Kalman’s truncation is exact but binary — keep block 2, discard the rest. Modern reduction refines this: balanced realizations (Moore, 1981) use the controllability and observability Gramians (energies: how expensive a state is to reach, how visible it is in \(y\)) and balance them against each other; the states with small Hankel singular values are simultaneously hard to reach and hard to see, and truncating them is the quantitative, approximate descendant of “keep only \(\mathcal{X}_{ro}\)”.
- Feedback and estimation limits. Pole placement by state feedback needs controllability; eigenvalues of the unreachable blocks simply cannot be moved. The practical weakenings — stabilizable (unstable ⇒ reachable) and detectable (unstable ⇒ observable) — are exactly the fine print on the LQR and Kalman filter theorems, and Fig. 6 is their geometric meaning.
- Duality. §2’s transposition means an observer for \((A,C)\) is a controller designed for the dual system \((A^{\mathsf T},C^{\mathsf T})\): Luenberger observers and LQR controllers are the same mathematics read in opposite directions.
- The Kalman filter connection. The filter propagates an error \(\tilde x\) with dynamics \(\dot{\tilde x}=(A-LC)\tilde x\); the error converges to zero for any initial guess iff \((A,C)\) is detectable, and the LQG separation theorem needs stabilizability + detectability for the closed loop to be internally stable. In the language of this page: the filter can only chase states the camera sees, the controller can only kick states the actuator reaches, and the decomposition is the exact audit of which is which. Same Kalman, two theorems.
- Discrete time. Everything above carries over verbatim to \(x_{k+1}=Ax_k+Bu_k\) — same matrices, same tests — which is why the lab below can run a discrete simulation without changing a single claim.
8A four-mode lab (interactive)
The toy below integrates \(\dot x = Ax+Bu,\ y=Cx\) with the four modes of §5 (\(\lambda = -1, -2, +2, -0.5\)) as four independent channels — a diagonal \(A\), i.e. a system already in Kalman form. Use the switches to change which modes the actuator drives (\(B\)) and which the camera films (\(C\)); press push u to apply an input pulse, or kick to set an initial condition. The widget only integrates and plots — the patterns you see are the theorem made tangible.
9References
- R. E. Kalman, “On the general theory of control systems,” Proc. 1st IFAC Congress, Moscow, 1960.
- R. E. Kalman, “Mathematical description of linear dynamical systems,” SIAM Journal on Control, 1(2):152–192, 1963.
- E. G. Gilbert, “Controllability and observability in multivariable control systems,” SIAM Journal on Control, 1963.
- T. Kailath, Linear Systems, Prentice-Hall, 1980.
- B. C. Moore, “Principal component analysis in linear systems: controllability, observability, and model reduction,” IEEE Transactions on Automatic Control, 26(1):17–32, 1981.
- P. J. Antsaklis and A. N. Michel, Linear Systems, Birkhäuser, 2006.