特征向量与特征值是很多学生认为非常不直观的的一个话题,为什么要这么做?以及他究竟意味着什么?之类的问题。通常都淹没在计算的海洋中无人问津。
原因并不在于特征的东西特别复杂或是缺乏说明,实际上相对而言它更加直接,而且大部分书籍提供了良好的解释,问题在于你只有对之前讲的内容有充分的几何直观,你才能真正理解它,这里最重要的是,你需要如何将矩阵看做是线性变换,但你也要熟悉其他内容,例如行列式线性方程组和基变换,通常而言,对特征的东西感到疑惑,更多是因为以上内容的基础薄弱,而不是在于特征向量与特征值本身。
首先考虑二维空间中的某个线性变换,比如现在展示的这个:
它将基向量i帽变换到坐标(3,0)j帽变换到(1,2),所以用矩阵来表示它的列就是(3,0)和(1,2)。
我们关注他对特定一个向量的作用,并且考虑这个向量的张成空间,也就是通过原点和向量尖端的直线。
大部分向量在变换中都离开了其张成的空间,我的意思是如果向量正好落在这条直线上感觉跟像是巧合。
不过某些特殊的向量的确留在它们张成的空间里,意味着矩阵对它们的作用仅仅是拉伸或者压缩而已,如同一个标量。
在这个例子中,基向量i帽就是这样一个特殊向量,i帽张成的空间是x轴,而其从矩阵的第一列可以看出i帽变成了原来的三倍仍然留在x轴上。
此外因为线性变换的性质x轴上的其他任意向量都只是被拉伸为原来的三倍,因此也就留在它们张成的空间里。
有一个略显隐蔽的向量(-1,1)它在变幻中也留在自己张成的空间里,最终被拉伸为原来的两倍,同上,线性性质暗示着一点,处在它所张成的对角线上的其它任何一个向量也仅仅被拉伸为原来的两倍。
对这个变幻而言,以上就是所有拥有这一特殊性质的向量,x轴的向量被拉伸为原来的三倍,而这条对角线上的向量被拉伸为原来的两倍,任何其它向量在变换中会有或多或少的旋转,从而离开它张成的直线。
估计你现在已经猜到了,这些特殊向量就被称为变换的特征向量,梅特特等向量都有一个所属的值被称为特征值,及衡量特征向量在变换中拉伸或压缩比例的因子。
当然,拉伸或压缩,或者特征值恰好为正,并没什么特殊的地方。
换个例子,你可以有一个属于特征值-1/2的特征向量,这意味着这个向量被反向并且被压缩为原来的1/2,但是重点在于,它停留在它张成的直线上并未发生旋转。
若想知道为什么它有用途,并值得细究。那就考虑三维空间中的旋转,如果你能找到这个旋转的特征向量,也就是它张成空间里的向量,那么你就找到了它的旋转轴,而且把一个三维旋转看成绕某一个轴旋转一定角度要比考虑相应的3*3矩阵直观的多。
顺便提一下相应的特征值必须为1,因为旋转并不缩放任何一个向量,所以向量的长度保持不变。
这种规律在线性代数中经常出现,对于任意矩阵描述的线性变换,你可以通过将矩阵的列看做变换后的基向量来理解它,但是理解线性变换作用的关键往往较少依赖于你的特定坐标系,更好的方法是求出它的特征向量和特征值。
这里并不会设计计算特征向量和特征值的具体细节,但是会尽量概述计算思想,这对概念上的理解至关重要。
用符号表示的话以下是特征向量的概念,A是代表某个变换的矩阵,v是特征向量λ是一个数也就是对应的特征值,这个等式是在说,矩阵向量的乘积也就是A乘以v等于特征向量v乘以某个数λ因此求解矩阵A的特征向量和特征值实际上就是求解使得这个等式成立的向量v和数λ。
乍一看求解这个等式有些棘手,因为等号左侧代表的是矩阵向量乘积,但是等号右侧代表的是向量数乘,所以我们先将等号右侧重写为某个矩阵向量乘积,其中矩阵作用效果是将任一向量乘以λ,这矩阵的列代表着变换后的基向量,而每一个基向量仅仅与λ相乘,所为这个矩阵的对角元均为λ,其余位置都是0。
通常的书写方法是提出因子λ。写作λ乘以I这里的I就是单位矩阵,对角元均为1。
现在两侧都是矩阵向量乘积的形势,我们就能将等号右侧的东西移到左侧,然后提出因子v,现在我们的倒是一个新的矩阵,A减去λ乘以单位,我们就寻找一个向量v使得这个新矩阵与v相乘结果为零向量,如果v本身就是零向量的话,这个等式恒成立,但这没什么意思,我们想要的是一个非零特征向量。
如果你看到过矩阵乘法与线性变换复合的联系和三维空间的线性变换的话,当且仅当矩阵代表的变换将空间压缩至更低维度时,才会存在一个非零向量,使得矩阵和他的乘积为零向量,而空间压缩对应的就是矩阵的行列式为零。
举个具体的例子,假设你有一个矩阵列为(2,1)和(2,3),考虑每个对角元都减去某个变量λ,现在想象一下,逐渐调整λ的值,当λ的值改变时,矩阵本身发生改变,因此行列式也在改变,目标在于找到一个λ使得这个行列式为零,也就是说调整后的变换将空间压缩到一个更低的维度上,在这个例子上λ等于1时恰到好处。
当然如果我选择其它的矩阵,特征值不一定是1,λ取其它值时才能是行列式为零。
这看起来有点复杂,不过我们来解释这个过程的意思:
当λ等于1时A减去λ乘以单位矩阵将空间压缩到一条直线上,这意味着存在一个非零向量v,使得A减去λ乘以单位矩阵的结果乘以v等于零向量,记住一点我们关注它,是因为它意味着将A乘以v等于λ乘以v,也就是说向量v是A的一个特征向量,在变换中停留在它张成的空间中。
在这个例子中v对应的特征值是1所以它实际上保持不变。
我们重温一下开头的例子:
这个矩阵的列是(3,0)和(1,2)为了求解特征值λ,将矩阵的对角元减去λ然后计算行列式,这样我们就得到一个关于λ的二次多项式(3-λ)*(2-λ)因为只有这个行列式为零时λ才会为特征值,就会推断出所有可能的特征值是λ等于2和λ等于3。
为了求出属于某个特征值的特征向量,比如λ等于2,将λ的值代入矩阵当中,然后求解出在这个对角线变化的矩阵变换后成为零的向量。
如果进行计算,如同求解其它线性方程组一样,你会发现所有的解全部落在由向量(-1,1)张成的对角线上,与之对应的,就是原始矩阵[(3,0),(1,2)],将这些向量拉伸为原来的两倍。
不过二维线性变换不一定有特征向量。
举个例子,考虑一个90读旋转他并没有特征向量,因为每一个向量,因为每一个向量都发生了旋转并离开了其张成的空间,如果你真的尝试去计算它的特征值,注意下会发生什么,矩阵的列为(0,1)和(-1,0),对角元减去λ后然后寻找行列式为零的情况。
在这里例子里,你会得到多项式λ²+1,这个多项式的跟只能是虚数i与-i,没有实数解表明他没有特征向量。
另一个很有意思并且值得思考的例子就是剪切变换,它保持i帽不变,将j帽向右移动一个单位,所以矩阵的列为(1,0)和(1,1),所有x轴上的向量都属于特征值1的特征向量,因为他们都保持不变,实际上这些就是所有的特征向量,当你将对角元减去λ然后计算行列式,你得到的是(1-λ)²,这个多项式唯一的根是λ等于1,这与几何上得到的所有特征值向量均属于特征值1的结果一致。
不过注意一点,可节能会出现一个特征值但是特征向量不只在一条直线的情况。
一个简单的例子,就是将所有向量变为两倍的矩阵,唯一的特征值为2,但是平面内每一个向量都是属于这个特征值的特征向量。
如果我们的基向量恰好是特征向量来看看会发生什么。
比如说imao变为原来的-1倍,j帽变为原来的两倍,将它们的新坐标作为矩阵的列,注意它的倍数-1和2也就是i帽和j帽所属的特征值,位于矩阵的对角线上,而其它元素均为0。
除了对角元以外,其它元素均为0的矩阵被称为对角矩阵,这非常合理,解读它的方法是所有基向量都是特征向量,矩阵的对角元是它们所述的特征值。
对角矩阵在很多方面都更容易处理,其中重要的方面是矩阵与自己多次相乘的结果更容易计算,因为对角矩阵仅仅让基向量与某个特征值相乘,所以多次应用矩阵乘法,比如一百次,也只是将某个基向量与对应特征值的100次幂相乘。
相比之下,尝试计算一个非对角矩阵的100次幂,真的去试试看简直就是场噩梦。
当然对于基向量同时也是特征值的情况,你可能不像它那么幸运,但是如果你的变换有许多特征向量就像刚开始的例子一样,多到你能选出一个张成全空间的集合,那么你就能变换你的坐标系,使得这些特征向量就是基向量。
去除你想用做新基的坐标,在这里指的是两个特征向量,然后将坐标作为一个矩阵的列,这个矩阵就是基变换矩阵。
在右侧写下基变换矩阵,在左侧写下基变换矩阵的逆,当你将原始的变换夹在两个矩阵中间时,所得的矩阵代表的是同一个变换,不过是从新基向量所构成的坐标系的角度来看的。
用特征向量来完成这件事的意义在于,这个新矩阵必然是对角的,并且对角元为对应的特征值,这是因为它所处的坐标系的基向量在变换中只进行了缩放。
一组基向量(也是特征向量)构成的集合被称为特征基,这是非常合理的。
所以说你要计算这个矩阵的100次幂,一种更容易的做法是先变换到特征基,在那个坐标系中计算100次幂然后转换为标准坐标系。
不是所有变换都能进行这一过程,比如说剪切变换,它的特征向量不够多,并不能张成全空间,但是如果你能得到一组特征基矩阵运算就会变得非常轻松。