线性代数二三事

第5章:标准形

5.2 Jordan标准形

第5章 标准形

回顾我们上一章里面提到的Schur定理, 我们可以把一个矩阵分解成A=QPQ\vec A=\vec Q\vec P\vec Q^*的形式. 其中P\vec P为主对角线是A\vec A的特征值的上三角矩阵, Q\vec Q为正交矩阵(或酉矩阵). Schur分解的优点是其保留了基底的正交性,但所得到的上三角矩阵一般不是最简单的形式. 在本节中, 我们放弃基底的正交性, 只要求基变换矩阵可逆. 这样一来我们希望通过选取一组特定的基底, 使得上三角矩阵的形式更为简单. 通过这种变换得到的上三角矩阵即被称为Jordan标准形 (Jordan Canonical Form).

定理 5.2

设线性变换T:VV,dim(V)=n\vec T: V \to V, \dim(V)=nkk个不同的特征值λ1,,λkR\lambda_1,\cdots,\lambda_k \in\mathbb{R}, 记λi\lambda_i的代数重数为mim_i. 那么存在VV的一组基底β\beta, 使得[T]β=diag(U1Uk)[\vec T]_\beta = \diag\begin{pmatrix} \vec U_1 & \cdots \vec U_k \end{pmatrix}, 其中UiMmi(R)\vec U_i \in M_{m_i}(\mathbb{R})为上三角矩阵, 主对角线上的元素为λi\lambda_i. 也就是说, 若矩阵AMn(R)\vec A \in M_n(\mathbb{R})kk个不同的实数特征值, 那么存在可逆矩阵Q\vec Q与上三角矩阵P\vec P, 使得A=QPQ1\vec A = \vec Q\vec P\vec Q^{-1}.

该定理的证明与Schur定理的证明十分类似:

证明

我们将采用数学归纳法. 当AM1(R)\vec A \in M_1(\mathbb{R})时原式显然成立. 假设定理对所有的AMn1(R)\vec A \in M_{n-1}(\mathbb{R})成立, 我们只需要证明该定理对AMn(R)\vec A \in M_n(\mathbb{R})成立即可. 设λ1\lambda_1A\vec A的一个特征值, v1\vec v_1为其特征向量. 那么我们构造出一组Rn\mathbb{R}^n的基底β0:={v1,w1,,wn1}\beta_0:=\{ \vec v_1, \vec w_1,\cdots,\vec w_{n-1}\}. 记[T]β0[\vec T]_{\beta_0}为线性变换在基底β0\beta_0下的矩阵形式, 不难发现

[T]β0=(λ1X0A1),A1Mn1(R).[\vec T]_{\beta_0} = \begin{pmatrix} \lambda_1 & \vec X \\ \vec 0 & \vec A_1 \end{pmatrix}, \quad \vec A_1 \in M_{n-1}(\mathbb{R}).

由于A,[T]β0\vec A,[\vec T]_{\beta_0}相似, 因此二者的特征多项式相同. 那么

CA(x)=(xλ1)CA1(x),CA1(x)=(xλ1)m11(xλ2)m2(xλk)mk.C_{\vec A}(x) = (x-\lambda_1)\cdot C_{\vec A_1}(x), \quad C_{\vec A_1}(x) = (x-\lambda_1)^{m_1-1}(x-\lambda_2)^{m_2}\cdots(x-\lambda_k)^{m_k}.

根据数学归纳法的假设, 存在可逆矩阵Q\vec Q与上三角矩阵P\vec P, 使得

QPQ1=A1,\vec Q \vec P \vec Q^{-1} = \vec A_1,

其中记P=diag(Z1U2Uk)\vec P = \diag\begin{pmatrix} \vec Z_1 & \vec U_2 & \cdots & \vec U_k \end{pmatrix}, Z1Mm11(R),UiMmi(R)\vec Z_1 \in M_{m_1-1}(\mathbb{R}), \vec U_i \in M_{m_i}(\mathbb{R})为上三角矩阵, 主对角线上的元素均为λ1,λi\lambda_1, \lambda_i. 记S=(100Q)\vec S = \begin{pmatrix} 1 & \vec 0^\top \\ \vec 0 & \vec Q \end{pmatrix}, 那么

