2

I'm studying discrete-time LTI systems and state estimators for them. Recently, I studied this paper. I am facing a matrix rank calculation problem and having trouble solving it. I will provide more details below and would appreciate any help.

Consider the discrete-time LTI system with the following state-space representation: \begin{align} {x}_{k+1}&={A} {x}_k+{B} {u}_k &;{A} \in \mathbb{R}^{n \times n}, {B} \in \mathbb{R}^{n \times m} \\ {y}_k&={C} {x}_k &;{C} \in \mathbb{R}^{p \times n} \end{align} where $ {x}_k \in \mathbb{R}^n $ is the state, $ {u}_k \in \mathbb{R}^m $ is the control input and $ {y}_k \in \mathbb{R}^p $ is the measured output.

Suppose, this system is controllable and observable, also assume that $\mathrm{N}=\mathrm{n}$. So the controllability matrix $B_N$ and the observability matrix $O_N$, which are constructed as follows, are of rank $n$. $$ \begin{aligned} & B_N=\left[\begin{array}{llll} A^{N-1} B & \cdots & A B & B \end{array}\right] \\ & O_N=\left[\begin{array}{c} C \\ C A \\ \vdots \\ C A^{N-1} \end{array}\right] \\ \end{aligned} $$

I want to find the rank of matrix $M$, which is defined as below. The M matrix appears when we want to write the state of the system at any time based on the previous inputs and outputs of the system. \begin{equation} x_k=M\begin{bmatrix} u_N(k-N) \\ y_N(k-N) \end{bmatrix} \end{equation} where \begin{equation*} u_N(k-N)={\begin{bmatrix} u_{k-N}^T & u_{k-N+1}^T & \cdots & u_{k-1}^T \end{bmatrix}}^T \end{equation*} \begin{equation*} y_N(k-N)={\begin{bmatrix} y_{k-N}^T & y_{k-N+1}^T & \cdots & y_{k-1}^T \end{bmatrix}}^T \end{equation*}

$$ \begin{aligned} & T_N=\left[\begin{array}{ccccc} 0 & 0 & \cdots & \cdots & 0 \\ C B & 0 & \ddots & \ddots & \vdots \\ C A B & C B & \ddots & \ddots & 0 \\ \vdots & \ddots & \ddots & \ddots & 0 \\ C A^{N-2} B & \cdots & \cdots & C B & 0 \end{array}\right] \\ & O_N^{+}=\left(O_N^T O_N\right)^{-1} O_N^T \\ & M=\left[B_N-A^N O_N^{+} T_N \quad A^N O_N^{+}\right] \\ & \end{aligned} $$

Through simulation with different examples, I observe that the rank of matrix $M$ is $n$, and I am seeking either a proof of this statement or a counterexample.

apa
  • 83
  • 1
    Be very careful about any conclusions you make regarding rank via simulation: where multiple ranks are possible, typically the largest rank will be the most likely with practically 100% probability – Ben Grossmann Jul 15 '24 at 13:41
  • 2
    A little bit of context as to where the matrix $M$ comes from might be useful – Ben Grossmann Jul 15 '24 at 13:46
  • You are correct. I'm not sure about the rank of $M$. I need to calculate it. – apa Jul 15 '24 at 13:47
  • That much about $M$ you've already explained. I'm asking, for instance, if there is any problem that knowing the rank of $M$ would solve or if there is some interpretation of $M$ in the context of control theory – Ben Grossmann Jul 15 '24 at 13:49
  • 1
    If you are familiar with linear control and state space representation of discrete time LTI systems, The M matrix appears when we want to write the state of the system at any time based on the previous inputs and outputs of the system. – apa Jul 15 '24 at 13:53
  • 1
    \begin{equation} x_k=M\begin{bmatrix} u_N(k-N) \ y_N(k-N) \end{bmatrix} \end{equation} where \begin{equation} u_N(k-N)={\begin{bmatrix} u_{k-N}^T & u_{k-N+1}^T & \cdots & u_{k-1}^T \end{bmatrix}}^T \end{equation} \begin{equation} y_N(k-N)={\begin{bmatrix} y_{k-N}^T & y_{k-N+1}^T & \cdots & y_{k-1}^T \end{bmatrix}}^T \end{equation} – apa Jul 15 '24 at 14:07
  • where $ {x}_k \in \mathbb{R}^n $ is the state, $ {u}_k \in \mathbb{R}^m $ is the control input and $ {y}_k \in \mathbb{R}^p $ is the measured output. – apa Jul 15 '24 at 14:07
  • Thank you; that's exactly what I was looking for – Ben Grossmann Jul 15 '24 at 15:00

2 Answers2

2

In the case that $A$ is invertible, we can see that $M$ must have full rank as follows: note that $O_N^+O_N = I_n$, so that $$ M = A^{N}O_N^+ \begin{bmatrix} O_NA^{-N}B_N - T_N & I_{p \cdot N} \end{bmatrix}. $$ Because the matrix $\begin{bmatrix} O_NA^{-N}B_N - T_N & I_{p \cdot N} \end{bmatrix}$ has full row rank, the rank of $M$ is equal to that of $A^N O_N^+$, which is necessarily equal to $n$.

Ben Grossmann
  • 235,566
  • 12
  • 184
  • 359
  • \begin{equation} M=A^N O_{N}^+ \begin{bmatrix} O_{N} A^{-N} B_{N}-T_{N} & I_{p.N}
    \end{bmatrix} \end{equation} Thanks Ben, it was a great idea. I also need to prove it for noninvertible A.
    – apa Jul 16 '24 at 03:35
  • @apa I fixed the typo. Also, I haven't been able to think of a suitable approach for the non-invertible case, unfortunately – Ben Grossmann Jul 16 '24 at 14:19
  • Does anyone have any ideas for the case $m=p=1$? With this assumption, the matrix $O_N$ is a square invertible matrix. We want to show that the rank of $\begin{bmatrix} B_N-A^n O_N^{-1}T_N & A^nO_N^{-1} \end{bmatrix}$ is equal to $n$. Also, remember that $N=n$. – apa Jul 28 '24 at 18:43
  • 1
    @apa In the case that $m = 1$, the matrix $B_N^{-1}AB_N$ is a companion matrix; perhaps this is a helpful observation. Also, I wonder if there is an indirect proof that one could arrive at with the help of systems theory. In particular, it appears to me that $M$ failing to have full rank necessarily means that the system cannot be controllable since there would be elements $x$ of the state space that lie outside the column space of $M$ and thus cannot be attained. – Ben Grossmann Jul 29 '24 at 00:10
1

From the expression for $ M $, where $ M \in \mathbb{R}^{n \times (m+p)n} $, it follows that: \begin{equation}\label{eq.M_rank} M \begin{bmatrix} I_{mn} \\ T_n \end{bmatrix} =\begin{bmatrix} B_n-A^n O_n^{+} T_n & A^n O_n^{+} \end{bmatrix} \begin{bmatrix} I_{mn} \\ T_n \end{bmatrix}=B_n \end{equation}

Since the system is controllable, $rank(B_n)=n$. By applying Sylvester's rank inequality, it is established that $rank(M)\geq n$. Given the dimensions of $ M $, it also holds that $rank(M)\leq n$. Therefore, it follows that $rank(M)=n$, confirming that $ M $ has full row rank.

apa
  • 83