特征值与特征向量

XantC

为何需要特征值和特征向量?

我们知道,矩阵可以用来表示一个线性变换,它的列向量决定着变换后列空间的基底。而矩阵的特征向量,也就是在变换前后方向不变的向量,决定的则是这个变换本身的基底。

如果我们的运气足够好,得到了\(n\)个线性无关的特征向量,那我们就可以把变换后的结果表示成特征向量的线性组合。因为此时特征向量构成的矩阵是满秩的,其线性组合将打满整个空间。而借助于特征向量本身的性质,我们的运算将非常方便与自然。

比如在二维空间中,我们有\(\boldsymbol{x}=c_1\boldsymbol{x_1}+c_2\boldsymbol{x_2}\),则\(A\boldsymbol{x}=c_1A\boldsymbol{x_1}+c_2A\boldsymbol{x_2}=c_1\lambda_1\boldsymbol{x_1}+c_2\lambda_2\boldsymbol{x_2}\)

Very beautiful.

对角化

我刚才说特征向量决定了矩阵变换本身的基底,于是一些人就想着把矩阵分解成以特征向量为基底的形式,也就是矩阵的对角化。但这件事只能用在特征向量线性无关的时候来做,因为需要用到特征向量矩阵的逆。

根据特征向量的定义,我们可以得到:

\[ AX=X\Lambda \]

其中\(X\)是特征向量的矩阵,\(\Lambda\)是以特征值为对角线的对角矩阵,两个的顺序应该一一对应。这个式子其实是适用于一切方阵的(不管它的特征值是否为虚)。真正的对角化是把\(A\)独立地写出来,这就必须要求特征向量之间线性无关:

\[ A=X\Lambda X^{-1} \]

这个东西厉害在哪呢?它解决了矩阵次方的问题。这时的乘方会有一个非常简洁的式子:\(A^n=X\Lambda^n X^{-1}\)。它也表明一个矩阵乘方后,其特征值乘方,特征向量保持不变。

特征向量线性无关的条件

特征向量线性无关\(\iff\)特征值互不相等。

这里拿二维矩阵来做证明。

\[ 对方程\,c_1\boldsymbol{x}_1+c_2\boldsymbol{x}_2=0\colon \]

\[ \begin{cases} c_1\lambda_1\boldsymbol{x_1}+c_2\lambda_1\boldsymbol{x_2}=0\\ c_1\lambda_1\boldsymbol{x_1}+c_2\lambda_2\boldsymbol{x_2}=0 \end{cases} \]

\[ \Rightarrow c_2(\lambda_1-\lambda_2)\boldsymbol{x_2}=0 \]

\[ \because \lambda_1\neq \lambda_2 \]

\[ \therefore c_2=0 \]

\[ 同理\, c_i=0 \]

两类特殊矩阵

这两类矩阵的特殊之处,在于它们的对角化和特征值(也许还有其他的)。

对称矩阵

对角化

实对阵矩阵一定能被对角化为\(S=Q\Lambda Q^T\)的形式,也就是说它的特征向量互相正交

\[ S=Q\Lambda Q^{-1}=S^{\mathrm{T}}=(Q^{\mathrm{T}})^{-1}\Lambda Q^{\mathrm{T}} \]

\[ \Rightarrow \Lambda=(Q^{\mathrm{T}}Q)\Lambda(Q^{\mathrm{T}}Q)^{-1} \]

\[ \therefore Q^{\mathrm{T}}Q=I \]

为什么对称矩阵一定能被对角化?

刚才是以“对角化可行”为前提,得到它的特征向量互相正交。而这个前提本身也需要证明。

除单位矩阵外的对称矩阵天生地拥有线性无关的特征向量。我这里用两种途径来解释。

  1. 二维矩阵:

\[ S=\begin{bmatrix} a&b\\b&c \end{bmatrix} \]

\[ \Rightarrow \lambda^2-(a+c)\lambda+(ac-b^2)=0 \]

\[ \Delta = (a+c)^2-4(ac-b^2)=4b^2+(a-c)^2=0 \]

若特征值相等,则\(b=0,\, a=c,\, S=aI\)

所以一般情况下二维矩阵的特征值都不相等。

  1. 一般证明:

一般证明又可以分成两类情况:1. 特征值互不相同,2. 存在重复特征值。

Case 1 特征值互不相同

我们绕过对角化的形式,通过直接证明对称矩阵的特征向量垂直,来得到他们线性无关。

\[ \because\begin{cases} S\boldsymbol{x_1}=\lambda_1\boldsymbol{x_1}\\ S\boldsymbol{x_2}=\lambda_2\boldsymbol{x_2} \end{cases} \]