A:=S1[T]β0S=(100Q1)(λ1X0A1)(100Q)=(λ1XQ0Q1A1Q),\vec A':=\vec S^{-1} [\vec T]_{\beta_0}\vec S = \begin{pmatrix} 1 & \vec 0^\top \\ \vec 0 & \vec Q^{-1} \end{pmatrix} \begin{pmatrix} \lambda_1 & \vec X \\ \vec 0 &\vec A_1 \end{pmatrix}\begin{pmatrix} 1 & \vec 0^\top \\ \vec 0 & \vec Q \end{pmatrix} =\begin{pmatrix} \lambda_1 & \vec X\vec Q \\ \vec 0 & \vec Q^{-1}\vec A_1\vec Q \end{pmatrix},

A,[T]β0,A\vec A',[\vec T]_{\beta_0},\vec A三者两两相似.

我们在本节学习的Jordan标准形便是矩阵三角化的一种体现. 定理 5.2 只说明我们可以得到上三角矩阵, 但它并没有说明主对角线以上的元素应该具有什么结构. Jordan 标准形的目标就是进一步将这些上三角块整理成若干个标准的 Jordan 块. 我们再次给出Jordan块的定义:

定义 5.5

n1n \geq 1, 定义Jordan 块Jn(λ)J_n(\lambda)为主对角线为λ\lambda, 主对角线上一个位置为11, 其余位置全部为00的矩阵. 即

J1(λ)=(λ),J2(λ)=(λ10λ),J3(λ)=(λ100λ100λ),J4(λ)=(λ1000λ1000λ1000λ),J_1(\lambda) = (\lambda),\quad J_2(\lambda)=\begin{pmatrix} \lambda & 1 \\ 0 & \lambda \end{pmatrix} ,\quad J_3(\lambda)=\begin{pmatrix} \lambda & 1 & 0 \\ 0 & \lambda & 1 \\ 0 & 0 & \lambda \end{pmatrix}, \quad J_4(\lambda) = \begin{pmatrix} \lambda & 1 & 0 & 0 \\ 0 & \lambda & 1 & 0 \\ 0 & 0 & \lambda & 1 \\ 0 & 0 & 0 & \lambda \end{pmatrix}, \quad\cdots

值得注意的是Jordan 块的形式并不是任意规定的. 它来自上一节中我们所定义的的广义特征向量链. 我们还假设AMn(R)\vec A\in M_n(\mathbb{R}), λ\lambda为代数重数为mm的特征值. 若向量组 v1,v2,,vm\vec v_1,\vec v_2,\cdots,\vec v_m 满足 (AλI)v1=0,(\vec A-\lambda \vec I)\vec v_1=\vec 0,以及(AλI)vj=vj1,j=2,,m,(\vec A-\lambda \vec I)\vec v_j=\vec v_{j-1},\quad j=2,\dots,m,则有

Av1=λv1,Avj=λvj+vj1,j=2,,m.\vec A\vec v_1=\lambda \vec v_1, \quad \vec A\vec v_j=\lambda \vec v_j+\vec v_{j-1},\quad j=2,\dots,m.

因此在基底β={v1,v2,,vm}\beta=\{\vec v_1,\vec v_2,\dots,\vec v_m\}A\vec A的矩阵形式正是一个Jordan块:

Jm(λ)=(λ1000λ1000λ01000λ).J_m(\lambda)= \begin{pmatrix} \lambda&1&0&\cdots&0\\ 0&\lambda&1&\cdots&0\\ 0&0&\lambda&\cdots&0\\ \vdots&\vdots&\vdots&\ddots&1\\ 0&0&0&\cdots&\lambda \end{pmatrix}.

接下来, 我们不禁要问: 定理5.25.2中的上三角矩阵P\vec P能否写成Jordan块的形式呢? 我们首先注意到

Jm(λ)=λIm+Jm(0).J_m(\lambda) = \lambda\vec I_m + J_m(0).

