一个简单的例子

这篇博客里,我们会求一个矩阵的Jordan标准形(在$\mathbb{C}$中):

我们会顺着上一篇博客的思路,用一个比较“机械”的办法,求出矩阵的Jordan标准形。但是,每一步的原因都是能给出的。“机械”的意思是说,有章可循。如果你有编程基础,你完全可以依照这个办法把求Jordan标准形的步骤写成程序,当然这就不是我擅长的领域了,我也不多做评价。不过,通往Jordan标准形的路有好几条,我觉得更适合用计算机程序写的路不应该是这篇博客的办法,而应该是这个网站的计算办法。

1. 求特征多项式、极小多项式

求这个矩阵的特征多项式能得到

当然,这个矩阵是不能对角化的,因为我们可以发现有

求这两个方程的目的是显然的,Jordan要用到准素分解、循环分解,而准素分解需要用到极小多项式,极小多项式又和特征多项式有很多联系。

同时,我们能得到特征根

2. 对矩阵进行准素分解

我们已经知道,在$\mathbb{C}$上存在可逆矩阵$P$使得

其中$A_1$的特征多项式$f_1=(\lambda-2)^2$,极小多项式$m_1=(\lambda-2)^2$,$A_2$的极小多项式和特征多项式$m_2=f_2=\lambda-(3-\sqrt{5}i)$,$A_3$的极小多项式和特征多项式$m_3=f_3=\lambda-(3+\sqrt{5}i)$。

这就是之前讲过的先进行准素分解。先利用极小多项式的因子进行切割,然后在每个子矩阵进行仔细分析。下面是详细步骤。


我们已经知道,有

所以我们需要求出$4$个广义特征向量。由$(A-I)^2\mathbf{v}=0$得

由$(A-(3-\sqrt{5}i)I)\mathbf{v}=0$得

由$(A - (3+\sqrt{5}i)I)\mathbf{v}=0$得

我们得到了过渡矩阵

且有准素分解

3. 对准素分解得到的子矩阵进行循环分解

首先,我们仔细回顾一下,为了得到Jordan链,我们需要进行什么工作。对于矩阵$A_i$,我们进行循环分解,得到有理标准形

然后,对每个子矩阵$A_{ij}$($m_{ij}=(\lambda-\lambda_i)^{k_{ij}}$的友阵),考虑$B_{ij}=A_{ij}-\lambda_iI$,不难发现$B_{ij}$的极小多项式是$\lambda^{k_{ij}}$,所以只需要再对$B_{ij}$进行一次循环分解即可(如果很难理解,可以回顾一下上篇博客)。按照这个原理,在准素分解得到的$A_1$、$A_2$、$A_3$中,后两个的阶数为$1$,已经不需要分解,相似于自己即可。

对于矩阵

考虑到不变因子$m_{11}=(\lambda-2)^2=\lambda^2-4\lambda+4$,有且仅有一个,我们能得到它的有理标准形是

从$A_{1}$到$A_{11}$的过渡矩阵可以取循环基$\alpha=(1,0)^T$和$A_1\alpha=(\frac{5}{4},\frac{3}{4})^T$,构成过渡矩阵$Q=\begin{bmatrix}1&\frac{5}{4} \\ 0 & \frac{3}{4}\end{bmatrix}$。此时就有

令$B_{11}=A_{11}-2{I}=\begin{bmatrix}-2& -4 \\ 1 & 2\end{bmatrix}$,又重新取循环基,$\alpha=(1,0)^T$和$B_{11}\alpha=(-2,1)^T$,得到过渡矩阵$U=\begin{bmatrix}1& -2 \\ 0& 1\end{bmatrix}$,这个时候又有

从而对于$A_{11}$来说又有

再回到矩阵$A_1$,又有

令$V_1=QU$,我们就得到了$A_1=V_1^{-1}J_2(2)V_1$,得到一个和Jordan块的相似。

4. 将所有矩阵组装起来,得到原矩阵到Jordan标准形的总过渡矩阵

对于$A_2$和$A_3$来说,对应的$V_2$和$V_3$都是一阶单位矩阵,因为本身就已经不能再化简了。结果,我们得到了从$\text{diag}(A_{11},A_{22},A_{33})$到Jordan标准形的过渡矩阵$S=\text{diag}(V_1,V_2,V_3)$,也就是说

满足

最后再加上用来准素分解的$P$,我们就得到了从原矩阵$A$到Jordan标准形$J$的过渡矩阵

满足$T^{-1}AT=J$。到这里,我们的过渡矩阵就被求出来了。每一步都是有缘由的,都是直接运用前面的线性代数理论的,没有任何偏差。

但是要注意,Jordan标准形中,指定特征值下的Jordan块,不一定只有一个。这篇博客中的矩阵$A$,在特征值为$2$下有一个,这是因为极小多项式和特征多项式恰好相等。Jordan标准形中有多个相同特征值下的Jordan块的例子有没有?当然有,而且很简单,单位矩阵就是一个例子。