如何构造多项式矩阵的Smith McMillan形?附具体矩阵推导疑问
我们从有理矩阵$G(s)$出发,通过幺模行/列变换(即变换矩阵的行列式为非零常数)逐步化简,最终得到Smith-McMillan形$M(s)$。幺模变换的三种基本操作是:
- 交换两行/列
- 某一行/列乘以非零常数
- 某一行/列加上另一行/列乘以任意多项式
步骤1:明确目标与初始矩阵
原矩阵:
$$ G(s) = \begin{bmatrix} \frac{4}{(s+1)(s+2)} & \frac{-0.5}{s+1} \ \frac{1}{s+2} & \frac{2}{(s+1)(s+2)}\ \end{bmatrix} $$
记公分母$D=(s+1)(s+2)$,可将$G(s)$改写为$G(s) = D^{-1}P(s)$,其中多项式矩阵:
$$ P(s) = \begin{bmatrix} 4 & -0.5(s+2) \ s+1 & 2 \end{bmatrix} $$
我们的目标是找到幺模矩阵$\bar{L}(s)$和$\bar{R}(s)$,使得$\bar{L}(s)G(s)\bar{R}(s)$成为对角矩阵(Smith-McMillan形)。
步骤2:构造左幺模矩阵$\bar{L}(s)$
我们需要通过行变换消去$G(s)$第二行第一列的元素,并调整第一行第一列到目标形式:
基础行变换铺垫:先将第一行乘以$\frac{1}{4}$,把第一行第一列的元素调整为$\frac{1}{D}$,对应左乘矩阵:
$$ L_1 = \begin{bmatrix} \frac{1}{4} & 0 \ 0 & 1 \end{bmatrix} $$
计算$L_1G(s)$:
$$ L_1G(s) = \begin{bmatrix} \frac{1}{D} & \frac{-1}{8(s+1)} \ \frac{1}{s+2} & \frac{2}{D} \end{bmatrix} = \begin{bmatrix} \frac{1}{D} & \frac{-(s+2)}{8D} \ \frac{s+1}{D} & \frac{2}{D} \end{bmatrix} $$合并行变换得到$\bar{L}(s)$:为了直接消去第二行第一列,并让第二行第二列直接得到目标的$\frac{s^2+3s+18}{D}$,我们设计行变换:第二行 = $-2(s+1) \times$ 原第一行 $+ 8 \times$ 原第二行。
验证效果:- 第二行第一列:$-2(s+1) \times \frac{4}{D} + 8 \times \frac{1}{s+2} = \frac{-8(s+1)}{D} + \frac{8(s+1)}{D} = 0$(因为$\frac{1}{s+2}=\frac{s+1}{D}$)
- 第二行第二列:$-2(s+1) \times \frac{-0.5}{s+1} + 8 \times \frac{2}{D} = 1 + \frac{16}{D} = \frac{(s+1)(s+2)+16}{D} = \frac{s^2+3s+18}{D}$
这个合并后的行变换对应的左矩阵就是给定的$\bar{L}(s)$:
$$ \bar{L}(s) = \begin{bmatrix} \frac{1}{4} & 0\ -2(s+1) & 8\ \end{bmatrix} $$
验证其行列式:$\det(\bar{L}(s)) = \frac{1}{4} \times 8 - 0 \times (-2(s+1)) = 2$,是一个非零常数,符合幺模矩阵的定义。
步骤3:构造右幺模矩阵$\bar{R}(s)$
现在$\bar{L}(s)G(s)$的形式为:
$$ \bar{L}(s)G(s) = \begin{bmatrix} \frac{1}{D} & \frac{-(s+2)}{8D} \ 0 & \frac{s^2+3s+18}{D} \end{bmatrix} $$
我们需要通过列变换消去第一行第二列的元素:
执行列变换:第二列加上第一列的$\frac{s+2}{8}$倍,对应右乘矩阵:
$$ \bar{R}(s) = \begin{bmatrix} 1 & \frac{s+2}{8}\ 0 & 1\ \end{bmatrix} $$
验证其行列式:$\det(\bar{R}(s)) = 1 \times 1 - 0 \times \frac{s+2}{8} = 1$,显然是幺模矩阵。计算$\bar{L}(s)G(s)\bar{R}(s)$:
- 第一行第二列:$\frac{1}{D} \times \frac{s+2}{8} + \frac{-(s+2)}{8D} \times 1 = 0$
- 其余元素保持不变,最终得到目标对角矩阵:
$$ M(s) = \begin{bmatrix} \frac{1}{(s+1)(s+2)} & 0\ 0 & \frac{s^2+3s+18}{(s+1)(s+2)}\ \end{bmatrix} $$
关键总结
- 幺模矩阵的核心是行列式为非零常数,因此允许行/列乘以非零常数,以及多项式倍的行/列加法。
- 构造过程中,先通过行变换消去下三角元素,再通过列变换消去上三角元素,逐步将矩阵化为对角形。
- 给定的$\bar{L}(s)$是将两次行变换合并后的结果,同时调整了第二行的系数,让最终的对角元直接符合目标形式,避免了后续的常数缩放。
内容的提问来源于stack exchange,提问作者Guilan Lim

