DennyQi's Log

06 特征值与特征向量

从斐波那契出发

斐波那契数列的递推公式可以写成矩阵的形式:[Fk+2Fk+1]=[1110][Fk+1Fk] {\left[\begin{array}{c}F_{k+2} \\ F_{k+1}\end{array}\right]=\left[\begin{array}{ll}1 & 1 \\ 1 & 0\end{array}\right] \left[\begin{array}{c}F_{k+1} \\ F_{k}\end{array}\right]}。根据矩阵乘法的结合律可以得到通项公式[Fk+1Fk]=([1110])k[F1F0] {\left[\begin{array}{c}F_{k+1} \\ F_{k}\end{array}\right]=\left(\left[\begin{array}{ll}1 & 1 \\1 & 0\end{array}\right]\right)^{k}\left[\begin{array}{l}F_{1} \\ F_{0}\end{array}\right]},因此问题转化为求某个矩阵的kk次幂。但这样的通项公式没有真的给出斐波那契数列通项的解析表达式。

我们知道我们可以通过待定系数把二阶线性递推配凑成一阶线性递推,在这里,我们有两种配凑方法,组合起来得到:[Fk+2+1+52Fk+1Fk+2+152Fk+1]=[1+5200152][Fk+1+1+52FkFk+1+152Fk]\left[\begin{array}{c} F_{k+2}+\frac{-1+\sqrt{5}}{2} F_{k+1} \\ F_{k+2}+\frac{-1-\sqrt{5}}{2} F_{k+1} \end{array}\right]=\left[\begin{array}{cc} \frac{1+\sqrt{5}}{2} & 0 \\ 0 & \frac{1-\sqrt{5}}{2} \end{array}\right]\left[\begin{array}{l} F_{k+1}+\frac{-1+\sqrt{5}}{2} F_{k} \\ F_{k+1}+\frac{-1-\sqrt{5}}{2} F_{k} \end{array}\right]。一阶线性递推意味着所乘矩阵必须恰好是对角矩阵。

把我们的配凑也写成矩阵乘以原始的FkF_k的形式,得到[11+521152][Fk+2Fk+1]=[1+5200152][11+521152][Fk+1Fk]\left[\begin{array}{cc} 1 & \frac{-1+\sqrt{5}}{2} \\ 1 & \frac{-1-\sqrt{5}}{2} \end{array}\right]\left[\begin{array}{c} F_{k+2} \\ F_{k+1} \end{array}\right]=\left[\begin{array}{cc} \frac{1+\sqrt{5}}{2} & 0 \\ 0 & \frac{1-\sqrt{5}}{2} \end{array}\right]\left[\begin{array}{cc} 1 & \frac{-1+\sqrt{5}}{2} \\ 1 & \frac{-1-\sqrt{5}}{2} \end{array}\right]\left[\begin{array}{c} F_{k+1} \\ F_{k} \end{array}\right],最左侧的矩阵可逆,于是得到[Fk+2Fk+1]=[11+521152]1[1+5200152][11+521152][Fk+1Fk]\left[\begin{array}{c} F_{k+2} \\ F_{k+1} \end{array}\right]=\left[\begin{array}{cc} 1 & \frac{-1+\sqrt{5}}{2} \\ 1 & \frac{-1-\sqrt{5}}{2} \end{array}\right]^{-1}\left[\begin{array}{cc} \frac{1+\sqrt{5}}{2} & 0 \\ 0 & \frac{1-\sqrt{5}}{2} \end{array}\right]\left[\begin{array}{cc} 1 & \frac{-1+\sqrt{5}}{2} \\ 1 & \frac{-1-\sqrt{5}}{2} \end{array}\right]\left[\begin{array}{c} F_{k+1} \\ F_{k} \end{array}\right]。我们发现,如果把中间的三个矩阵看作整体做kk次幂,逆矩阵会被相互消去。而计算对角矩阵的kk次幂只需要把对角线的数本身做kk次幂。这样,我们就最终得到[Fk+2Fk+1]=[11+521152]1[(1+52)k00(152)k][11+521152][F2F1]\left[\begin{array}{c} F_{k+2} \\ F_{k+1} \end{array}\right]=\left[\begin{array}{cc} 1 & \frac{-1+\sqrt{5}}{2} \\ 1 & \frac{-1-\sqrt{5}}{2} \end{array}\right]^{-1}\left[\begin{array}{cc} \left(\frac{1+\sqrt{5}}{2}\right)^k & 0 \\ 0 & \left(\frac{1-\sqrt{5}}{2}\right)^k \end{array}\right]\left[\begin{array}{cc} 1 & \frac{-1+\sqrt{5}}{2} \\ 1 & \frac{-1-\sqrt{5}}{2} \end{array}\right]\left[\begin{array}{c} F_{2} \\ F_{1} \end{array}\right],这样就可以求出斐波那契数列通项的解析式了!

特征值与特征向量

观察上述过程我们发现,关键是我们把某个矩阵AA写成了XΛX1X\Lambda X^{-1}的形式,其中Λ\Lambda代表一个对角矩阵。这个过程称为矩阵AA的对角化。

