线性代数的本质:特征向量与特征值
作者 | 石晓文
来源 | 小小挖掘机
视频地址:
https://www.bilibili.com/video/av6540378/?spm_id_from=333.788.videocard.0
本篇来讲一下线性代数中非常重要的一个概念:特征向量/特征值。
前面介绍过,一个矩阵代表的是一种线性变换,考虑二维空间中的某个线性变换,它将i即[1,0]变换到[3,0]的位置,将j即[0,1]变换到[1,2]的位置,那么对应的矩阵就是[3,1;0,2](先说一下写法,这里的[3,1;0,2],其中3,1是第一行,0,2是第二行):
在这个变换过程中,很多向量都离开了其原本所张成的空间,即所在的直线,但也有一些向量在变换后,仍恰好落在原来的直线上:
如上面的例子中,基向量i就落在了原来的直线即x轴上,只不过是被拉长了三倍,同样的,x轴上的任何其他向量在经过变换后都只是被拉伸为原来的三倍,且方向不变:
除了x轴上的向量外,向量[-1,1] 所在的直线上的向量在变换后仍在原来的直线上,只是长度被拉长了两倍:
总结一下,在刚才的线性变换中,有两条直线上的向量,在变换后仍在其所在的直线上,只不过长度和方向发生了改变,但其他的向量,都离开了它所张成的直线:
想必大家都知道结果了,经过上面矩阵所代表的线性变换,两条位置不变的直线上的向量都可以称之为特征向量,而对应伸缩的大小,就称之为特征值。值得一提的是,如果线性变换后是反向伸缩,那么特征值是负的:
接下来简单介绍一下特征值和特征向量的计算方法,首先根据刚才的介绍,一个矩阵A的特征向量,在经过这个矩阵所代表的线性变换之后,没有偏离其所张成的直线,而只是发生了伸缩或方向改变,所以首先可以写出下面的式子:
接下来要求解特征向量和特征值,首先需要做下变换,因为等式的左边代表的是矩阵和向量相乘,右边代表的是一个数和向量相乘,所以先把右边变为矩阵和向量相乘的形式,即让λ与单位矩阵相乘:
然后就可以都移到等号左边,提出公因子来:
接下来的目标就是求解向量v,使得v与(A-λI)相乘的结果为零向量。如果v本身是零向量的话,那等式恒成立。但我们真正想找的是非零的特征向量。
回顾本系列视频第五讲的内容,当一个二维矩阵的行列式为0时,它能代表的线性变换能将空间压缩为一条直线或者是零点。因此,想让v经过(A-λI)变换后的结果为零向量,(A-λI)的行列式值必须为0,所以整个过程如下:
以最开头提到的矩阵作为例子,很容易求解出特征值是2或者3:
求解出特征值了,如何求解对应的特征向量呢?以特征值2为例子,求解如下的方程组即可,你可以发现,一条直线上的所有向量都可以作为特征向量:
一般情况下,一个二维矩阵有两个特征值,而对应的特征向量在两条直线上,但也存在一些特殊情况。如有时候只有一个特征值,以及特征向量分布在一条直线上,如下面的矩阵,只有1个特征值,为1:
有一些矩阵并没有对应的特征值,比如将空间旋转90度的线性变换所对应的矩阵,空间中所有的向量在经过其变换后都偏离了原来的直线,旋转了90度,因此其没有特征向量。
更特别的,有时候一个矩阵只有一个特征值,但是其对应的特征向量分布在不同的直线上,如下面的矩阵将空间中所有的向量都拉伸了两倍,它只有一个特征值2,但是所有的向量都是其特征向量:
最后,讲一下特征基的概念。讲到基,又得搬出坐标系的概念了。假设我们坐标系的基是[1,0]和[0,1],如果基向量都是特征向量,那么会发生什么呢?没错,如果基向量都是一个矩阵的特征向量,那么这个矩阵就是一个对角矩阵,而对角线上的值,就是对应的特征值:
这句话反过来说对不对呢?即如果一个矩阵是对角矩阵,那么对应的特征向量都是基向量?好像有点问题,比如刚才的[2,0;0,2],它是一个对角矩阵,但其特征向量包括了所有的向量,而并非只有基向量。
但很多情况下,特征向量并非是基向量,但至少能够找到一组能够张成整个空间的向量集合,还是本文开头所讲的例子:
如果能找到这样一组向量,那我们就能变换坐标系,使这些向量成为新的坐标系下的基向量。这里先简单回顾一下上一个视频中所讲到的基变换的概念。假设我们的坐标系基向量分别是[1,0]和[0,1],那么矩阵[2,-1;1,1]的意思可以理解为,将我们空间中的[1,0]、[0,1],转换到另一个空间中的[1,0]、[0,1],而另一个空间中的[1,0]、[0,1],在我们空间看的话,坐标分别是[2,1]和[-1,1](这里可能比较绕,需要转一下弯)。
因此,矩阵[2,-1;1,1]所代表的线性变换,可以理解为将另一组坐标系下某一个向量的坐标,转换到我们这组坐标系下的坐标,同样的,矩阵[2,-1;1,1]的逆代表将一个向量在我们坐标系下的坐标,转换成另一个坐标系下的坐标。
因此如果想要将我们坐标系下的一个线性变换M,作用到另一个坐标系中,需要怎么做呢?首先要将一个向量在另一个坐标系中的坐标转换到我们的空间中坐标,然后在进行线性变换M,最后在变回到另一个空间中的坐标:
最后还是最开始的例子,假设想让在我们的坐标系下得到的特征向量(因为直线上所有的向量都可以作为特征向量,因此这里取了一个特例[-1,1],[1,0])作为新的坐标系下的基向量,新的坐标系下[1,0]和[0,1]对应的向量,在我们的坐标系下分别是[1,0]和[-1,1],那么就可以得到一个基变换矩阵[1,-1;0,1](基变换矩阵可以将另一个坐标系下的坐标转换为我们这个坐标系下的坐标)。
思考下面三个矩阵相乘的结果的结果:
假设中间的矩阵为M,那么上面三个矩阵相乘的意思其实是对另一个坐标系下定义的向量坐标应用在我们坐标系下的线性变换M。三个矩阵相乘的结果是一个对角矩阵,且对角线元素为对应的特征值:
从直观上理解,由于选择了矩阵M的特征向量作为新坐标系下的基向量,基向量在变换中只是进行了缩放。从数学上理解,如果把上面式子中左右两边同左乘矩阵[1,-1;0,1],其实就是特征向量的定义。把一个矩阵的特征向量作为基向量,这组基向量也称为特征基:
根据上面的式子,使用矩阵M的特征向量所组成的矩阵,成功将M进行了对角化。但并不是所有的矩阵都可以对角化,只有矩阵的特征向量够多,能够张成全空间时,才能进行对角化。
好了,本节的内容就这么多,深入浅出,小伙伴们一定记得去看视频哇!
- 点赞
- 收藏
- 关注作者
评论(0)