Jm(0)J_m(0)便是一个特征值为零的Jordan块. 我们知道幂零变换的所有特征值为零(见5.15.1练习33), 因此研究幂零变换对理解Jordan块将至关重要.

定理 5.3

设线性变换T:VV,dim(V)=n\vec T: V \to V, \dim(V)=n, 且T\vec T为幂零变换. 那么存在VV的一组基底β\beta,

[T]β=diag(Jr1(0)Jr2(0)Jrs(0)),r1++rs=n.[\vec T]_{\beta} = \diag\begin{pmatrix} J_{r_1}(0) & J_{r_2}(0) & \cdots & J_{r_s}(0) \end{pmatrix}, \quad r_1+\cdots+r_s=n.

换言之, 任何幂零变换都可以在某基底下表示成若干个零特征值Jordan块的直和.

我将不作过于技术化的证明. 下面我给出一个大致的思路:

证明

T\vec T 的幂零指数为mm, 即 Tm=0,Tm10,\vec T^m=\vec 0, \vec T^{m-1}\neq \vec 0, 因此根据上一节的推论, 我们可以得到一列递增的子空间:

{0}KerTKerT2KerTm=V.\{0\}\subset \Ker \vec T\subset \Ker \vec T^2\subset\cdots\subset \Ker \vec T^m=V.

我们的目标是在VV中选出若干条广义特征向量链 vrvr1v10,\vec v_r\mapsto \vec v_{r-1}\mapsto\cdots\mapsto \vec v_1\mapsto \vec 0, 使得在每一条链中 Tv1=0,Tvj=vj1,j=2,,r.\vec T\vec v_1=\vec 0, \vec T\vec v_j=\vec v_{j-1},\quad j=2,\dots,r. 这样一来每一条这样的链都对应一个 Jordan 块Jr(0)J_r(0). 首先, 我们从KerTm\Ker \vec T^m 开始. 选取若干个向量使得它们构成KerTmKerTm1\Ker \vec T^m\setminus\Ker \vec T^{m-1}的一组基底. 对于每个这样的向量v\vec v, 由于Tmv=0,Tm1v0\vec T^m \vec v=\vec 0,\vec T^{m-1}\vec v\neq \vec 0, 由上一节的结论可知{v,Tv,,Tm1v}\{ \vec v, \vec T\vec v, \cdots, \vec T^{m-1}\vec v\} 线性无关. 因此这些向量一起构成了一条长度为mm的广义特征向量链.

随后我们在KerTm1KerTm2\Ker \vec T^{m-1}\setminus\Ker \vec T^{m-2} 中选取新的向量, 并对每个新向量重复同样的过程. 这样一来我们得到长度为m1m-1的广义特征向量链. 我们随后重复这个步骤, 依次在KerTjKerTj1,j=m,m1,,1\Ker \vec T^j\setminus \Ker \vec T^{j-1},\quad j=m,m-1,\dots,1中选取尚未被前面链覆盖的向量,并生成相应的链. 这样以来, 我们得到的所有链中的向量线性无关, 并且它们的个数恰好为nn, 因此这些向量构成VV的一组基底.

在每一条链v1,,vr\vec v_1,\cdots,\vec v_r中, 由于我们有 Tv1=0,Tvj=vj1,\vec T\vec v_1=\vec 0,\quad \vec T\vec v_j=\vec v_{j-1}, 所以在这条链对应的基底下T\vec T的矩阵形式即为Jr(0)J_r(0).

Jr(0)=(01000010000010000).J_r(0)= \begin{pmatrix} 0&1&0&\cdots&0\\ 0&0&1&\cdots&0\\ 0&0&0&\cdots&0\\ \vdots&\vdots&\vdots&\ddots&1\\ 0&0&0&\cdots&0 \end{pmatrix}.

我们如果把把所有链合并起来便可以得到

[T]β=diag(Jr1(0)Jr2(0)Jrs(0)).[T]_\beta= \diag \begin{pmatrix} J_{r_1}(0) & J_{r_2}(0) &\cdots &J_{r_s}(0) \end{pmatrix}.

我们可以将递增的核空间链