对角化的过程本质上可以归结为求解Ax=λxAx=\lambda x的问题:A=XΛX1A=X\Lambda X^{-1}等价于AX=XΛAX=X\Lambda。设X=[x1x2xn]X = \begin{bmatrix}x_1 & x_2 & \cdots & x_n\end{bmatrix},根据分块矩阵的乘法,即要使得[Ax1Ax2Axn]=[λ1x1λ2x2λnxn]\begin{bmatrix}Ax_1 & Ax_2 & \cdots & Ax_n\end{bmatrix}=\begin{bmatrix}\lambda_1 x_1 & \lambda_2 x_2 & \cdots & \lambda_n x_n\end{bmatrix}

所以,想要完成对角化,我们需要对于已知的矩阵AA找到nn个向量xix_i使得存在对应的λi\lambda_i满足Axi=λixiAx_i=\lambda_i x_i。同时由于X1X^{-1}要存在,这nnxix_i必须要是线性独立的。

也就是我们要解方程Ax=λxAx=\lambda x,对于满足这个方程的λ,x\lambda,x,我们把λ\lambda称为AA的特征值,xx称为AA的特征向量。(为了保证线性独立,我们规定xx不能取零向量)

从几何上理解Ax=λxAx=\lambda x,矩阵AA可以看作一个从Rn\R^nRn\R^n的一个线性映射,这个方程告诉我们所有特征向量被AA映射之后是“不改变方向的”。

为了更深入理解,我们来看几个特殊的例子。AA不可逆等价于AA存在λ=0\lambda =0作为一个特征值,因为Ax=0Ax=0存在非零解;如果AA是对角矩阵,那么一定满足Aei=aiieiAe_i=a_{ii}e_i,因此对角线上的每个元素都是AA的特征值,eie_i一定是特征向量。如果AA是投影矩阵PP,那么映射之后不改变方向的只可能是子空间内的向量或者与子空间垂直的向量,相应的特征值分别只能是1与0。

解特征值

Ax=λxAx=\lambda x等价于(AλI)x=0(A-\lambda I)x=0。这是一个线性方程组,并且它有非零解。这意味着矩阵AλIA-\lambda I的零空间有维数,这可以直接推出det(AλI)=0\det(A-\lambda I)=0。反过来,对于所有满足det(AλI)=0\det(A-\lambda I)=0λ\lambda,必定意味着Ax=λxAx=\lambda x有非零解,因此这样的λ,x\lambda,x就是我们要的特征值与特征向量。我们验证了,Ax=λxAx=\lambda xdet(AλI)=0\det(A-\lambda I)=0是等价的。

det(AλI)=0\det(A-\lambda I)=0是一个关于λ\lambdann次方程,解特征值就是求这个方程的根。我们令f(λ)=det(AλI)f(\lambda)=\det(A-\lambda I),这是一个“特征多项式”。我们只需要找到令这个多项式等于0的“特征根方程”的“特征根”。

根据代数学基本定理,特征根最多只有nn个(包括重根),之前我们讨论过对角矩阵的特征值,其特征根方程形如(λa11)(λann)=0(\lambda-a_{11})\cdots(\lambda-a_{nn})=0,因此它的特征值恰好就是所有对角线上的元素,不可能存在其它特征根了。

值得注意的是,特征根方程可能在实数域下无解。

对角化

我们的目标是要找到XXΛ\Lambda使得A=X1ΛXA=X^{-1}\Lambda X或等价地Λ=XAX1\Lambda = XAX^{-1}。这在我们找到nn个特征值之后是容易的,只需要分别解出Axi=λxiAx_i=\lambda x_i(或(AλiI)xi=0(A-\lambda_i I)x_i=0)。

并不是所有矩阵都可以对角化的,对角化是有条件的。比如[1101]\begin{bmatrix}1&1\\0&1\end{bmatrix}的特征值只有11,解出的特征向量分布在直线y=0y=0上,无法找到两个线性独立的特征向量,因此不能对角化。如果我们能找到nn个线性独立的特征向量,那么X,A,X1X,A,X^{-1}就都能得到,对角化就一定能完成。反过来,如果已知对角化能被完成,那么一定能找到nn个线性独立的特征向量。可见,“存在nn个线性独立的特征向量”是“可对角化”的充要条件。

我们发现,只要特征值两两不同,那么把每个特征值对应的特征向量拿一个出来,这些向量一定是互相线性独立的,我们就一定可以对角化。即,特征值两两不同是可对角化的充分条件。

