LeanForControl

1 Linear systems

1.1 Observability and controllability matrices

For a finite-dimensional linear system

\[ \dot{x} = A x + B u, \qquad y = C x, \]

with state matrix \(A\), input matrix \(B\), and output matrix \(C\), this section collects the (finite-horizon) controllability and observability matrices and the bridge theorem connecting the textbook observability predicate to the kernel of the observability matrix.

1.1.1 Observability matrix

Definition 1
#

The observability matrix of a pair \((A, C)\) with \(A \in \mathbb {F}^{n \times n}\) and \(C \in \mathbb {F}^{p \times n}\) is the block-row matrix

\[ \mathcal{O}(A, C) = \begin{bmatrix} C \\ C\, A \\ C\, A^{2} \\ \vdots \\ C\, A^{n-1} \end{bmatrix} \in \mathbb {F}^{(n p) \times n}. \]

Rows are indexed by \(\mathrm{Fin}\, n \times \mathrm{Fin}\, p\), so that \(A^{k}\) is available without casting \(k : \mathrm{Fin}\, n\) through \(\mathrm{Fin.val}\).

Definition 2
#

A linear system \((A, C)\) is observable when the only state \(x \in \mathbb {F}^{n}\) for which

\[ C\, A^{k}\, x = 0 \qquad \text{for every } k = 0, 1, \dots , n-1 \]

is the zero state. This phrasing does not mention \(\mathcal{O}(A, C)\), so the bridge theorem 8 has real content.

Theorem 3

Block-row entry shape: at row \((k, i)\) and column \(j\), the observability matrix coincides with the \((i, j)\) entry of \(C\, A^{k}\):

\[ \mathcal{O}(A, C)_{(k,i),\, j} = (C\, A^{k})_{i,\, j}. \]
Proof

Holds definitionally by the encoding chosen for definition 1.

Theorem 4

For every state \(x \in \mathbb {F}^{n}\) and every \((k, i) \in \mathrm{Fin}\, n \times \mathrm{Fin}\, p\),

\[ \bigl(\mathcal{O}(A, C) \cdot x\bigr)_{(k, i)} = \bigl(C\, A^{k} \cdot x\bigr)_{i}. \]

This is the definitional bridge that powers theorem 8.

Proof

Holds by definitional unfolding of \(\mathcal{O}(A, C)\) (see definition 1).

1.1.2 Controllability matrix

Definition 5
#

The controllability matrix of a pair \((A, B)\) with \(A \in \mathbb {F}^{n \times n}\) and \(B \in \mathbb {F}^{n \times m}\) is the block-column matrix

\[ \mathcal{C}(A, B) = \begin{bmatrix} B & A\, B & A^{2}\, B & \cdots & A^{n-1}\, B \end{bmatrix} \in \mathbb {F}^{n \times (n m)}. \]

Columns are indexed by \(\mathrm{Fin}\, n \times \mathrm{Fin}\, m\), so that \(A^{k}\) is available without casting \(k : \mathrm{Fin}\, n\) through \(\mathrm{Fin.val}\).

Theorem 6

Block-column entry shape: at row \(i\) and column \((k, j)\), the controllability matrix coincides with the \((i, j)\) entry of \(A^{k}\, B\):

\[ \mathcal{C}(A, B)_{i,\, (k, j)} = (A^{k}\, B)_{i,\, j}. \]
Proof

Holds definitionally by the encoding chosen for definition 5.

Definition 7
#

A linear system \((A, B)\) is controllable when every target state \(x \in \mathbb {F}^{n}\) is reachable from the origin in \(n\) steps: there exist input vectors \(u_{0}, u_{1}, \dots , u_{n-1} \in \mathbb {F}^{m}\) such that

\[ x = \sum _{k = 0}^{n-1} A^{k}\, B\, u_{k}. \]

This phrasing does not name the controllability matrix, so the bridge theorem 10 has real content.

1.1.3 Milestone: observability iff trivial kernel of \(\mathcal{O}\)

A finite-dimensional linear system \((A, C)\) is observable in the sense of definition 2 if and only if the observability matrix \(\mathcal{O}(A, C)\) has trivial kernel under matrix-vector multiplication:

\[ \mathrm{IsObservable}(A, C) \iff \bigl(\forall x,\ \mathcal{O}(A, C) \cdot x = 0 \Rightarrow x = 0\bigr). \]
Proof

Both directions follow from the bridge theorem 4, which identifies the \((k, i)\)-coordinate of \(\mathcal{O}(A, C) \cdot x\) with the \(i\)-coordinate of \((C\, A^{k}) \cdot x\). The forward direction reads the per-power kernel out of the assembled kernel coordinatewise; the reverse direction packs them back.

1.1.4 Rank characterizations

A finite-dimensional system \((A, C)\) is observable if and only if the observability matrix \(\mathcal{O}(A, C)\) has full column rank, i.e.

\[ \operatorname {rank} \mathcal{O}(A, C) = n, \]

where \(n\) is the state dimension.

Proof

Chain the kernel-form milestone theorem 8 with the matrix-level bridge \(\bigl(\forall x,\ M \cdot x = 0 \Rightarrow x = 0\bigr) \iff \operatorname {rank} M = n\) from ‘MatrixLemmas‘, applied with \(M = \mathcal{O}(A, C)\).

A linear system \((A, B)\) is controllable if and only if the controllability matrix has full row rank,

\[ \operatorname {rank} \mathcal{C}(A, B) = n, \]