{0}KerTKerT2KerTm=V\{\vec 0\}\subseteq \Ker \vec T\subseteq \Ker \vec T^2\subseteq\cdots\subseteq \Ker \vec T^m=V

理解为一层一层像洋葱一样的结构. 在构造 Jordan 链时,我们并不是在每个KerTj\Ker \vec T^j 中重新选取一组完整基底, 而是只在新增的部分中选取代表元. 换言之, 我们只选择 KerTj\Ker \vec T^j 中相对于 KerTj1\Ker \vec T^{j-1} 新出现的“方向”(线性无关的向量). 每当我们在某一层选出一个向量v\vec v时, 它会通过 v, Tv, T2v,\vec v,\ \vec T\vec v,\ \vec T^2\vec v,\cdots 向较低层生成一整条链. 因此, 在较低层继续选取向量时, 我们需要避开已经由较长链生成出的方向. 通过这种方式可以确保最终得到的所有链中的向量彼此线性无关, 并且总数恰好等于dim(V)=n\dim(V)=n.

因此由定理5.35.3可知, 幂零变换可以分解为若干个关于特征值00的Jordan块. 接下来我们将说明一般的线性变换也可以在其广义特征空间上转化为幂零变换. 设λ\lambdaT\vec T的特征值, 其代数重数为mm, 其对应的广义特征空间我们记作Gλ\mathcal{G}_\lambda, 满足Gλ=Ker(AλI)m\mathcal{G}_\lambda = \Ker(\vec A-\lambda\vec I)^m, 根据上一节的推论, dim(Gλ)=m\dim(\mathcal{G}_\lambda)=m, 且在Gλ\mathcal{G}_{\lambda}上, 线性变换

Nλ:=(TλI)Gλ\vec N_{\lambda}:= (\vec T-\lambda\vec I)\Bigg|_{\mathcal{G}_\lambda}

为幂零变换(Nλ\vec N_\lambda表示将线性变换TλI)\vec T-\lambda\vec I)限制在Gλ\mathcal{G}_\lambda上). 这是因为对于任意的vGλ,(AλI)mv=0\vec v \in \mathcal{G}_\lambda, (\vec A-\lambda\vec I)^m \vec v=\vec 0, 因此Nλmv=(TλI)mv=0\vec N_{\lambda}^m \vec v = (\vec T-\lambda\vec I)^m\vec v = \vec 0. 因此定理5.35.3同样适用于Nλ=(TλI)N_{\lambda} = (\vec T-\lambda\vec I). 这样一来我们便会得到 形如diag(Jr1(λ)Jrs(λ))\diag\begin{pmatrix} J_{r_1}(\lambda) & \cdots & J_{r_s}(\lambda) \end{pmatrix}.

定理 5.4

设线性变换T:VV,dim(V)=n\vec T: V \to V,\dim(V)=n的特征多项式在R\mathbb{R}中可完全分解. 若T\vec T存在kk个不同的特征值λ1,,λkR\lambda_1,\cdots,\lambda_k \in \mathbb{R}, 那么存在VV的一组基底β\beta, 使得

[T]β=diag(U1Uk),[\vec T]_\beta = \diag\begin{pmatrix} \vec U_1 & \cdots & \vec U_k\end{pmatrix},

其中Ui=diag(Jri1(λi)Jrisi(λi))\vec U_i = \diag\begin{pmatrix} J_{r_{i1}}(\lambda_i) & \cdots & J_{r_{is_i}}(\lambda_i) \end{pmatrix}.

回顾本章的例题5.1,5.25.1,5.2, 矩阵A=(0101021111000101)\vec A = \begin{pmatrix} 0 & 1 & 0 & 1 \\ 0 & -2 & -1 & -1 \\ 1 & 1 & 0 & 0 \\ 0 & 1 & 0 & 1 \end{pmatrix}. 我们求出其广义特征向量构成的基底为