Pf:归纳地,λ1\lambda_1对应x1x_1,它是线性独立的。如果已经成立c1x1++ckxk=0c_1x_1+\cdots+c_{k}x_k=0当且仅当ci=0c_i=0恒成立,我们要证明c1x1++ckxk+ck+1xk+1=0c_1x_1+\cdots+c_{k}x_k+c_{k+1}x_{k+1}=0当且仅当ci=0c_i=0恒成立。若ck+1=0c_{k+1} =0,那么根据归纳假设必须满足c1c_1ckc_k恒等于0。若ck+10c_{k+1} \neq 0,那么成立xk+1=1ck+1(c1x1++ckxk)x_{k+1}=-\dfrac{1}{c_{k+1}}(c_1x_1+\cdots+c_kx_k)。等式两边同时左乘AA得到Axk+1=1ck+1(c1Ax1++ckAxk)Ax_{k+1}=-\dfrac{1}{c_{k+1}}(c_1Ax_1+\cdots+c_kAx_k),作替换得到λk+1xk+1=1ck+1(c1λ1x1++ckλkxk)\lambda_{k+1}x_{k+1}=-\dfrac{1}{c_{k+1}}(c_1\lambda_{1}x_1+\cdots+c_k\lambda_{k}x_k)。这时,我们想要把λk+1\lambda_{k+1}除过去,但它可能为零。我们这样处理:由于λi\lambda_i互不相同,如果有0我们就在最开始把它和λ1\lambda_1调换,这就保证了λk+1\lambda_{k+1}始终不为0。于是有xk+1=1λk+1ck+1(c1λ1x1++ckλkxk)x_{k+1}=-\dfrac{1}{\lambda_{k+1}c_{k+1}}(c_1\lambda_{1}x_1+\cdots+c_k\lambda_{k}x_k)。根据基底表示的唯一性,得到ciλiλk+1ck+1=cick+1-\dfrac{c_i\lambda_i}{\lambda_{k+1}c_{k+1}}=-\dfrac{c_i}{c_{k+1}}恒成立,也就得出了ci(λiλk+1)=0c_i(\lambda_i-\lambda_{k+1})=0恒成立,由于λiλk+1\lambda_i \neq \lambda_{k+1},因此c1c_1ckc_k全为0,而ck+1c_{k+1}xk+1x_{k+1}都不为0,这就与等式右侧为0矛盾。

对称矩阵的特征值与特征向量

我们知道一般的矩阵有可能不存在实数的特征值,但根据代数基本定理,n×nn \times n的矩阵一定有nn个复数特征值。相应地,每个特征值都可以对应复数特征向量。

而一个重要的事实是,实数对称矩阵(S=SS^{\top}=S)只能有实数特征值!假如我们有复数特征值λ\lambda和复数特征向量xx,那么如果满足Sx=λxSx=\lambda x,就有Sx=λx\overline{Sx}=\overline{\lambda x},即Sx=λx\overline{S}\overline{x}=\overline{\lambda}\overline{x},两边取转置得到xS=λx\overline{x}^{\top}\overline{S}^{\top}=\overline{\lambda}\overline{x}^{\top},由于S=S,S=S\overline{S}=S,S=S^\top,因此等价于xS=λx\overline{x}^{\top}S=\overline{\lambda}\overline{x}^{\top},同时右乘xxxSx=λxx\overline{x}^{\top}Sx=\overline{\lambda}\overline{x}^{\top}x。而把Sx=λxSx=\lambda x代入左边,得到xλx=λxx\overline{x}^{\top}\lambda x=\overline{\lambda}\overline{x}^{\top}x,移项得(λλ)xx=0(\lambda-\overline{\lambda})\overline{x}^{\top}x=0,由于x0x \neq 0,所以只能λλ=0\lambda - \overline{\lambda}=0,所以推出必须有λ\lambda是实数。

而假如xx是复数向量,那么Sx=λxSx=\lambda x可以写成S(a+ib)=λ(a+ib)S(a+ib)=\lambda(a+ib),就分别得到Sa=λaSa=\lambda aSb=λbSb=\lambda b必须同时成立。所以对于每个实数特征值,一定也有实数特征向量。

进一步我们发现,如果实数对称矩阵有两个不同的实数特征值λ1,λ2\lambda_1,\lambda_2,他们对应着不同的实数特征向量x1,x2x_1,x_2,那么x1,x2x_1,x_2一定是正交的。(一般矩阵不同特征值对应的特征向量是线性独立的,现在有了“对称”这个条件,x1,x2x_1,x_2满足的条件加强了)Pf:从Sx1=λ1x1,Sx2=λ2x2Sx_1=\lambda_1x_1,Sx_2=\lambda_2x_2出发,我们有λ1(x1x2)=(λ1x1)x2=(Sx1)x2\lambda_1(x_1^{\top}x_2)=(\lambda_1x_1)^{\top}x_2=(Sx_1)^{\top}x_2 =x1Sx2=x1λ2x2=λ2(x1x2)=x_1^{\top}Sx_2=x_1^\top \lambda_2x_2=\lambda_2(x_1^{\top}x_2),因此由(λ1λ2)(x1x2)=0(\lambda_1-\lambda_2)(x_1^{\top}x_2)=0得到x1x2=0x_1^{\top}x_2=0必须成立。

最后,我们能得到一个最强的命题:任何一个(实)对称矩阵都是可对角化的!也就是说,对任意SS都存在某个标准正交矩阵QQ成立S=QΛQS=Q^{\top} \Lambda Q

