矩阵差分方程

矩阵差分方程是一种差分方程，其中某时刻的变量向量（或矩阵）与之前时刻的值通过矩阵相关。方程的阶是变量向量任意两个指示值之间的最大时差。例如

$$\mathbf x_t = \mathbf{Ax}_{t-1} + \mathbf{Bx}_{t-2}$$

是二阶矩阵差分方程，其中x是n × 1变量向量，A、B是n × n矩阵。该方程齐次，因为方程末尾没有常数项向量。同一个方程也可写成

$$\mathbf x_{t+2} = \mathbf{Ax}_{t+1} + \mathbf{Bx}_{t}$$

或

$$\mathbf x_n = \mathbf{Ax}_{n-1} + \mathbf{Bx}_{n-2}$$

最常见的矩阵差分方程都是一阶的。

## 非齐次一阶情形及稳态

非齐次一阶矩阵差分方程如：

$$\mathbf x_t = \mathbf{Ax}_{t-1} + \mathbf{b}$$

与一个加性常向量 b。该系统的稳态是x向量的值x*，一旦达到就不会偏离。x*可通过置xt = xt−1 = x*、解x*以得

$$\mathbf{x}^* = [\mathbf{I}-\mathbf{A}]^{-1}\mathbf{b}$$

其中I是n × n单位矩阵，假定I − A可逆。非齐次方程可用偏离稳态的齐次方程重写：

$$\left[\mathbf{x}_t - \mathbf{x}^*\right] = \mathbf{A}\left[\mathbf{x}_{t-1}-\mathbf{x}^*\right]$$

## 一阶情形的稳定性

一阶矩阵差分方程xt − x* = Axt−1 − x*是稳定的，即当且仅当转移矩阵A的所有特征值（无论实复）绝对值都小于1时，xt才逐渐收敛到稳态x*。

## 解一阶情形

假定方程齐次形式为yt = Ayt−1，然后可从初始条件y0开始迭代。y0是y的初值，必须得知才能求解：

$$\begin{align} \mathbf y_1 &= \mathbf{Ay}_0 \\ \mathbf y_2 &= \mathbf{Ay}_1=\mathbf A^2 \mathbf y_0 \\ \mathbf y_3 &= \mathbf{Ay}_2=\mathbf A^3 \mathbf y_0 \end{align}$$

以此类推，由数学归纳法，用t表示的解为

$$\mathbf y_t=\mathbf A^t \mathbf y_0$$

此外，若A可对角化，就可用它的特征值和特征向量重写A，得到解

$$\mathbf y_t = \mathbf{PD}^{t}\mathbf{P}^{-1} \mathbf y_0,$$

其中P是n × n矩阵，列是A的特征向量（假设特征值互异）；D是n × n对角矩阵，对角元是A的特征值。这个解就是上述稳定性结果的依据：当且仅当A的特征值绝对值都小于1，At才会随时间收缩到零矩阵。

## 从一阶矩阵系统中提取单一标量变量的动力特性

从n维系统yt = Ayt−1开始，可以提取其中一个状态变量（如y1）的动态变化。上述yt的求解方程表明，y1,t的解是根据A的n个特征值求得的。因此，描述y1变化的方程本身必须有涉及特征值的解。这种描述直观地产生了y1的演化方程，即

$$y_{1,t} = a_1 y_{1,t-1} + a_2 y_{1,t-2} + \dots + a_n y_{1,t-n}$$

其中参数ai来自A的特征方程式：

$$\lambda^{n} - a_1 \lambda^{n-1} - a_2 \lambda^{n-2} - \dots - a_n \lambda^{0} = 0.$$

因此，n维一阶线性系统中的每个标量变量都根据一元n阶差分方程演化，与矩阵差分防尘具有相同的稳定性。

## 高阶情形的解与稳定性

可用分块矩阵将高阶矩阵差分方程转换到一阶，可以求解时滞超过一个周期的高阶方程，并分析其稳定性。例如，假设有二阶方程

$$\mathbf x_t = \mathbf{Ax}_{t-1} + \mathbf{Bx}_{t-2}$$

变量向量x尺寸为n × 1，A、B尺寸为n × n。则可以叠加为下列形式

$$\begin{bmatrix}\mathbf{x}_t \\ \mathbf{x}_{t-1} \\ \end{bmatrix} = \begin{bmatrix} \mathbf{A} & \mathbf{B} \\ \mathbf{I} & \mathbf{0} \\ \end{bmatrix} \begin{bmatrix} \mathbf{x}_{t-1} \\ \mathbf{x}_{t-2} \end{bmatrix}$$