β={v1=(1111),v2=(1001),v3=(1120),v4=(1211)},\beta = \left\{ \vec v_1 = \begin{pmatrix} 1 \\ -1 \\ 1 \\ 1 \end{pmatrix}, \vec v_2 = \begin{pmatrix} 1 \\ 0 \\ 0 \\ 1 \end{pmatrix}, \vec v_3 = \begin{pmatrix} -1 \\ 1 \\ -2 \\ 0 \end{pmatrix}, \vec v_4 = \begin{pmatrix} 1 \\ -2 \\ 1 \\ 1\end{pmatrix} \right\},

[T]β=(0100001000000001)=(J3(0)00J1(1)).[\vec T]_{\beta} = \begin{pmatrix} 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & -1 \end{pmatrix} = \begin{pmatrix} J_3(0) & 0 \\ 0 & J_1(-1) \end{pmatrix}.

那么我们便知道

A=(0101021111000101)=(1111101210211101)(0100001000000001)(1111101210211101)1.\vec A = \begin{pmatrix} 0 & 1 & 0 & 1 \\ 0 & -2 & -1 & -1 \\ 1 & 1 & 0 & 0 \\ 0 & 1 & 0 & 1 \end{pmatrix} = \begin{pmatrix} 1 & 1 & -1 & 1 \\ -1 & 0 & 1 & -2 \\ 1 & 0 & -2 & 1 \\ 1 & 1 & 0 & 1 \end{pmatrix} \cdot \begin{pmatrix} 0 & 1 & 0 & 0 \\ 0 & 0 & 1 & 0 \\ 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & -1 \end{pmatrix} \cdot \begin{pmatrix} 1 & 1 & -1 & 1 \\ -1 & 0 & 1 & -2 \\ 1 & 0 & -2 & 1 \\ 1 & 1 & 0 & 1 \end{pmatrix}^{-1}.

{5.2练习}

1. 设向量v1,v2,v3R3v_1,v_2,v_3 \in \mathbb{R}^3 满足

(AλI)v1=0,(AλI)v2=v1,(AλI)v3=v2.(A-\lambda I)v_1=0,\qquad (A-\lambda I)v_2=v_1,\qquad (A-\lambda I)v_3=v_2.

证明: 在基底β:={v1,v2,v3}\beta:=\{\vec v_1,\vec v_2,\vec v_3\}下满足

[T]β=J3(λ)=(λ100λ100λ).[\vec T]_{\beta} = J_3(\lambda)= \begin{pmatrix} \lambda&1&0\\ 0&\lambda&1\\ 0&0&\lambda \end{pmatrix}.

2. 设矩阵J2(λ)=(λ10λ)J_2(\lambda) = \begin{pmatrix} \lambda & 1 \\ 0 & \lambda \end{pmatrix}.

(i) 证明: J2(λ)J_2(\lambda)不可对角化;

(ii) 证明: J2n(λ)=(λnnλn10λn)J^n_2(\lambda) = \begin{pmatrix} \lambda^n & n\lambda^{n-1} \\ 0 & \lambda^n \end{pmatrix}.

(iii) 设f(λ)=λnf(\lambda)=\lambda^n, 我们发现

J2n(λ)=(f(λ)f(λ)0f(λ)).J^n_2(\lambda) = \begin{pmatrix} f(\lambda) & f'(\lambda) \\ 0 & f(\lambda) \end{pmatrix}.

证明

(Jn(λ))k=[f(λ)f(λ)f(λ)2f(k1)(λ)(k1)!0f(λ)f(λ)f(k2)(λ)(k2)!00f(λ)f(k3)(λ)(k3)!000fn(λ)].(J_n(\lambda))^k = \begin{bmatrix} f(\lambda) & f'(\lambda) & \displaystyle{\frac{f''(\lambda)}{2}}& \cdots & \displaystyle{\frac{f^{(k-1)}(\lambda)}{(k-1)!}} \\ 0 & f(\lambda) & f'(\lambda) & \cdots & \displaystyle{\frac{f^{(k-2)}(\lambda)}{(k-2)!}}\\ 0 & 0 & f(\lambda) & \cdots &\displaystyle{\frac{f^{(k-3)}(\lambda)}{(k-3)!}}\\ \vdots & \vdots & \vdots & \ddots & \vdots\\ 0 & 0 & 0 & \cdots & f_n(\lambda) \end{bmatrix}.