我们用阶数来归纳。首先一阶对称矩阵一定是可对角化的,那么作归纳假设:假设已知所有的n1n-1阶的对称矩阵是可对角化的。那么对于nn阶的对称矩阵SS,我们首先能找到它的一个实特征值λ\lambda,于是有Sx1=λx1Sx_1=\lambda x_1。不妨认为x1x_1是单位向量,我们一定可以在Rn\R^n中找到一组包含x1x_1的标准正交基,它们构成矩阵P=[x1x2xn]P=\begin{bmatrix}x_1 & x_2 & \cdots & x_n\end{bmatrix}。由于PP=IP^{\top}P=I,所以Pxi=eiP^{\top}x_i=e_i

我们发现,
PSP=PS[x1x2xn]=[PSx1PSx2PSxn]P^{\top} S P=P^{\top} S\left[\begin{array}{llll} \boldsymbol{x}_{1} & \boldsymbol{x}_{2} & \ldots & \boldsymbol{x}_{n} \end{array}\right] =\left[\begin{array}{lll} P^{\top} S \boldsymbol{x}_{1} & P^{\top} S \boldsymbol{x}_{2} & \ldots P^{\top} S \boldsymbol{x}_{n} \end{array}\right]
=[Pλ1x1PSx2PSxn]=[λ1Px1PSx2PSxn]=\left[\begin{array}{llll} P^{\top} \lambda_{1} \boldsymbol{x}_{1} & P^{\top} S \boldsymbol{x}_{2} & \ldots & P^{\top} S \boldsymbol{x}_{n} \end{array}\right] =\left[\begin{array}{llll} \lambda_{1} P^{\top} \boldsymbol{x}_{1} & P^{\top} S \boldsymbol{x}_{2} & \ldots & P^{\top} S \boldsymbol{x}_{n} \end{array}\right]
=[λ1e1PSx2PSxn]=[λ1a0B]=\left[\begin{array}{llll} \lambda_{1} \boldsymbol{e}_{1} & P^{\top} S \boldsymbol{x}_{2} & \ldots & P^{\top} S \boldsymbol{x}_{n} \end{array}\right] =\begin{bmatrix} \lambda_{1} & \boldsymbol{a}^{\top} \\ \mathbf{0} & B \end{bmatrix}

