特征值与特征向量的意义

上半年研究生复试面试问的印象最深刻的题目就是:请根据自己的理解解释一下特征值与特征向量。

那种无从下嘴的感觉至今记忆犹新。

我们大学学线性代数、现代控制理论以及线性系统时都会学到特征值与特征向量,而且也仅限于会做题而已,却根本不知道他们是怎么来的。本文就深度梳理一下特征值与特征向量及其几何意义。


1.特征值与特征向量

我们知道,矩阵乘法对应了一个变换,是把任意一个向量变成另一个方向或长度都大多不同的新向量。在这个变换的过程中,原向量主要发生旋转、伸缩的变化。如果矩阵对某一个向量或某些向量只发生伸缩变换,不对这些向量产生旋转的效果,那么这些向量就称为这个矩阵的特征向量,伸缩的比例就是特征值

实际上,上述的一段话既讲了矩阵变换特征值及特征向量的几何意义(图形变换)也讲了其物理含义。物理的含义就是运动的图景:特征向量在一个矩阵的作用下作伸缩运动,伸缩的幅度由特征值确定。特征值大于1,所有属于此特征值的特征向量身形暴长;特征值大于0小于1,特征向量身形猛缩;特征值小于0,特征向量缩过了界,反方向到0点那边去了。

我们来看个例子:
M = ( 3 0 0 1 ) M=\left( \begin{array}{lcr} 3 & 0 \\ 0 & 1 \\ \end{array} \right) M=(3001)
它其实对应的线性变换是下面的形式:
在这里插入图片描述
因为这个矩阵M 乘以一个向量(x,y)的结果是:
( 3 0 0 1 ) ( x y ) = ( 3 x y ) \left( \begin{array}{lcr} 3 & 0 \\ 0 & 1 \\ \end{array} \right)\left( \begin{array}{lcr} x \\ y \\ \end{array} \right)=\left( \begin{array}{lcr} 3x \\ y \\ \end{array} \right) (3001)(xy)=(3xy)

上面的矩阵是对称的, 所以这个变换是一个对x, y轴的方向一个拉伸变换(每一个对角线上的元素将会对一个维度进行拉伸变换,当值>1时, 是拉长, 当值<1时时缩短),当矩阵不是对称的时候, 假如说矩阵是下面的样子:

M = ( 1 1 0 1 ) M=\left( \begin{array}{lcr} 1 & 1 \\ 0 & 1 \\ \end{array} \right) M=(1011)

它所描述的变换是下面的样子:
在这里插入图片描述
这其实是在平面上对一个轴进行的拉伸变换(如蓝色的箭头所示) , 在图中, 蓝色的箭头是一个最主要的变化方向(变化方向可能有不止一个)。如果我们想要描述好一个变换, 那我们就描述好这个变换主要的变化方向就好了。

2.特征值分解

设 A 是n阶方阵,如果存在数λ和非零n维列向量 x,使得 A α = λ α Aα=λα Aα=λα 成立,则称 λ 是矩阵A的一个特征值(characteristic value),而α是矩阵A对应于特征值λ的特征向量(Eigenvector)。

特征值分解是将一个矩阵分解成下面的形式:
A = Q Σ Q T A=QΣQ^{T} A=QΣQT
其中Q是这个矩阵A的特征向量组成的矩阵, Σ是一个对角阵, 每一个对角线上的元素就是一个特征值。

分解得到的Σ矩阵是一个对角阵, 里面的特征值是由大到小排列的, 这些特征值所对应的特征向量就是描述这个矩阵变化方向(从主要的变化到次要的变化排列)。也就是说矩阵A的信息可以由其特征值和特征向量表示。

总结一下, 特征值分解可以得到特征值与特征向量,特征值表示的是这个特征到底有多重要, 而特征向量表示这个特征是什么。不过, 特征值分解也有很多的局限, 比如说变换的矩阵必须是方阵。如果A不是方阵,即行和列不相同时,就不能用这种方法对矩阵进行分解,由此引入奇异值分解(SVD)的概念。
关于奇异值分解(SVD)相关知识,可参考博客:
https://blog.csdn.net/didi_ya/article/details/108895122

最后,强烈推荐大家看一下B站视频:线性代数的本质 真的,特别有帮助!