\[ \begin{align*} \therefore (S\boldsymbol{x_1})^{\mathrm{T}}\boldsymbol{x_2}&=\boldsymbol{x_1}^{\mathrm{T}}S^{\mathrm{T}}\boldsymbol{x_2}=\lambda_2\boldsymbol{x_1}^{\mathrm{T}}\boldsymbol{x_2}\\ &=\lambda_1\boldsymbol{x_1}^{\mathrm{T}}\boldsymbol{x_2} \end{align*} \]

\[ \Rightarrow (\lambda_1-\lambda_2)\boldsymbol{x_1}^{\mathrm{T}}\boldsymbol{x_2}=0 \]

\[ \Rightarrow \boldsymbol{x_1}^{\mathrm{T}}\boldsymbol{x_2}=0 \]

\[ for \; c_1\boldsymbol{x_1}+c_2\boldsymbol{x_2}=0\colon \]

\[ \begin{cases} \boldsymbol{x_1}^{\mathrm{T}}(c_1\boldsymbol{x_1}+c_2\boldsymbol{x_2})=c_1=0\\ \boldsymbol{x_2}^{\mathrm{T}}(c_1\boldsymbol{x_1}+c_2\boldsymbol{x_2})=c_2=0\\ \end{cases} \]

所以特征向量线性无关。

Case 2 存在重复特征值

此处我们需要用到舒尔定理,即每个方阵都可以分解为\(QTQ^\mathrm{T}\)的形式(其中\(T\)为上三角形方阵)。它的证明可见舒尔定理证明

既然这样,我们接下来的任务就是去证\(T=\Lambda\),也就是一个对角矩阵了。这非常的简单:

\[ S=QTQ^\mathrm{T}=S^\mathrm{T}=QT^\mathrm{T}Q^\mathrm{T} \]

\[ \Rightarrow T=T^\mathrm{T} \]

\[ \therefore T=\Lambda \]

特征值

实对称矩阵的特征值都是实数

假设特征值存在虚数,则设\(\lambda=a+b\mathrm{i}\),则有\(\bar{\lambda}=a-b\mathrm{i}\)

\[ \begin{cases} S\boldsymbol{x}=\lambda\boldsymbol{x}\\ S\boldsymbol{\bar{\boldsymbol{x}}}=\bar{\lambda}\bar{\boldsymbol{x}}\\ \end{cases} \]

\[ \Rightarrow\begin{cases} \bar{\boldsymbol{x}}^{\mathrm{T}}S\boldsymbol{x}=\lambda\bar{\boldsymbol{x}}^{\mathrm{T}}\boldsymbol{x}\\ \bar{\boldsymbol{x}}^{\mathrm{T}}S\boldsymbol{x}=\bar{\lambda}\bar{\boldsymbol{x}}^{\mathrm{T}}\boldsymbol{x} \end{cases} \]

\[ \therefore (\lambda-\bar{\lambda})\bar{\boldsymbol{x}}^{\mathrm{T}}\boldsymbol{x}=0 \]

\[ \Rightarrow \lambda=\bar{\lambda} \]

\[ \therefore \lambda\in \mathbb{R} \]

反对称矩阵

(在xTAx的地方提一下描述曲线运动方程的矩阵为何都是反对称)

对角化

实反对称矩阵可以被对角化为\(A=Q\Lambda \bar{Q}^{\mathrm{T}}\)的形式

特征值

实对称矩阵的特征值都是纯虚数。

\[ \begin{cases} A\boldsymbol{x}=\lambda\boldsymbol{x}\\ A\bar{\boldsymbol{x}}=\bar{\lambda}\bar{\boldsymbol{x}}\\ \end{cases} \]

\[ \Rightarrow \bar{\boldsymbol{x}}^\mathrm{T}A^\mathrm{T}x=\bar{\lambda}\bar{\boldsymbol{x}}^T\boldsymbol{x} \]

\[ \Rightarrow -\lambda\bar{\boldsymbol{x}}^\mathrm{T}\boldsymbol{x}=\bar{\lambda}\bar{\boldsymbol{x}}^\mathrm{T}\boldsymbol{x} \]

\[ (\lambda+\bar{\lambda})\bar{\boldsymbol{x}}^T\boldsymbol{x}=0 \]

\[ \therefore \lambda+\bar{\lambda}=0 \]

正交性

对于任意实向量,\(\boldsymbol{x}^\mathrm{T}A\boldsymbol{x}=0\)

\[ 命\boldsymbol{v}=\boldsymbol{x}^\mathrm{T}A\boldsymbol{x}\colon \]

\[ \boldsymbol{v}^\mathrm{T}=\boldsymbol{x}^\mathrm{T}A^\mathrm{T}\boldsymbol{x}=-\boldsymbol{x}^\mathrm{T}A\boldsymbol{x}=-\boldsymbol{v} \]

