矩阵Jordan标准形的原理
说在前面
我们在处理较大规模线性运算(主要涉及加法、乘法)时,总是希望能对计算进行简化。例如需要讨论若干个线性方程的解,或者解一个高阶微分方程,再或者是一些非线性问题在局部的线性拟合估计。一个经典的办法是矩阵对角化。但是,不是所有矩阵都能对角化的。例如矩阵$\begin{bmatrix}1&0\\1&1\end{bmatrix}$在$\mathbb{R}$和$\mathbb{C}$中都不能对角化,因为其最小多项式是$(\lambda-1)^2$。而矩阵
在$\mathbb{R}$中不可以对角化,在$\mathbb{C}$中可以对角化,因为最小多项式是$(\lambda-1)(\lambda^2+1)$。那么有没有什么稳妥的简化矩阵的办法?对角阵可能是简化的极限,那么能不能退而求其次,得到一个比较简单的形式 ,同时又把对角形当作一个特殊情况?
幸运的是,Jordan标准形给了我们这样一个机会。事实上,只要我们约定矩阵中的元素都是复数(实数看成虚部为$0$),那么就能保证,这个矩阵一定可以简化成Jordan标准形,是一个三角形矩阵,而且元素全部集中在对角线附近,而且如果这个矩阵能对角化,那么这个对角形,其实就是一个“极端”的Jordan标准形。
除了矩阵对角化、线性变换不变子空间等,这篇博客需要如下知识背景:
另,在读完这篇后,可以参考这篇博客中对一个四阶矩阵Jordan标准型的具体计算。亦可以将链接中的博文作为方便理解本篇的例子。
Jordan标准形的形式,以及和对角形的关系
实际上,$\begin{bmatrix}1&0\\1&1\end{bmatrix}$就是一个Jordan标准形的简单例子。Jordan标准形已经是简化的极限,所以很不幸,对角化和它无关。我们定义$n$阶矩阵
也就是一个对角线下方全是1的矩阵下三角形矩阵。又定义Jordan块(Jordan标准形的组成元素)如下
而Jordan标准形,就是由这些Jordan块作为对角元素的准对角矩阵,也就是
其中$\text{diag}(\cdots)$表示将括号内元素放在对角线上的对角矩阵。一个Jordan标准形可能是
也就是$n_1=n_2=\cdots=n_k=1$,这个时候就已经得到了一个对角阵。对角阵和Jordan标准形的关系就很清晰了。
也可能是
我们不妨写成$J=\text{diag}(J_2(2),J_1(7))$。
当然,这个地方的$J$写成上三角矩阵,也是可以的。原因在后面会解释。
复方阵的Jordan标准形总是存在
我们在这一节要证明这一个结论:
对任一复方阵$A$,总是存在可逆复方阵$P$使得
实际上,只要矩阵$A$的特征多项式,有$n$个特征值(这些特征值可以重复,可以不重复),那么这个矩阵就可以通过上面这个公式,转化成一个Jordan标准形。所以,实矩阵可能不需要要求把每个数都看成虚部为$0$的数,就可以对角化。而根据古典代数学基本定理,一个$n$阶复多项式一定有$n$个根,所以复矩阵一定是可以Jordan化的(如何推广这一点似乎就很明显了,不过这不在本篇博客的讨论范围内)。
下面提供两种不同的角度进行理解。但是整体思路是一样的。先对矩阵进行准素分解,又进行循环分解,再把循环分解的那一部分进行“错位”,得到Jordan标准形。
从线性空间的角度理解
首先,我们定义一个线性变换(在$\mathbb{C}^n$下的标准基$\{(1,0,\cdots,0),(0,1,\cdots,0),\cdots,(0,0,\cdots,1)\}$下)
不妨设$\mathscr{A}$和$A$的特征多项式为
首先,对$\mathbb{C}^n$进行准素分解,得到
我们又可以对每个子空间$V_i$进行循环分解,得到
设$\mathscr{A}$限制在$V_i$和$V_{ij}$上的线性变换分别是$\mathscr{A}_i$和$\mathscr{A}_{ij}$,特征多项式分别是$(\lambda-\lambda_i)^{d_i}$和$(\lambda-\lambda_i)^{r_{ij}}$。为方便起见,我们记$V_{ij}=V$,$r_{ij}=r$, $\mathscr{A}_{ij}=\mathscr{A}_V$。定义新的线性变换
其中$\mathscr{I}_V$是$V$中的恒等变换。因为不会产生歧义,我们简记成$\mathscr{B}_V=\mathscr{A}_V-\lambda_i$。因为$\mathscr{A}_V$的最小多项式是$(\lambda-\lambda_i)^r$,所以不难发现$\mathscr{B}^r_V$的极小多项式是$\lambda^r$,也就是说$\mathscr{B}^{r}_V=\mathscr{O}$,是一个零变换。
我们又知道,$V$是由$\mathscr{A}_V$张成的循环子空间。不妨设$V$的循环基是
我们会证明,如果把$\mathscr{A}_V$换成$\mathscr{B}_V$,得到的一组向量仍然是一组基。也就是说,我们需要证明
这组基线性无关。我们只需要证明从$\{\alpha_i\}$到$\{\beta_i\}$的过渡矩阵是可逆矩阵;或者说,用$\beta_i$表示$\alpha_i$的矩阵的行列式不等于$0$;或者说,$\{\beta_i\}$这组向量的秩为$r$,这些说法都是等价的。我们不难发现(也可以用归纳证明)
用矩阵的形式表示,设$\beta=\begin{bmatrix}\beta_1\\ \beta_2 \\ \vdots \\\beta_n\end{bmatrix}$,$\alpha=\begin{bmatrix}\alpha_1\\ \alpha_2 \\ \vdots \\\alpha_n\end{bmatrix}$,那么就有
也就是说,过渡矩阵(不妨设为$B$)的每一行,都是$(1-\lambda)^k$的对应项。显然,$\det{B} \neq 0$。这说明,这组向量线性无关,是$V$的一组基。对于这组基,我们有
最后一个成立是因为$(\mathscr{A}-\lambda_i)\beta_r=\mathscr{B}_V^{r}\beta_1=0$。这组$\beta_i$又称作Jordan链,因为关系又可以写成一个链性关系:
如果我们用$\{\beta_i\}$作为基,那么$\mathscr{A}_V$的矩阵表示恰好就是一个Jordan块$J_{r}(\lambda_i)$。这是我们对任意一个循环子空间$V_{ij}$进行的操作,将所有的子空间都选择一组Jordan链之后,将所有的Jordan链作为$\mathbb{C}^n$的一组新基,即为$P$,根据矩阵相似的原理,将标准基变换为全体Jordan链,就得到了Jordan标准形。
证明的进一步理解:为什么要进行准素分解和循环分解?
在这里进行准素分解和循环分解,并非空穴来风。准素分解是根据矩阵的特征值进行分解。把特征值相等的部分切割开来,保证每个子空间,对应的每个子矩阵,都在操作相同的特征值,这保证了特征值还能在这个分解中派上用场。
接下来,对每个准素分解子空间进行循环分解,把不变子空间这个概念充分直接运用(而不是只求特征向量这一丁点关于不变子空间的信息),再将每个子空间分解成循环子空间。但是循环分解得到的是一个友阵,这个友阵不够简洁。因为最后一列与$(\lambda-\lambda_i)^r$的二项式展开的系数有关系。如果我们对循环基进行合适的偏移,发现子空间也是$\mathscr{B}_V = \mathscr{A}_V-\lambda$这个线性变换张成的子空间,而$\mathscr{B}_V$的友阵恰好是一个$L_n$,就得到了一个非常简洁的表示形式了。
如果我们把Jordan链的顺序完全颠倒,从$\beta_1,\beta_2,\cdots,\beta_n$颠倒成$\beta_n,\beta_{n-1},\cdots,\beta_1$,那么得到的标准形$J’$就是$J$的转置。所以,$J$和$J^{T}$都可以用来表示Jordan标准形。
从矩阵运算的角度理解
设$A$的特征多项式为$f(\lambda)=(\lambda-\lambda_1)^{d_1}\cdots(\lambda-\lambda_s)^{d_s}$(其中,$\lambda_1,\lambda_2,\cdots,\lambda_s$互异)。首先,对矩阵$A$进行准素分解,也就是说,首先我们有
其中$A_i$的特征多项式为$(\lambda-\lambda_i)^{d_i}$。
再对$A_i$进行准素分解,
然后讨论$A_{ij}$。首先,$A_{ij}$的最小多项式必定是$(\lambda-\lambda_i)^{k_{ij}}$的形式,如果令$B_{ij}=A_{ij}-\lambda_iI$,那么$B_{ij}$的最小多项式是$\lambda_i^{k_{ij}}$,故根据循环分解,它相似与$C(\lambda_i^{k_{ij}})$,也就是说,存在可逆矩阵$U_{ij}$,使得
从而
此即一个Jordan块。将所有$U_{ij}$都求出来之后,就能得到Jordan标准形。选取$U_{ij}$的过程就是选取Jordan链的过程。
矩阵Jordan标准形的原理