而我们知道PSPP^{\top}SP本身就是一个对称矩阵,(PSP)=PSP=PSP(P^{\top}SP)^{\top}=P^{\top}S^{\top}P=P^{\top}SP,所以[λ1a0B]\begin{bmatrix} \lambda_{1} & \boldsymbol{a}^{\top} \\ \mathbf{0} & B \end{bmatrix}恒等于[λ10aB]\begin{bmatrix} \lambda_{1} & \mathbf{0} \\ \boldsymbol{a}& B^{\top} \end{bmatrix},于是a=0,B=Ba=0,B=B^{\top}。既然BB是一个对称矩阵,并且是n1n-1阶的,那么根据归纳假设,BB是可对角化的,因此一定有B=(Q)ΛQB=(Q')^{\top}\Lambda'Q'。于是[λ100B]=[λ100(Q)ΛQ]=[100(Q)][λ100Λ][100Q]\left[\begin{array}{cc} \lambda_{1} & \mathbf{0} \\ \mathbf{0} & B \end{array}\right]=\left[\begin{array}{cc} \lambda_{1} & \mathbf{0} \\ \mathbf{0} & (Q')^{\top}\Lambda'Q' \end{array}\right]=\left[\begin{array}{cc} 1 & \mathbf{0} \\ \mathbf{0} & (Q') ^{\top} \end{array}\right]\left[\begin{array}{cc} \lambda_{1} & \mathbf{0} \\ \mathbf{0} & \Lambda^{\prime} \end{array}\right]\left[\begin{array}{cc} 1 & \mathbf{0} \\ \mathbf{0} & Q' \end{array}\right],所以可以写出PSP=MΛMP^{\top}SP=M^{\top} \Lambda M,可以看出MM也是标准正交矩阵。S=(P)1MΛMP1S=(P^{\top})^{-1}M^{\top} \Lambda M P^{-1},所以可以令Q=MP1Q=MP^{-1},得到S=QΛQS=Q^{\top} \Lambda Q。由于QQ=PMMP=IQ^\top Q = PM^\top MP^\top = I,因此QQ也是标准正交矩阵。

特征根的和与积

det(AλI)=cnλn+cn1λn1+c1λ+c0\det(A-\lambda I)=c_n\lambda^n +c_{n-1}\lambda ^{n-1}+\cdots c_1\lambda +c_0,其中cn=(1)nc^n=(-1)^n

λ=0\lambda =0(不一定是特征值),一定成立det(A)=c0\det(A)=c_0。如果det(AλI)=0\det(A-\lambda I)=0,那么方程的解λi\lambda_i就对应着特征值,由韦达定理得i=1nλi=(1)nc0cn=c0\prod\limits_{i=1}^n\lambda_i=(-1)^n\dfrac{c_0}{c_{n}}=c_0,因此i=1nλi=det(A)\prod\limits_{i=1}^n\lambda_i=\det(A)。即所有特征值的乘积一定等于行列式的值。(这也印证了如果不可逆就一定有0作为特征值)

由韦达定理还可得i=1nλi=cn1cn=(1)n+1cn1\sum\limits_{i=1}^n\lambda_i=-\dfrac{c_{n-1}}{c_{n}}=(-1)^{n+1}c_{n-1}。根据行列式的Big Formula,cn1=(1)n1i=1nA(i,i)c_{n-1}=(-1)^{n-1}\sum\limits_{i=1}^nA(i,i)。因此i=1nλi=(1)n+1(1)n1i=1nA(i,i)=i=1nA(i,i)=trace(A)\sum\limits_{i=1}^n \lambda_i=(-1)^{n+1}(-1)^{n-1}\sum\limits_{i=1}^n A(i,i)=\sum\limits_{i=1}^n A(i,i)=\text{trace}(A),对于任何矩阵其特征值的和就等于主对角线上的元素的和,这个和定义为矩阵的“迹”。

特征子空间

从上述证明中我们发现这样一个事实:一个特征值总能对应一系列特征向量,因为方程(AλI)x=0(A-\lambda I)x=0的解是一个方程组的零空间,也就是说一个特征值对应的特征向量就足以构成一个子空间(排除0),称为特征子空间。

反过来,一个特征向量不可能同时对应两个不同的特征值。因为我们已经证明了不同的特征值一定对应线性独立的特征向量。或者更简单的,Ax=λ1x,Ax=λ2xAx=\lambda_1x,Ax=\lambda_2x一定意味着λ1=λ2\lambda_1 = \lambda_2

现在想问,特征子空间的维数由什么决定?我们有结论,如果λ0\lambda_0的特征子空间是mm维的,那特征根方程中λ0\lambda_0至少有mm重根。对于对称矩阵,特征子空间的维数就等于特征根的重数。

假设特征子空间是mm维的,那么可以找到mm个向量构成的基向量v1,,vmv_1,\cdots,v_m。根据Steinitz Exchange Lemma,我们可以将这组基扩展为\Cn\C ^n的一组基,令P=[v1vmvm+1vn]P=\left[\begin{array}{llllll} \boldsymbol{v}_{1} & \ldots & \boldsymbol{v}_{m} & \boldsymbol{v}_{m+1} & \ldots & \boldsymbol{v}_{n} \end{array}\right]。那么

#x27; in math mode at position 291: …} \end{bmatrix}$̲$=\left[\begin{…" style="color:#cc0000">AP=\begin{bmatrix} A\boldsymbol{v}_{1} & \ldots & A\boldsymbol{v}_{m} & A\boldsymbol{v}_{m+1} & \ldots & A\boldsymbol{v}_{n} \end{bmatrix}=\begin{bmatrix} \lambda_0\boldsymbol{v}_{1} & \ldots & \lambda_0\boldsymbol{v}_{m} & A\boldsymbol{v}_{m+1} & \ldots & A\boldsymbol{v}_{n} \end{bmatrix}$=\left[\begin{array}{llllll} \boldsymbol{v}_{1} & \ldots & \boldsymbol{v}_{m} & \boldsymbol{v}_{m+1} & \ldots & \boldsymbol{v}_{n} \end{array}\right]\left[\begin{array}{cc} \lambda_{0} I & B \\ \mathbf{0} & C \end{array}\right],整理得到A=P[λ0IB0C]P1A=P \left[\begin{array}{cc} \lambda_{0} I & B \\ \mathbf{0} & C \end{array}\right] P^{-1}

我们特别注意PMP1PMP^{-1}这样的一个矩阵,PP是可逆的,我们知道可逆矩阵可以理解为一系列的初等变换,所以PMP1PMP^{-1}是对MM进行了一系列行变换和列变换之后得到的结果,我们称它是和MM相似的,它们有秩相同等等的性质。尤其注意到这样一个性质,假如A,BA,B是相似矩阵,那么对于任意λ\lambdadet(AλI)=det(BλI)\det(A-\lambda I)=\det(B-\lambda I)。因为B=PAP1B=PAP^{-1},所以有

#x27; in math mode at position 77: …ambda I)P^{-1})$̲$=\det(P)\det(P…" style="color:#cc0000">\det(B-\lambda I)=\det(PAP^{-1}-\lambda PIP^{-1})=\det(P(A-\lambda I)P^{-1})$=\det(P)\det(P^{-1})\det(A-\lambda I)=\det(A-\lambda I)。(从中也可以发现,相似矩阵有相同的特征值)

于是就有det(AλI)=det([λ0IB0C]λI)=(λ0λ)IB0CλI\det(A-\lambda I)=\det(\left[\begin{array}{cc} \lambda_{0} I & B \\ \mathbf{0} & C \end{array}\right]-\lambda I)=\begin{vmatrix}(\lambda_0-\lambda)I & B \\ 0 & C-\lambda I\end{vmatrix},根据行列式运算法则一定有因式(λ0λ)m(\lambda_0-\lambda)^m,因此特征根方程至少有λ0\lambda_0mm重根。

对于实对称矩阵,我们已经知道它是可对角化的,我们能找到nn个线性独立的特征向量。这时不可能出现重根数比维数还大的情形了,因为这样的事一旦发生方程的根的总数就会超过nn,与代数基本定理矛盾。因此每个特征值的重根数就等于特征子空间的维数。

特征值在图论中的应用

求解线性递推只是特征值的一个应用。我们将会看到,特征值在别的领域也有广泛的应用。

如果一张图的每个点的相邻点个数都是dd,就称它是dd-regular的。由于每个点的相邻点个数都是dd,所以它的“邻接矩阵”GG的每行每列都恰好有dd11ndn-d个0,其中主对角线上都是0。

我们知道邻接矩阵是实对称矩阵。实对称矩阵的特征值一定全为实数,因此dd-regular图的特征值全为实数,记为λ1λ2λn\lambda_1 \geq \lambda_2 \geq \cdots \geq \lambda_n

GG的特征值满足什么条件呢?(我们研究的是dd-regular图的特征值,其中dd-regular是一个很强的条件,所以它的特征值才会有那么简洁的规律)如果取特征向量(1,1,,1)(1,1,\cdots,1),可以解出GG一定有特征值dd

假设GG有特征值λ\lambda,对应着某个特征向量xx。任何向量总有某个坐标的绝对值是最大的那个,设xi|x_i|是最大的,即xixk|x_i| \geq |x_k|对所有kk恒成立(根据规定xi0|x_i| \neq 0)。不妨设xi>0x_i > 0(如果xi<0x_i < 0,那么可以对特征向量取负号,它依然是特征向量)。那么dxi=xik[n]A(i,k)k[n]A(i,k)xk=λxidx_i=x_i\sum\limits_{k \in [n]}A(i,k) \geq \sum\limits_{k \in [n]}A(i,k)|x_k|=|\lambda| x_i。于是得到λd|\lambda| \leq d。可以发现,也就是说,最大的特征向量就是刚刚解得的dd,也即一定有λ1=d\lambda_1=d

再来观察上述不等式,k[n]A(i,k)={i,k}EA(i,k)\sum\limits_{k \in [n]}A(i,k)=\sum\limits_{\{i,k\} \in E}A(i,k),取λ=d\lambda=d,对应特征向量xx,就有dxi=xi{i,k}EA(i,k){i,k}EA(i,k)xk=dxidx_i = x_i \sum\limits_{\{i,k\} \in E}A(i,k) \geq \sum\limits_{\{i,k\} \in E}A(i,k)x_k=dx_i,左边和右边相等迫使中间的等号必须取到。这意味着对于所有{i,k}E\{i,k\} \in E,都有xi=xkx_i=x_k。由于我们假设了xix_i是最大的,所以这将意味着所有与ii相邻的坐标都是最大的。对每个最大的点,迭代上述过程都可以得到它们的坐标是最大的。这意味着,从ii出发的整个连通块都是坐标最大的。

所以我们不得不注意到,λ=d\lambda=d对应的特征向量和图的连通性有密切的关系。如果整个图都是连通的,那么我们能得到特征向量的所有坐标都相同。这意味着,dd对应的特征向量的子空间只能是1维的,它的基是(1,1,,1)(1,1,\cdots,1)

考虑dd-regular图不连通的情况。我们来尝试构造dd对应的特征向量。不连通的图其实是若干个连通的图,每个连通图都依然是dd-regular的。在每个连通的图上,我们都有xix_i的这种扩散性质。一旦给一个xix_i取了非零的值,那么所有连通的点都必须是这个值。而如果给xix_i赋为0,那么其余点也必须是0,因为如果不是那么xix_i也必须不是。因此,最终的特征向量就会形成这样的块状分布的特点,每个连通块上的xix_i都相同,而不同连通块却互不影响。显而易见,特征向量构成了一个“连通块个数维”的子空间,连通块个数就等于特征根方程中解dd的重数。

我们还发现,λ\lambda最小不超过d-dλn=d\lambda_n=-d当且仅当GG是二分图(假设连通)。如果有λ=d\lambda=-d,此时依然有上面的dxi=xi{i,k}EA(i,k)dx_i=x_i\sum\limits_{\{i,k\} \in E}A(i,k)。而dxi={i,k}EA(i,k)xk-dx_i=\sum\limits_{\{i,k\} \in E}A(i,k)x_k。所以得到{i,k}EA(i,k)(xi+xk)=0\sum\limits_{\{i,k\} \in E}A(i,k)(x_i+x_k)=0,即{i,k}E(xi+xk)=0\sum\limits_{\{i,k\} \in E}(x_i+x_k)=0。由于xixkxi-x_i \leq x_k \leq x_i,所以必须有xk=xix_k=-x_i恒成立。所有与ii相邻的点符号都相反。迭代上述过程,最后就可以按照符号把所有点分成两组,形成二分图。反过来,如果图是二分图,那么把xix_i相应地取成正负的值,可以使得Gx=dxGx=-dx成立,也就说明GG有特征值d-d

正定阵

如果实对称矩阵SS的特征值全都为正,就称SS为正定阵。

正定阵的行列式一定为正。因为det(S)=det(QΛQ)=det(Λ)=λ1λn>0\det(S)=\det(Q^{\top}\Lambda Q)=\det(\Lambda)=\lambda_1 \cdots \lambda_n>0

逆命题不成立,反例:[1001]\begin{bmatrix}-1 & 0 \\ 0 & -1\end{bmatrix},行列式为1,特征值却为-1。

充要条件一

SS是正定阵的充要条件是xSx>0x^{\top}Sx>0对任意xx(非零)成立。xSxx^{\top}Sx被称为“二次型”,因为它展开之后的每一项都是形如CxixjCx_ix_j的。更精确的,xSx=i[n]j[n]sijxixj\boldsymbol{x}^{\top} S \boldsymbol{x} =\sum\limits_{i \in[n]} \sum\limits_{j \in[n]} s_{i j} x_{i} x_{j}

充分性:由于SS可对角化,有Λ=QSQ\Lambda= Q^{\top}SQ,其中QQ是标准正交基构成的正交矩阵。对于任意的xx,令y=Qxy=Q^{\top}x,即x=Qyx=Qy。我们发现xx非零当且仅当yy非零,因为QQ是满秩的,Qx=0Q^{\top}x=0当且仅当x=0x=0。于是xSx=yQSQy=yΛyx^{\top}Sx=y^{\top}Q^{\top}SQy=y^{\top} \Lambda y。这也是一个二次型,并且由于矩阵是对角阵,展开可以写作yΛy=i=1nλiyi2y^{\top} \Lambda y=\sum\limits_{i=1}^n \lambda_iy_i^2,它一定大于零。

必要性:有xSx=i=1nλiyi2>0x^{\top} S x=\sum\limits_{i=1}^n \lambda_i y_i^2>0恒成立,要证λj>0\lambda_j>0对于任意jj成立。固定jj,我们构造这样一个yy,只有yj=1y_j=1,其余yi=0y_i=0。它对于着某个非零的xx,所以必须满足xSx>0x^{\top} S x>0,因此必须有λjyj2>0\lambda_j y_j^2>0,所以就推出λj>0\lambda_j > 0

我们在投影矩阵中遇到过AAA^{\top}A,它是对称矩阵,当AA列满秩的时候它是可逆的。我们现在要说明,当AA列满秩的时候它还是个正定阵。考虑对于所有非零的xx,二次型xAAx=(Ax)2>0x^{\top}A^{\top}Ax=(Ax)^2 > 0,因为Ax=0Ax=0当且仅当x=0x=0

充要条件二

SS是正定阵当且仅当SS的顺序主子式都为正。其中,顺序主子式是指从左上角出发11nn的阶的行列式。

充分性:SS是正定阵,那么xSx>0x^{\top}Sx>0恒成立,要证左上角的kk阶行列式为正,只需证明这个kk阶子矩阵是正定阵,因为正定阵的行列式恒正。而根据充要条件一,只需证子矩阵有ySky>0y^{\top}S_ky>0恒成立(注意xxnn维向量,yykk维向量)。我们在yy末尾补上相应的0,就成了nn维向量,它“是某个xx”,也就是说可以令x=(y1,,yk,0,,0)x=(y_1,\cdots,y_k,0,\cdots,0)。于是有i[k]j[k]sijyiyj=[y1yk]Sk[y1yk]=[y1yk00]S[y1yk00]=xSx>0\sum\limits_{i \in [k]}\sum\limits_{j \in [k]}s_{ij}y_iy_j=\left[\begin{array}{lll} y_{1} & \cdots & y_{k} \end{array}\right] S_{k}\left[\begin{array}{c} y_{1} \\ \vdots \\ y_{k} \end{array}\right]=\left[\begin{array}{llllll} y_{1} & \cdots & y_{k} & 0 & \cdots & 0 \end{array}\right] S\left[\begin{array}{c} y_{1} \\ \vdots \\ y_{k} \\ 0 \\ \vdots \\ 0 \end{array}\right]=x^\top S x>0

必要性:一个数的顺序主子式就说它的行列式,行列式为正当且仅当数为正,而正数一定是正定阵,因为满足xax=ax2>0x^{\top}ax=ax^2>0。由此,我们归纳假设“SS是正定阵当且仅当SS的顺序主子式都为正”这个充要条件对n1n-1阶已经全部成立。

对于某个顺序主子式,我们对它作列变换,不改变行列式的值,得到s11s12s1k0s22s12s21/s11s2ks1ks21/s110sk2s12sk1/s11skks1ksk1/s11\left|\begin{array}{cccc} s_{11} & s_{12} & \cdots & s_{1 k} \\ 0 & s_{22}-s_{12} s_{21} / s_{11} & \cdots & s_{2 k}-s_{1 k} s_{21} / s_{11} \\ \vdots & \vdots & \ddots & \vdots \\ 0 & s_{k 2}-s_{12} s_{k 1} / s_{11} & \cdots & s_{k k}-s_{1 k} s_{k 1} / s_{11} \end{array}\right|,令tij=sijs1is1js11=sjis1jsi1s11=tjit_{i j}=s_{i j}-\dfrac{s_{1 i} s_{1 j}}{s_{11}}=s_{ji}-\dfrac{s_{1 j} s_{i 1}}{s_{11}}=t_{ji},因此[t22t2ktk2tkk]\begin{bmatrix} t_{22} & \cdots & t_{2 k} \\ \vdots & \ddots & \vdots \\ t_{k 2} & \cdots & t_{k k} \end{bmatrix}是个对称矩阵。SS的顺序主子式都是大于0的。因为s11>0s_{11}>0,由Big Formula可得这个关于tt的行列式也必须大于0(对于所有的kk)。所以,这个tt的行列式的所有顺序主子式都大于0,根据归纳假设,它一定是正定阵。对SS的二次型作展开——

xSx=i[n]j[n]sijxixj=(s11x1++s1nxn)2s11+i=2ni=2ntijxixj=(s11x1++s1nxn)2s11+[x2xn]T[x2xn]\begin{aligned} \boldsymbol{x}^{\top} S \boldsymbol{x} &=\sum_{i \in[n]} \sum_{j \in[n]} s_{i j} x_{i} x_{j} \\ &=\frac{\left(s_{11} x_{1}+\cdots+s_{1 n} x_{n}\right)^{2}}{s_{11}}+\sum_{i=2}^{n} \sum_{i=2}^{n} t_{i j} x_{i} x_{j} \\ &=\frac{\left(s_{11} x_{1}+\cdots+s_{1 n} x_{n}\right)^{2}}{s_{11}}+\left[\begin{array}{lll} x_{2} & \ldots & x_{n} \end{array}\right] T\left[\begin{array}{c} x_{2} \\ \vdots \\ x_{n} \end{array}\right] \end{aligned}

由于TT已经是正定阵,唯一要验证的就是这两项有没有可能同时取0。如果第二项取0,那么TT是正定阵要求x2xnx_2 \cdots x_n都为0,而x1x_1就不能为0,那么第一项就不为零了。而如果x2xnx_2 \cdots x_n有一项不为0,那么第二项就不为0。所以xSxx^{\top}Sx大于0恒成立,因此SS是正定阵。

Cayley–Hamilton Theorem

AA的特征多项式det(λIA)=p(λ)\det(\lambda I-A)=p(\lambda),则p(A)=0p(A)=0

Pf:

我们用Cramer法则导出过伴随矩阵满足AA=det(A)IAA^*=\det(A)I。对于任意的tt,我们设B=(tIA)B=\left(tI-A\right)^*,因此(tIA)B=det(tIA)I=p(t)I\left(t I-A\right) B=\operatorname{det}\left(t I-A\right) I=p(t) I。我们知道BB的每一位都是(tIA)(tI-A)的一个余子式,因此每一位都是一个关于tt的不超过n1n-1次的多项式。所以我们可以设有nn个矩阵C0..Cn1C_0..C_{n-1}使得B=i=0n1tiCiB=\sum\limits_{i=0}^{n-1}t^iC_i。(注意,这里的每个CiC_i其实都是已经确定的了)因此有

p(t)I=(tIA)B=(tIA)i=0n1tiCi=i=0n1ti+1Cii=0n1tiACi=tnCn1+i=1n1ti(Ci1ACi)AC0\begin{aligned}p(t)I&=\left(t I-A\right) B \\ &=\left(t I-A\right) \sum_{i=0}^{n-1} t^{i} C_{i}\\&= \sum_{i=0}^{n-1} t^{i+1} C_{i}-\sum_{i=0}^{n-1} t^{i} AC_{i}\\&=t^{n} C_{n-1}+\sum_{i=1}^{n-1} t^{i}\left(C_{i-1}-A C_{i}\right)-A C_{0}\end{aligned}

可以设p(t)=tn+dn1tn1++d1t+d0p(t)=t^n+d_{n-1}t^{n-1}+\cdots+d_1t+d_0。两边同时右乘II得到p(t)I=tnI+dn1tn1I++d1tI+d0Ip(t)I=t^nI+d_{n-1}t^{n-1}I+\cdots+d_1tI+d_0I。那么两式联立得到

tn(Cn1I)+i=1n1ti(Ci1ACidiI)(AC0+d0)I=0t^n(C_{n-1}-I)+\sum\limits_{i=1}^{n-1} t^{i}\left(C_{i-1}-A C_{i}-d_iI\right)-(A C_{0}+d_0)I=0

此式对任意tt恒成立。我们知道一个多项式恒等于0要求系数全都为0,那么当系数是矩阵时,这其实只是一系列多项式(n2n^2个),每个多项式都必须恒等于0,因此每个矩阵都必须是0。

因此有Cn1=I,diI=Ci1ACi(1i<n),d0I=AC0C_{n-1}=I, d_{i}I=C_{i-1}-AC_i(1 \leq i < n),d_0I=-AC_0。这其实告诉我们,Ci,diC_i,d_i都是被AA决定了的,通过这样的方法我们得到了它们之间的一个恒等关系。根据这个关系,代入即可相消:

p(A)=An+i=1n1diAi+d0I=AnCn1+i=1n1Ai(Ci1ACi)AC0=0\begin{aligned}p(A)&=A^n+\sum\limits_{i=1}^{n-1}d_iA^i+d_0I\\&=A^nC_{n-1}+\sum\limits_{i=1}^{n-1}A^i(C_{i-1}-AC_i)-AC_0\\&=0\end{aligned}