其中I是n × n单位矩阵，0是n × n零矩阵。然后将当前变量和一度滞后变量的2n × 1叠加向量表示为zt，将2n × 2n分块矩阵表示为L，就得到了之前的解

$$\mathbf z_t = \mathbf L^t \mathbf z_0$$

与之前一样，当且仅当矩阵L 的所有特征值的绝对值都小于1时，叠加方程与原二阶方程才稳定。

## 非线性矩阵差分方程：黎卡提方程

在LQG控制中，会出现一个当前和未来成本矩阵反向演化的非线性矩阵方程，下面用H表示。这个方程也被称为离散动力黎卡提方程，当据线性矩阵差分方程演化的变量向量受外源向量的控制，以优化二次损失函数时，就会产生这个方程。黎卡提方程形式如下：

$$\mathbf{H}_{t-1} = \mathbf{K} +\mathbf{A}'\mathbf{H}_t\mathbf{A} - \mathbf{A}'\mathbf{H}_t\mathbf{C}\left[\mathbf{C}'\mathbf{H}_t\mathbf{C}+\mathbf{R}\right]^{-1}\mathbf{C}'\mathbf{H}_t\mathbf{A}$$

其中H、K、A尺寸为n × n；C尺寸为n × k；R尺寸为k × k，n是受控向量元素数，k是控制向量元素数。参数矩阵A、C来自线性方程，参数矩阵K、R来自二次损失函数。详见此处。

一般来说，该方程无法根据t分析求解Ht，而是通过迭代黎卡提方程，求出Ht的值序列。不过，已经证明，若R = 0、n = k + 1，则可将黎卡提方程简化为标量有理差分方程分析求解；对任意k、n，若转移矩阵A可逆，则黎卡提方程就可根据矩阵特征值进行分析求解，尽管特征值可能要用数值计算才能找到。

在大多数情况下，H随时间的演化是稳定的，也就是说H会收敛到特定的常矩阵H*，其他矩阵都有理时也可能是无理的。参见随机控制#离散时间系统。

相关的黎卡提方程是

$$\mathbf{X}_{t+1} = -\left[\mathbf{E}+\mathbf{B}\mathbf{X}_t\right]\left[\mathbf{C}+\mathbf{A}\mathbf{X}_t\right]^{-1}$$

其中X, A, B, C, E全都是n × n方阵。这个方程可以显式求解。假设$\mathbf X_t = \mathbf N_t \mathbf D_t^{-1}$，在t = 0时N0 = X0、D0 = I显然成立。然后将其用于差分方程，得出

$$\begin{align} \mathbf{X}_{t+1}&=-\left[\mathbf{E}+\mathbf{BN}_t\mathbf{D}_t^{-1}\right]\mathbf{D}_t\mathbf{D}_t^{-1}\left[\mathbf{C}+\mathbf{AN}_t\mathbf{D}_t^{-1}\right]^{-1}\\ &=-\left[\mathbf{ED}_t+\mathbf{BN}_t\right]\left[\left[\mathbf{C}+\mathbf{AN}_t \mathbf{D}_t^{-1}\right]\mathbf{D}_t\right]^{-1}\\ &=-\left[\mathbf{ED}_t+\mathbf{BN}_t\right]\left[\mathbf{CD}_t+\mathbf{AN}_t\right]^{-1}\\ &=\mathbf{N}_{t+1}\mathbf{D}_{t+1}^{-1} \end{align}$$

因此通过归纳法，形式$\mathbf X_t = \mathbf N_t \mathbf D_t^{-1}$对所有t都成立。那么N、D的演化可写为

$$\begin{bmatrix} \mathbf{N}_{t+1} \\ \mathbf{D}_{t+1} \end{bmatrix} = \begin{bmatrix} -\mathbf{B} & -\mathbf{E} \\ \mathbf{A} & \mathbf{C} \end{bmatrix} \begin{bmatrix} \mathbf{N}_t \\ \mathbf{D}_t \end{bmatrix} \equiv \mathbf{J} \begin{bmatrix}\mathbf{N}_t \\ \mathbf{D}_t \end{bmatrix}$$

因此可归纳

$$\begin{bmatrix} \mathbf{N}_t \\ \mathbf{D}_t \end{bmatrix} = \mathbf{J}^{t} \begin{bmatrix} \mathbf{N}_0 \\ \mathbf{D}_0 \end{bmatrix}$$