where \(n\) is the state dimension.

Proof

Combine the reindexing identity \(\mathcal{C}(A, B) \cdot u = \sum _{k} A^{k} B \cdot u_{k}\) (with \(u_{k}(j) = u(k, j)\)) with the matrix-level bridge \(\bigl(\forall y,\ \exists x,\ M\, x = y\bigr) \iff \operatorname {rank} M = n\) from ‘MatrixLemmas‘, applied with \(M = \mathcal{C}(A, B)\).

1.1.5 Hautus observability

Definition 11
#

The unobservable subspace of \((A, C)\) is the \(A\)-invariant subspace

\[ \mathcal{N}(A, C) \; =\; \{ \, v \in \mathbb {C}^{n} \; :\; C\, A^{k}\, v = 0 \text{ for every } k = 0, 1, \dots , n - 1 \, \} . \]

Equivalently, \(\mathcal{N}(A, C) = \ker \mathcal{O}(A, C)\), but here it is phrased without naming \(\mathcal{O}\) so the bridge theorem 12 reads as content.

A finite-dimensional system \((A, C)\) is observable in the sense of definition 2 if and only if its unobservable subspace is trivial:

\[ \mathcal{N}(A, C) = \{ 0\} \iff \mathrm{IsObservable}(A, C). \]
Proof

Both directions are membership unfoldings of definition 11 against definition 2.

Theorem 13

The unobservable subspace is closed under the action of \(A\): for every \(v \in \mathcal{N}(A, C)\), also \(A\, v \in \mathcal{N}(A, C)\).

Proof

For \(k = 0, \dots , n-2\) this is direct from the definition. For \(k = n - 1\) we land at \(C\, A^{n}\, v\), which Cayley-Hamilton rewrites as a \(\mathbb {C}\)-linear combination of \(C\, A^{i}\, v\) for \(i {\lt} n\). Each of those is zero, so the combination is zero.

Definition 14
#

The Hautus observability matrix of \((A, C)\) at a complex number \(\mu \) is the block-row matrix

\[ H_{A, C}(\mu ) \; =\; \begin{bmatrix} \mu I - A \\ C \end{bmatrix} \in \mathbb {C}^{(n + p) \times n} . \]
Theorem 15

For every \(\mu \in \mathbb {C}\) and \(v \in \mathbb {C}^{n}\),

\[ H_{A, C}(\mu ) \cdot v = 0 \iff \bigl(A\, v = \mu \, v \; \wedge \; C\, v = 0\bigr). \]
Proof

If \((A, C)\) is not observable, then there exists \(\mu \in \mathbb {C}\) and a nonzero vector \(v \in \mathbb {C}^{n}\) such that

\[ H_{A, C}(\mu ) \cdot v = 0, \]

i.e. \(\mu \) is an eigenvalue of \(A\) with an eigenvector in \(\ker C\).

Proof

The unobservable subspace definition 11 is nontrivial by theorem 12. It is \(A\)-invariant by theorem 13, hence finite-dimensional and invariant; over \(\mathbb {C}\) this guarantees a nonzero eigenvector inside it. That vector is automatically in \(\ker C\) (membership at \(k = 0\)), so it lies in the kernel of \(H_{A, C}(\mu )\) via theorem 15.

If \(\mu \in \mathbb {C}\) and \(v \neq 0\) satisfy \(H_{A, C}(\mu ) \cdot v = 0\), then \((A, C)\) is not observable.

Proof

The witness gives \(A v = \mu v\) and \(C v = 0\). By induction on \(k\), \(A^{k} v = \mu ^{k} v\), so \(C\, A^{k}\, v = \mu ^{k}\, C v = 0\) for every \(k\). The vector \(v\) is therefore in the unobservable subspace and is nonzero, so observability fails.

A finite-dimensional system \((A, C)\) over \(\mathbb {C}\) is observable if and only if for every \(\mu \in \mathbb {C}\) the Hautus matrix \(H_{A, C}(\mu )\) has trivial kernel:

\[ \mathrm{IsObservable}(A, C) \iff \forall \mu \in \mathbb {C},\ \ker H_{A, C}(\mu ) = \{ 0\} . \]
Proof

Combine theorem 16 (failure direction) and theorem 17 (converse).

1.1.6 Hautus controllability

Definition 19
#

The Hautus controllability matrix of \((A, B)\) at a complex number \(\mu \) is the block-column matrix

\[ H^{\mathrm{ctrl}}_{A, B}(\mu ) \; =\; \begin{bmatrix} \mu I - A & B \end{bmatrix} \in \mathbb {C}^{n \times (n + m)} . \]

A finite-dimensional system \((A, B)\) over \(\mathbb {C}\) is controllable if and only if for every \(\mu \in \mathbb {C}\) the Hautus matrix \(H^{\mathrm{ctrl}}_{A, B}(\mu )\) has full row rank:

\[ \mathrm{IsControllable}(A, B) \iff \forall \mu \in \mathbb {C}, \operatorname {rank} H^{\mathrm{ctrl}}_{A, B}(\mu ) = n. \]
Proof

Combine the duality bridge theorem 20 nope, that’s the iff itself; actually combine the duality bridge isControllable_iff_isObservable_transpose with the observability Hautus iff theorem 18, then convert the kernel-form RHS to the rank form via the matrix bridge mulVec_kernel_trivial_iff_rank_eq_card_cols from ‘MatrixLemmas‘, and finally identify the transposed Hautus matrices.