\[ \because \boldsymbol{v} \in \mathbb{R} \]

\[ \therefore v=\boldsymbol{x}^\mathrm{T}A\boldsymbol{x}=0 \]

应用

处理递推

矩阵的乘方,可以理解为“不断对一个对象进行同一个线性变换”;这能帮助我们解决递推问题,其中就有非常传统与经典的斐波那契数列。而且斐波那契的递推公式本身就是一个线性变换(加法),所以使用矩阵十分合适。

把斐波那契写成:

\[ \begin{align*} F_{k+2}&=F_{k+1}+F_{k} \\ F_{k+1}&=F_{k+1} \end{align*} \Rightarrow \begin{bmatrix} F_{k+2}\\ F_{k+1} \end{bmatrix}= \begin{bmatrix} 1&1\\1&0 \end{bmatrix} \begin{bmatrix} F_{k+1}\\F_{k} \end{bmatrix}\]

\[ 令\boldsymbol{u}_k=\begin{bmatrix} F_{k+1}\\F_{k} \end{bmatrix},\,\boldsymbol{u}_0=\begin{bmatrix} 1\\0 \end{bmatrix}\Rightarrow \boldsymbol{u}_{k+1}=\begin{bmatrix} 1&1\\1&0 \end{bmatrix}\boldsymbol{u}_{k}=\begin{bmatrix} 1&1\\1&0 \end{bmatrix}^{k=1}\boldsymbol{u}_0 \]

\[ \Rightarrow \boldsymbol{u}_{k}=\begin{bmatrix} 1&1\\1&0 \end{bmatrix}^k\boldsymbol{u}_0 \]

\[ \because \begin{bmatrix} 1&1\\1&0 \end{bmatrix}=\frac{1}{\sqrt{5}}\begin{bmatrix} \frac{1+\sqrt{5}}{2}&\frac{1-\sqrt{5}}{2}\\ 1&1\ \end{bmatrix}\begin{bmatrix} \frac{1+\sqrt{5}}{2}&0\\ 0&\frac{1-\sqrt{5}}{2} \end{bmatrix}\begin{bmatrix} 1&\frac{\sqrt{5}-1}{2}\\-1&\frac{1+\sqrt{5}}{2} \end{bmatrix} \]

\[ \begin{align*} \therefore \begin{bmatrix} 1&1\\1&0 \end{bmatrix}^k=& \frac{1}{\sqrt{5}}\begin{bmatrix} \frac{1+\sqrt{5}}{2}&\frac{1-\sqrt{5}}{2}\\ 1&1\ \end{bmatrix}\begin{bmatrix} \frac{1+\sqrt{5}}{2}&0\\ 0&\frac{1-\sqrt{5}}{2} \end{bmatrix}^k\begin{bmatrix} 1&\frac{\sqrt{5}-1}{2}\\-1&\frac{1+\sqrt{5}}{2} \end{bmatrix}\\ =& \frac{1}{\sqrt{5}}\begin{bmatrix} \lambda_1^{k+1}-\lambda_2^{k+1}&\lambda_1^k-\lambda_2^k\\ \lambda_1^k-\lambda_2^k&\lambda_1^{k-1}-\lambda_2^{k-1} \end{bmatrix} \end{align*} \]

\[ (\lambda_1=\frac{1+\sqrt{5}}{2},\; \lambda_2=\frac{1-\sqrt{5}}{2}) \]

\[ \therefore F_{k}=\frac{1}{\sqrt{5}}(\lambda_1^{k}-\lambda_2^{k}) \]

矩阵运算的推广

为了把矩阵的性质挖透,一些数学家尝试在运算上进行推广,比如把它放在指数上,把它放在对数里,放在三角里,看看它算出来是个什么东西。这一招数在解线性微分方程组时是非常有用的。(其实应该是先在解方程组的时候做一些推测,再做的推广)

我们运算的核心是泰勒公式,因为它把各种运算写成了多项式函数,而矩阵的乘方又是很容易的(特别在对角化之后)。我在这里只说下指数运算的情况。

\[ \begin{align*} \mathrm{e}^{A}&=I+A+\frac{1}{2}A^2+\frac{1}{6}A^3+\cdots\\ &=I+X\Lambda X^{-1}+\frac{1}{2}X\Lambda^2 X^{-1}+\frac{1}{6}X\Lambda^3 X^{-1}+\cdots\\ &=X[I+\Lambda+\frac{1}{2}\Lambda^2+\frac{1}{6}\Lambda^3+\cdots]X^{-1}\\ &=X\mathrm{e}^\Lambda X^{-1} \end{align*} \]

就是这样。关于怎么拿它解线性微分方程组,可以去看我的另一篇东西:用线性代数解微分方程组