| Table of contents |
Controllability of a dynamical system is the property that its state can be transferred from any initial value to any desired final value in finite time by means of a suitable control input. For linear time-invariant (LTI) state-space models the equations are written as
x˙(t) = A x(t) + B u(t)
y(t) = C x(t) + D u(t)
Here A is the system (state) matrix, B the input matrix, C the output matrix and D the feed-through matrix. The vector x(t) contains the state variables, u(t) the inputs and y(t) the outputs.
For an n×n matrix A and an input matrix B (for single-input systems B is n×1), form the controllability matrix Qc as
Qc = [ B AB A^2B ... A^{n-1}B ]
The matrix Qc has n rows. For a single-input system it has n columns; for a multi-input system it has n·m columns where m is the number of inputs.
The Kalman rank condition is:
Equivalently, for a single-input system if det(Qc) ≠ 0 then Qc is full rank and the system is controllable. When rank(Qc) < n one can determine how many independent state directions are controllable by examining non-zero determinants of square submatrices of Qc:
Note: for multi-input systems use the rank condition (not a single determinant) because Qc will usually be rectangular with more than n columns.
Gilbert's test is a simple rule applicable when A is in Jordan canonical form or diagonal form. It inspects the structure of B relative to Jordan blocks of A.
It states that the system is controllable if the row(s) of B corresponding to the last row of each Jordan block are non-zero. For diagonal A (each Jordan block is 1×1) this reduces to the requirement that all rows of B are non-zero (for a single-input system, each row must have some non-zero entry in the column of B).
The method is illustrated below using a Jordan canonical form example.

Here the matrix A is in Jordan canonical form composed of Jordan blocks JB1 and JB2.

To check controllability we inspect the last row of each Jordan block. The last row of JB1 corresponds to the second row of A and the last row of JB2 corresponds to the third row of A. According to Gilbert's test we check the corresponding rows of B (the second and third rows). If these rows are non-zero then the system is controllable.
A diagonal canonical form may be treated as a Jordan form with 1×1 blocks. For example:


Each Jordan block JB1, JB2, JB3 has a single row; Gilbert's rule requires that the corresponding rows of B are non-zero for controllability.
Check controllability for the system with
A = [ [0,1,0], [0,0,1], [-2,-3,-4] ], B = [0,0,1]^T
Form the controllability matrix Qc.
B = [0,0,1]^T
AB = A·B = [1,1,-4]^T
A^2B = A·(AB) = [1,-3,10]^T
Qc = [ B AB A^2B ] = [ [0,1,1]; [0,1,-3]; [1,-4,10] ] (columns shown)
Compute rank(Qc). Evaluate whether the three columns are linearly independent. If they are, rank(Qc)=3 and the system is controllable. (Omitted routine arithmetic steps; perform determinant or row reduction to confirm rank.)
Observability of a system is the property that the initial state (or current state) of the system can be uniquely determined from measurements of the outputs over a finite time interval and knowledge of the inputs. For the LTI state model given earlier the question is whether x(0) can be inferred from y(t) and u(t) for 0 ≤ t ≤ T for some finite T.
For an n×n matrix A and an output matrix C (for single-output systems C is 1×n) form the observability matrix Qo as

In algebraic form
Qo = [ C^T (CA)^T (CA^2)^T ... (CA^{n-1})^T ]^T
Equivalently Qo is the vertical stacking
Qo = [ C ; CA ; CA^2 ; ... ; CA^{n-1} ]
The Kalman observability condition is:
If rank(Qo) < n one may inspect submatrices of decreasing order to find how many independent states are observable (same procedure as for controllability, using determinants of square submatrices where applicable).
Gilbert's test for observability is the dual of the controllability version and applies when A is in Jordan or diagonal canonical form. It inspects columns of C corresponding to the first row of each Jordan block.
It states that the system is observable if the column(s) of C corresponding to the first row of each Jordan block are non-zero. For diagonal A this reduces to requiring that all columns of C are non-zero (for single-output systems, each column must have a non-zero entry in the corresponding position).
Illustration for a Jordan form:

Suppose A is in Jordan canonical form with Jordan blocks JB1 and JB2.

To check observability we inspect the first row of each Jordan block. The first row of JB1 corresponds to the first row of A and the first row of JB2 corresponds to the third row of A. According to Gilbert's test we check the corresponding columns of C (the first and third columns). If these columns are non-zero then the system is observable.
For diagonal canonical form (1×1 blocks):


Each Jordan block JB1, JB2, JB3 yields a first row corresponding to the first, second and third rows of A respectively, and Gilbert's rule requires that the corresponding columns of C be non-zero for full observability.
Controllability and observability are dual properties. The pair (A,B) is controllable if and only if the pair (AT,CT) is observable. This duality can be used to translate tests and results from one property to the other.
Controllability asks whether inputs can move the system state anywhere in finite time; observability asks whether outputs reveal the full state. Kalman's rank tests give algebraic conditions using the controllability matrix Qc and the observability matrix Qo. Gilbert's tests give quick structural checks when A is in Jordan or diagonal form. These concepts are fundamental for state-space control design, observer design, and model reduction.
53 videos|116 docs|40 tests |
| 1. What is controllability in control systems? | ![]() |
| 2. How is observability defined in the context of control systems? | ![]() |
| 3. What are the practical applications of controllability and observability? | ![]() |
| 4. How can one determine if a system is controllable or observable? | ![]() |
| 5. Why are controllability and observability important in system design? | ![]() |