seegongsik
工程数学

特征向量 特征值

变换不改方向、只做拉伸的那些方向(特征值=拉伸倍数)

特征值和特征向量常被称为线性代数的终极关卡。名字听起来吓人,核心却很简单。矩阵是把整个空间一起旋转、拉伸的变换,所以大多数向量经过变换后,方向都会猛地偏转。然而有几个特殊的方向,变换后并不偏转,只是在自己的直线上伸长或缩短。这些不偏转的方向就是特征向量,伸长了多少就是特征值。这就是全部。而这两者把“矩阵就是变换”“行列式就是面积的倍数”“解方程组就是把变换倒着走”中看到的东西汇聚到了一处。

先看大多数向量都会偏转这一事实。固定一个变换,让一支箭头沿着圆转一圈,浅色箭头是原来的箭头,金色箭头是变换后的箭头,两者同时出现。在大多数角度上,它们指向不同的方向。变换把这个向量推离了原来的直线。下方写着两支箭头之间的夹角,转动手柄的过程中,这个夹角几乎总是张开的。原本朝上的变成斜着,原本朝右的被抬了起来,这才是常态。变换会把方向弄得乱七八糟。

可是继续转下去,在某些特殊角度上,金色箭头会恰好落在与浅色箭头同一条直线上。方向不变,只有长度变了,这个方向就是特征向量。图中的两条虚线就是这些方向;手柄碰到虚线时,虚线会变粗,下方显示这是特征向量以及它的特征值。它是在变换的激流中没有被冲走、守住了自己直线的方向。在这条直线上伸长了多少,那个倍数就是特征值。像这张图一样,二维情况下通常有两个这样的方向;这里一个伸长,另一个稍稍缩短。变换看起来随心所欲,其实有它自己的轴:只有这些方向它不去动。

来仔细看看特征值在它的方向上究竟做了什么。只要骑在特征向量上,变换就只是乘一个数。特征值为 2,那个方向就伸长 2 倍;为 0.5 就缩成一半;为 1 就保持不变。若为负数,向量会在同一条直线上翻到另一侧:直线守住了,只是前后颠倒。用四个滑块改变矩阵,浅色的单位特征向量和对它施加变换后的彩色箭头总落在同一条虚线上,下方写出两个特征值。把矩阵调得接近纯旋转,就会出现没有实特征向量的警告,因为没有哪个方向能留在自己的直线上。看起来复杂的变换,在特征向量方向上就缩成了一次简单的数乘。

这里才是真正漂亮的地方。不按通常的横竖方向,而按特征向量的方向重画网格,变换看起来就完全不同了。没有旋转,也没有扭曲,只是把每根轴按各自的特征值笔直地拉长。那个复杂的矩阵,在以特征向量为轴的坐标系里,变成了每根轴各乘一个数的整洁形式,也就是对角矩阵。用“普通网格”和“特征轴网格”两个按钮切换,在特征轴网格上,两支彩色箭头只沿各自的轴伸长,下方的式子也变成对角形式。特征向量是这个变换最自然的轴,从这些轴看去,任何变换都会露出它最简单的面貌。

那么,这些方向怎么找?特征向量 v 是施加 A 的结果正好等于乘以 λ 的向量,写成式子就是 Av = λv。移项后变成 (A − λI)v = 0。一个非零向量 v 被送到了 0,说明变换 (A − λI) 把空间压扁了。正如“解方程组就是把变换倒着走”一讲所见,这时它的行列式必须为 0。所以对 λ 解 det(A − λI) = 0,就得到特征值。用滑块移动 λ,施加这个矩阵的单位正方形时扁时胀,λ 一碰到特征值,它就压成一条直线,并显示“特征值!”。前面见过的“行列式 0 = 压扁 = 无法倒着走”,原来就是寻找特征值的钥匙。顺带一提,行列式等于所有特征值的乘积,所以面积倍数就是各轴伸长倍数的乘积。最下面一行的验算说的正是这个,一切都连在一起。

实际应用特征向量是变换让它留在自己直线上的方向,在那里变换只是乘以 λ 的伸缩。这就是这个系统的自然轴。在工程中,结构振动的固有频率、材料的主应力方向、数据的主成分 (PCA),以及判断扰动是放大 (λ>1) 还是衰减 (λ<1) 的稳定性分析,全都是特征值的故事。遇到大型线性系统时,找特征向量就是找它分解成彼此独立的简单伸缩的那些方向。计算用 det(A − λI)=0,验算用行列式 = 特征值之积。
← 工程数学
如果有帮助,请支持我们