Reachability and controllability: Kalman's test and the Gramian
Definitions, Kalman's test with proof and the Cayley-Hamilton theorem, the continuous case with the Gramian and minimum-energy input, an example with two subsystems, the PBH test, stabilisability.
Before designing a controller one must ask whether the input can take the system where we want. It is not obvious: a car cannot move sideways from rest, and two identical tanks fed by the same tap cannot have different levels. Reachability answers with a test on the rank of a matrix. In this lesson we look at the definitions, Kalman’s test with the discrete-time proof and the role of the Cayley-Hamilton theorem, the continuous-time proof with the Gramian, the difference between reachability and controllability and an example with two subsystems.
Definitions
A state
is reachable if there is an input that takes the system from the zero state to
in finite time. The system is reachable if all states are. A state is controllable if there is an input that takes it to zero in finite time. For continuous-time linear systems the two properties coincide; in discrete time they do not, as we shall see.
Kalman’s test in discrete time
Define the reachability matrix
![]()
with
block columns, i.e.
.
Theorem. The system
is reachable if and only if
. In that case every state is reached in at most
steps.
Proof. Starting from
, the solution (lesson on discrete systems) after
steps is
![Rendered by QuickLaTeX.com \[ x(k) = \sum_{j=0}^{k-1}A^{k-1-j}Bu(j) = \begin{pmatrix} B & AB & \cdots & A^{k-1}B \end{pmatrix}\begin{pmatrix} u(k-1) \\ \vdots \\ u(0) \end{pmatrix} \]](https://www.electronics-engineering.com/wp-content/ql-cache/quicklatex.com-4a3be9685545ea4dd176606215338113_l3.png)
The states reachable in
steps are therefore the image of the matrix
. By the Cayley-Hamilton theorem every matrix satisfies its own characteristic polynomial,
, so
and all higher powers are linear combinations of
. The columns
with
add no new directions: the set of reachable states stops growing after
steps and is the image of
. It equals the whole of
if and only if
has rank
. ∎
The reachable subspace is the image of
: if the rank is less than
, the input can move the state only within this subspace, whatever it does.
The continuous case and the Gramian
Theorem. The system
is reachable if and only if
, with the same matrix
. Moreover, in that case every state is reached in any time
.
Proof. *Necessity.* If the rank is less than
, there is a vector
orthogonal to all the columns of
:
for
, and by Cayley-Hamilton for every
. Summing the exponential series,
for every
. From Lagrange’s formula with zero initial state,
: the state always stays orthogonal to
, and states with
are unreachable.
*Sufficiency.* Define the reachability Gramian
![]()
If
is invertible, the input
takes the state from 0 to
. Indeed by Lagrange’s formula
![]()
and with
the integral is exactly
, so
. It remains to note that
is invertible when the rank is full: if
, then
, so
for every
; differentiating at
gives
for every
, i.e.
orthogonal to
, and with full rank
. ∎
The input found with the Gramian is also the one of minimum energy
among all those achieving the same transfer. If
is very small,
is nearly singular and enormous inputs are needed: reachability says it can be done, not that it is easy.
An example

(a) In parallel. Two equal tanks fed by the same tap:
,
. Then
and
has two proportional columns: rank 1. One can also see it directly: the difference
satisfies
, with no input. Starting from equal levels they stay equal forever.
(b) In series. The second tank is fed by the first:
,
. Then
and
has determinant 1: rank 2. Acting only on the first, by playing with timing, the system can be brought to any pair of levels (even with the second higher than the first, for an instant).
Reachability, controllability and alternative tests
In discrete time, if
is singular a system can be controllable (driven to zero) without being reachable: with
and
, every state goes to zero in one step by itself, but no non-zero state can be reached.
An equivalent test, useful to understand which mode is unreachable, is the Popov-Belevitch-Hautus test: the system is reachable if and only if
for every eigenvalue
of
. An eigenvalue that makes the rank drop corresponds to a mode on which the input has no effect at all.
Reachability is exactly the condition for being able to assign all the eigenvalues with state feedback
(Automatic Control lesson on state space). If the system is not reachable, the eigenvalues of the unreachable part stay as they are: the system can be stabilised only if they are already stable, and it is then called stabilisable.





