特征值与特征向量
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 \]
为什么对称矩阵一定能被对角化?
刚才是以“对角化可行”为前提,得到它的特征向量互相正交。而这个前提本身也需要证明。
除单位矩阵外的对称矩阵天生地拥有线性无关的特征向量。我这里用两种途径来解释。
- 二维矩阵:
\[ 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. 特征值互不相同,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*} \]
就是这样。关于怎么拿它解线性微分方程组,可以去看我的另一篇东西:用线性代数解微分方程组