[proofplan]
We use the finite-dimensional rank tests for reachability and observability, namely the Kalman controllability and observability rank criteria, then compare the associated reachability and observability matrices directly. The similarity identities imply $\tilde A^k\tilde B=T^{-1}A^kB$ and $\tilde C\tilde A^k=CA^kT$ for every relevant integer $k$. Therefore the transformed reachability matrix is obtained by left multiplication by the invertible matrix $T^{-1}$, while the transformed observability matrix is obtained by right multiplication by the invertible matrix $T$. Since invertible multiplication preserves rank, the rank tests for reachability and observability are unchanged.
[/proofplan]
[step:Compute how the reachable columns transform under similarity]
Let $n$ denote the state dimension, let $m$ denote the input dimension, and let $p$ denote the output dimension, so $A,\tilde A,T \in \mathbb{R}^{n \times n}$ with $T$ invertible, $B,\tilde B \in \mathbb{R}^{n \times m}$, and $C,\tilde C \in \mathbb{R}^{p \times n}$. Let $I_n \in \mathbb{R}^{n \times n}$ denote the identity matrix. For each integer $k$ with $0 \le k \le n-1$, we claim
\begin{align*}
\tilde A^k\tilde B = T^{-1}A^kB.
\end{align*}
For $k=0$, this is precisely $\tilde B=T^{-1}B$, using the convention $A^0=I_n$ and $\tilde A^0=I_n$. For $k \ge 1$, the identity follows by cancellation of adjacent factors $TT^{-1}$:
\begin{align*}
\tilde A^k\tilde B = (T^{-1}AT)^kT^{-1}B = T^{-1}A^kB.
\end{align*}
Define the reachability matrices $\mathcal R(A,B) \in \mathbb{R}^{n \times nm}$ and $\mathcal R(\tilde A,\tilde B) \in \mathbb{R}^{n \times nm}$ by horizontal block concatenation:
\begin{align*}
\mathcal R(A,B) := [B, AB, \ldots, A^{n-1}B].
\end{align*}
Also define
\begin{align*}
\mathcal R(\tilde A,\tilde B) := [\tilde B, \tilde A\tilde B, \ldots, \tilde A^{n-1}\tilde B].
\end{align*}
Hence, block column by block column,
\begin{align*}
\mathcal R(\tilde A,\tilde B) = T^{-1}\mathcal R(A,B).
\end{align*}
[guided]
Let $n$ denote the state dimension, let $m$ denote the input dimension, and let $p$ denote the output dimension, so $A,\tilde A,T \in \mathbb{R}^{n \times n}$ with $T$ invertible, $B,\tilde B \in \mathbb{R}^{n \times m}$, and $C,\tilde C \in \mathbb{R}^{p \times n}$. The reachability matrix is built from the columns of $B,AB,\dots,A^{n-1}B$. Thus we need to understand how each block $A^kB$ changes when the state coordinate is replaced by the similar coordinate system determined by $T$.
For $k=0$, the transformed block is just
\begin{align*}
\tilde A^0\tilde B = I_n\tilde B = \tilde B = T^{-1}B = T^{-1}A^0B.
\end{align*}
Now let $k$ be an integer with $1 \le k \le n-1$. Since $\tilde A=T^{-1}AT$, multiplying powers of $\tilde A$ produces adjacent factors $TT^{-1}$, each of which equals $I_n$. Therefore
\begin{align*}
\tilde A^k\tilde B = (T^{-1}AT)^kT^{-1}B.
\end{align*}
Cancelling the adjacent inverse pairs gives
\begin{align*}
(T^{-1}AT)^kT^{-1}B = T^{-1}A^kB.
\end{align*}
So every reachable block in the transformed realization is obtained from the corresponding original block by the same left multiplication by $T^{-1}$. Define the reachability matrices $\mathcal R(A,B) \in \mathbb{R}^{n \times nm}$ and $\mathcal R(\tilde A,\tilde B) \in \mathbb{R}^{n \times nm}$ by
\begin{align*}
\mathcal R(A,B) := [B, AB, \ldots, A^{n-1}B]
\end{align*}
and
\begin{align*}
\mathcal R(\tilde A,\tilde B) := [\tilde B, \tilde A\tilde B, \ldots, \tilde A^{n-1}\tilde B].
\end{align*}
Since the reachability matrix is the horizontal concatenation of these blocks, this gives
\begin{align*}
\mathcal R(\tilde A,\tilde B) = T^{-1}\mathcal R(A,B).
\end{align*}
[/guided]
[/step]
[step:Use invertibility of $T$ to preserve reachability rank]
Let $\operatorname{rank} M$ denote the column rank of a real matrix $M$. Since $T^{-1}$ is invertible, the [linear map](/page/Linear%20Map) $x \mapsto T^{-1}x$ is a bijection from $\mathbb{R}^n$ to $\mathbb{R}^n$. Therefore it maps the column space of $\mathcal R(A,B)$ bijectively onto the column space of $T^{-1}\mathcal R(A,B)$. Hence
\begin{align*}
\operatorname{rank}\mathcal R(\tilde A,\tilde B) = \operatorname{rank}\mathcal R(A,B).
\end{align*}
By the Kalman controllability rank criterion, $(A,B)$ is reachable exactly when $\operatorname{rank}\mathcal R(A,B)=n$, and $(\tilde A,\tilde B)$ is reachable exactly when $\operatorname{rank}\mathcal R(\tilde A,\tilde B)=n$. The matrices are real finite-dimensional matrices of the required sizes, so the test applies. The equality of ranks gives the equivalence.
[guided]
We have already proved that the transformed reachability matrix satisfies
\begin{align*}
\mathcal R(\tilde A,\tilde B)=T^{-1}\mathcal R(A,B).
\end{align*}
The remaining question is whether left multiplication by $T^{-1}$ can change the number of independent reachable columns. It cannot, because $T^{-1}:\mathbb R^n\to\mathbb R^n$ is an invertible linear map. Therefore it sends a set of columns in $\mathbb R^n$ to another set with exactly the same linear-dependence relations: a linear combination of the columns of $\mathcal R(A,B)$ is zero exactly when the corresponding linear combination after applying $T^{-1}$ is zero. Equivalently, it maps the column space of $\mathcal R(A,B)$ bijectively onto the column space of $T^{-1}\mathcal R(A,B)$.
Thus the column-space dimensions agree:
\begin{align*}
\operatorname{rank}\mathcal R(\tilde A,\tilde B)=\operatorname{rank}(T^{-1}\mathcal R(A,B))=\operatorname{rank}\mathcal R(A,B).
\end{align*}
The Kalman controllability rank criterion applies because both reachability matrices are real finite-dimensional matrices with $n$ rows. It says that $(A,B)$ is reachable exactly when
\begin{align*}
\operatorname{rank}\mathcal R(A,B)=n,
\end{align*}
and that $(\tilde A,\tilde B)$ is reachable exactly when
\begin{align*}
\operatorname{rank}\mathcal R(\tilde A,\tilde B)=n.
\end{align*}
Since the two ranks are equal, one condition holds exactly when the other holds. Hence $(A,B)$ is reachable if and only if $(\tilde A,\tilde B)$ is reachable.
[/guided]
[/step]
[step:Compute how the observable rows transform under similarity]
For each integer $k$ with $0 \le k \le n-1$, we claim
\begin{align*}
\tilde C\tilde A^k = CA^kT.
\end{align*}
For $k=0$, this is $\tilde C=CT=CA^0T$. For $k \ge 1$,
\begin{align*}
\tilde C\tilde A^k = CT(T^{-1}AT)^k = CA^kT.
\end{align*}
Define the observability matrices $\mathcal O(C,A) \in \mathbb{R}^{pn \times n}$ and $\mathcal O(\tilde C,\tilde A) \in \mathbb{R}^{pn \times n}$ as vertical block concatenations by
\begin{align*}
\mathcal O(C,A) := \operatorname{col}(C, CA, \ldots, CA^{n-1})
\end{align*}
and
\begin{align*}
\mathcal O(\tilde C,\tilde A) := \operatorname{col}(\tilde C, \tilde C\tilde A, \ldots, \tilde C\tilde A^{n-1}),
\end{align*}
where $\operatorname{col}$ denotes vertical block concatenation.
Thus the vertical block concatenation defining the observability matrix satisfies
\begin{align*}
\mathcal O(\tilde C,\tilde A) = \mathcal O(C,A)T.
\end{align*}
[guided]
The observability matrix is built from the output rows $C,CA,\ldots,CA^{n-1}$. We therefore compute how each block row changes under the similarity transformation.
For $k=0$, the identity follows directly from the similarity relation for the output matrix:
\begin{align*}
\tilde C\tilde A^0=\tilde C=CT=CA^0T.
\end{align*}
Now let $k$ be an integer with $1\le k\le n-1$. Using $\tilde C=CT$ and $\tilde A=T^{-1}AT$, we obtain
\begin{align*}
\tilde C\tilde A^k=CT(T^{-1}AT)^k.
\end{align*}
The adjacent factors $TT^{-1}$ cancel in the product, so this becomes
\begin{align*}
CT(T^{-1}AT)^k=CA^kT.
\end{align*}
Thus each transformed observable block row is obtained from the corresponding original block row by the same right multiplication by $T$.
Define the observability matrices $\mathcal O(C,A)\in\mathbb R^{pn\times n}$ and $\mathcal O(\tilde C,\tilde A)\in\mathbb R^{pn\times n}$ by vertical block concatenation:
\begin{align*}
\mathcal O(C,A):=\operatorname{col}(C,CA,\ldots,CA^{n-1})
\end{align*}
and
\begin{align*}
\mathcal O(\tilde C,\tilde A):=\operatorname{col}(\tilde C,\tilde C\tilde A,\ldots,\tilde C\tilde A^{n-1}),
\end{align*}
where $\operatorname{col}$ denotes vertical block concatenation. Since every block row has acquired the same right factor $T$, the whole observability matrix satisfies
\begin{align*}
\mathcal O(\tilde C,\tilde A)=\mathcal O(C,A)T.
\end{align*}
[/guided]
[/step]
[step:Use invertibility of $T$ to preserve observability rank]
Since $T$ is invertible, right multiplication by $T$ is an invertible column-coordinate change on matrices with $n$ columns. For any matrix $M$ with $n$ columns, define its null space by
\begin{align*}
\ker M:=\{x\in\mathbb R^n: Mx=0\}.
\end{align*}
Then the null spaces of $M$ and $MT$ have the same dimension because
\begin{align*}
MTx=0 \iff M(Tx)=0.
\end{align*}
The map $x \mapsto Tx$ is a bijection on $\mathbb{R}^n$, so $\dim\ker(MT)=\dim\ker M$, and the [Rank-Nullity Theorem](/theorems/385) gives $\operatorname{rank}(MT)=\operatorname{rank}M$. Applying this to $M=\mathcal O(C,A)$ yields
\begin{align*}
\operatorname{rank}\mathcal O(\tilde C,\tilde A) = \operatorname{rank}\mathcal O(C,A).
\end{align*}
By the Kalman observability rank criterion, $(C,A)$ is observable exactly when $\operatorname{rank}\mathcal O(C,A)=n$, and $(\tilde C,\tilde A)$ is observable exactly when $\operatorname{rank}\mathcal O(\tilde C,\tilde A)=n$. The matrices are real finite-dimensional matrices of the required sizes, so the test applies. The equality of ranks gives the desired equivalence, completing the proof.
[guided]
We have proved that the transformed observability matrix is
\begin{align*}
\mathcal O(\tilde C,\tilde A)=\mathcal O(C,A)T.
\end{align*}
We now show that multiplying on the right by the invertible matrix $T$ does not change rank. Let $M$ be any real matrix with $n$ columns, and define its null space by
\begin{align*}
\ker M:=\{x\in\mathbb R^n: Mx=0\}.
\end{align*}
For $x\in\mathbb R^n$, the equation $(MT)x=0$ is exactly the equation $M(Tx)=0$:
\begin{align*}
MTx=0\iff M(Tx)=0.
\end{align*}
Because $T:\mathbb R^n\to\mathbb R^n$ is bijective, the map $x\mapsto Tx$ gives a bijection from $\ker(MT)$ onto $\ker M$. Therefore
\begin{align*}
\dim\ker(MT)=\dim\ker M.
\end{align*}
The [Rank-Nullity Theorem](/theorems/385) for real finite-dimensional matrices gives
\begin{align*}
\operatorname{rank}(MT)+\dim\ker(MT)=n
\end{align*}
and
\begin{align*}
\operatorname{rank}M+\dim\ker M=n.
\end{align*}
Since the nullities agree, the ranks agree:
\begin{align*}
\operatorname{rank}(MT)=\operatorname{rank}M.
\end{align*}
Applying this with $M=\mathcal O(C,A)$ yields
\begin{align*}
\operatorname{rank}\mathcal O(\tilde C,\tilde A)=\operatorname{rank}\mathcal O(C,A).
\end{align*}
The Kalman observability rank criterion applies because both observability matrices are real finite-dimensional matrices with $n$ columns. It says that $(C,A)$ is observable exactly when
\begin{align*}
\operatorname{rank}\mathcal O(C,A)=n,
\end{align*}
and that $(\tilde C,\tilde A)$ is observable exactly when
\begin{align*}
\operatorname{rank}\mathcal O(\tilde C,\tilde A)=n.
\end{align*}
The ranks are equal, so one condition holds exactly when the other holds. Hence $(C,A)$ is observable if and only if $(\tilde C,\tilde A)$ is observable, completing the proof.
[/guided]
[/step]