线性代数(六)特征值与特征向量
Chen Kai BOSS

特征值与特征向量是线性代数中最深刻、最实用的概念之一。当我们对一个向量施加矩阵变换时,大多数向量会同时被"旋转"和"拉伸"。但有一类特殊的向量,在变换后只是被缩放,方向完全不变——这就是特征向量。理解它们,就掌握了矩阵变换的"本质"。

从一个生活故事说起

想象你在厨房里揉面团。面团是一块柔软的三维物体,你每揉一下,它就会发生形变。大部分面团内部的"点"会被移动到完全不同的位置——既被拉伸,又被旋转。

但仔细观察,你会发现有一些特殊的方向:比如当你用擀面杖压面团时,沿着擀面杖方向的"纤维"只是被压扁(缩放),并没有旋转。这些特殊方向,就是面团变形的"本征方向"。

在线性代数中,矩阵描述的就是这种"揉面团"式的线性变换。而特征向量就是那些在变换后"方向不变,只被缩放"的向量。特征值则是缩放的倍数。

特征值与特征向量的定义

正式定义

对于一个 的方阵 ,如果存在非零向量 标量 ,使得:

$$

A = $$

那么: - 称为矩阵 特征向量( eigenvector) - 称为对应的特征值( eigenvalue)

"eigen"这个词来自德语,意思是"自己的、固有的"。特征向量就是矩阵"固有"的方向。

为什么要求非零向量?

定义中特别强调 必须是非零向量。为什么?

因为对于任何矩阵 任何标量 ,零向量 都满足 。如果允许零向量作为特征向量,那每个数都是特征值,这就毫无意义了。

直觉理解:寻找"稳定方向"

想象你站在一个旋转的游乐设施上。当设施旋转时,你身上的大部分方向都在不停改变。但有一个方向是稳定的——旋转轴的方向!沿着这个方向,无论设施怎么转,这个方向始终指向"上"。

特征向量就是矩阵变换的"旋转轴"——在所有可能的方向中,它是唯一保持稳定的。

特征值的几何意义

不同特征值的含义

特征值 描述了特征向量被"缩放"的程度:

特征值 几何意义
向量被拉伸
向量被压缩
向量长度不变
向量被压缩到原点(奇异情况)
向量被压缩并反向
向量被拉伸并反向
为复数 向量在复平面上旋转(实空间无不变方向)

一个具体例子:剪切变换

考虑剪切矩阵:

$$

A =

$$

这个矩阵把正方形变成平行四边形(想象把一摞扑克牌推歪)。

大部分向量在这个变换下会改变方向。但水平方向(沿 轴)的向量例外——它们只是被"剪切",方向不变!

求特征值:,得 (重根)。

对应的特征向量:(水平方向)。

这个例子说明:即使矩阵看起来很"扭曲",依然存在不变方向。

生活案例:镜子中的你

照镜子时,你的像发生了什么变换?

假设镜子是 轴(垂直放置的镜子),那么反射变换是:

$$

A =

$$

特征值和特征向量: - (水平方向:左右颠倒,长度不变) - (垂直方向:完全不变)

你在镜子中看到的自己,左右对称轴(垂直方向)是不动的,而前后方向被"翻转"了。

特征多项式与特征方程

推导特征方程

从定义 出发,我们可以改写为:

$$

A - = (A - I) = $$

这是一个齐次线性方程组。要使它有非零解 ,矩阵 必须是奇异的(行列式为零):

这就是特征方程( characteristic equation)。

特征多项式

是一个关于 的多项式,称为特征多项式( characteristic polynomial)。

对于 矩阵,特征多项式是 次多项式,形如:

$$

p() = (-1)^n ^n + c_{n-1}^{n-1} + + c_1+ c_0 $$

根据代数基本定理,它在复数域上恰好有 个根(计重数),这就是 个特征值。

完整计算示例

求矩阵 的特征值和特征向量。

步骤一:写出特征方程

步骤二:求特征值

步骤三:求特征向量

对于

第一行给出:,即

,得 对于

第一行给出:,即

,得 验证

$$

A_1 = = = 5

= 5_1 $$

韦达定理的矩阵版本

特征多项式的系数与矩阵有深刻联系:

迹与特征值之和

行列式与特征值之积

在上例中:。这是一个很好的验算方法!

对角化:将复杂变换变简单

对角化的核心思想

假设 矩阵 个线性独立的特征向量 ,对应特征值

构造矩阵: - (特征向量作为列) - (特征值在对角线上)

那么有对角化分解

$$

A = PDP^{-1} $$

或等价地:

$$

P^{-1}AP = D $$

为什么对角化有用?

用途一:快速计算矩阵的幂

$$

A^k = (PDP{-1})k = PDkP{-1} $$

非常容易计算:

$$

D^k =

$$

想象计算 :直接乘 100 次很慢,但对角化后只需计算 这几个数!

用途二:理解矩阵的长期行为

时, 的行为完全由最大特征值决定: - 如果 :系统发散(爆炸式增长) - 如果 :系统收敛到零 - 如果 :系统稳定或周期性

这在动力系统、马尔可夫链、神经网络等领域至关重要。

对角化的几何解释

对角化可以理解为三步变换:

  1. :从原坐标系变换到特征向量坐标系
  2. :在特征向量坐标系中,变换只是简单的缩放
  3. :从特征向量坐标系变回原坐标系

什么时候可以对角化?

定理:矩阵 可对角化当且仅当 个线性独立的特征向量。

充分条件: - 如果 不同的特征值,则一定可对角化 - 实对称矩阵总是可对角化(更强:可正交对角化)

不可对角化的例子

$$

A =

$$

特征值 (二重根),但只有一个线性独立的特征向量 。这种矩阵称为亏损矩阵( defective matrix)。

复数特征值:旋转的数学

旋转矩阵没有实特征值

考虑 旋转矩阵:

$$

R =

$$

求特征值:

解得 (纯虚数)!

几何直觉:在二维实平面上, 旋转不存在"方向不变"的向量——每个向量都被转动了。所以实特征值不存在,特征值"逃逸"到了复数域。

一般旋转矩阵的特征值

角度为 的旋转矩阵:

$$

R() =

$$

特征值为:

这正是欧拉公式!特征值的模 ,表示纯旋转不改变向量长度。

复特征值总是成对出现

对于实矩阵,如果 是特征值,那么它的共轭 也必定是特征值。

原因:特征多项式的系数都是实数,所以复根必须共轭成对。

复特征值与振荡

当矩阵有复特征值 时: - :每次迭代的缩放因子 - :每次迭代的旋转角度

系统的长期行为: - :螺旋收敛到原点 - :周期性振荡(椭圆轨道) - :螺旋发散

这解释了为什么弹簧振子(无阻尼)会做周期运动,而有阻尼的振子会逐渐停止。

应用案例:人口增长模型

莱斯利矩阵( Leslie Matrix)

生态学中用莱斯利矩阵建模种群的年龄结构演化。假设一个物种分为三个年龄组(幼年、青年、老年),用向量表示各年龄组的数量:

一年后的数量由莱斯利矩阵 决定:

其中:

$$

L =

$$ - :第 年龄组的平均生育率 - :从第 年龄组存活到下一年龄组的概率

具体例子

假设某种动物: - 幼年不繁殖($ f_0 = 0 f_1 = 2 f_2 = 0.5 s_0 = 0.6 s_1 = 0.8$)

$$

L =

$$

用 Python 计算特征值:

1
2
3
4
5
6
7
8
9
import numpy as np

L = np.array([[0, 2, 0.5],
[0.6, 0, 0],
[0, 0.8, 0]])

eigenvalues, eigenvectors = np.linalg.eig(L)
print("特征值:", eigenvalues)
print("主特征值:", max(eigenvalues.real))

输出的主特征值(绝对值最大的那个)约为

长期行为分析

年后的种群向量:

其中 是主特征向量。

关键洞察: - 如果 :种群增长 - 如果 :种群稳定 - 如果 :种群灭绝

主特征向量 给出了稳定年龄分布——无论初始状态如何,种群最终会趋向这个分布比例。

这个模型被广泛用于野生动物保护、渔业管理、人口政策制定等领域。

应用案例: Google PageRank 算法

网页排名的挑战

1998 年, Larry Page 和 Sergey Brin 创立 Google 时面临一个核心问题:如何衡量网页的"重要性"?

他们的洞察是:一个网页的重要性取决于多少重要网页链接到它。这是一个递归定义——需要特征向量来解决!

数学建模

假设互联网有 个网页。定义超链接矩阵

$$

H_{ij} =

$$

其中 是网页 的出链数量。

每个网页的 PageRank 值 满足:

$$

r_i = _{j i} $$

用矩阵形式写成:

这正是特征值问题!我们要找 对应于特征值 的特征向量。

随机游走的解释

PageRank 还有一个直观解释:想象一个"随机上网者"在网页间漫无目的地点击链接。在每个网页上,他等概率地点击任意一个出链。

长期来看,这个人停留在各网页的概率分布就是 PageRank 向量!

为了保证收敛, Google 引入了"阻尼因子" (通常取 0.85):

这意味着上网者有 15% 的概率随机跳转到任意网页(模拟用户直接输入网址的行为)。

简化示例

考虑一个只有 4 个网页的微型互联网:

1
2
3
4
网页 1 → 网页 2, 3
网页 2 → 网页 3
网页 3 → 网页 1
网页 4 → 网页 1, 2, 3

超链接矩阵(带阻尼因子 ):

$$

G = 0.85 H + 0.15 ^T $$

通过幂次迭代求主特征向量,得到各网页的 PageRank 分数。网页 3 由于被多个网页链接,且链接它的网页(如网页 1)本身也很重要,所以它的 PageRank 会很高。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import numpy as np

# 构造超链接矩阵
H = np.array([[0, 0, 1, 1/3],
[1/2, 0, 0, 1/3],
[1/2, 1, 0, 1/3],
[0, 0, 0, 0]])

d = 0.85
n = 4
G = d * H + (1 - d) / n * np.ones((n, n))

# 幂次迭代
r = np.ones(n) / n
for _ in range(100):
r = G @ r

print("PageRank:", r)

幂次迭代法

Google 使用幂次迭代法来计算 PageRank:

不断迭代,向量会收敛到主特征向量。这种方法特别适合稀疏矩阵(互联网的链接矩阵很稀疏),可以高效处理数十亿网页。

斐波那契数列与黄金比例

用矩阵表示递推

斐波那契数列定义为:

用向量 表示相邻两项,则:

因此:

对角化求通项公式

矩阵 的特征值:

(黄金比例),

通过对角化可得斐波那契数列的比内公式( Binet's Formula):

$$

F_n = $$

渐近行为

由于 ,当 很大时 ,所以:

$$

F_n $$

这解释了为什么相邻斐波那契数的比值趋向于黄金比例:

黄金比例出现在这里并非偶然——它正是斐波那契矩阵的主特征值

对称矩阵的特殊性质

谱定理

定理(实对称矩阵的谱定理):设 实对称矩阵(),则:

  1. 的所有特征值都是实数
  2. 可以正交对角化,其中 是正交矩阵
  3. 不同特征值对应的特征向量相互正交

正交对角化的意义

普通对角化是 ,而对称矩阵的对角化更优美:

正交矩阵 的逆就是它的转置(),这在数值计算中非常稳定。

谱分解

每个实对称矩阵可以写成秩一矩阵的和

$$

A = _{i=1}^n _i _i_i^T $$

其中 是单位正交特征向量。

这个分解在主成分分析( PCA)、图像压缩、推荐系统等领域有重要应用。

正定性与特征值

对于对称矩阵

  • 正定 所有特征值
  • 半正定 所有特征值
  • 负定 所有特征值
  • 不定 特征值有正有负

正定矩阵在优化、机器学习中扮演核心角色( Hessian 矩阵正定意味着函数有极小值)。

特征值的性质总结

基本性质

性质 描述
行列式
可逆性 可逆 所有
的特征值 (特征向量不变)
的特征值 (特征向量不变)
的特征值 (特征向量不变)
的特征值 (特征向量不变)

相似矩阵

如果 相似),则: - 相同的特征值 - 如果 的特征向量,则 的特征向量

对角化本质上就是找一个相似变换,使 变成对角矩阵

特征值的代数重数与几何重数

  • 代数重数:特征值作为特征多项式根的重数
  • 几何重数:对应特征空间的维数(线性独立的特征向量数量)

关系:几何重数 代数重数

当所有特征值的几何重数等于代数重数时,矩阵可对角化。

数值计算方法

幂次迭代法

最大特征值及其特征向量:

1
2
3
4
5
6
7
8
9
10
11
def power_iteration(A, num_iterations=100):
n = A.shape[0]
v = np.random.rand(n)
v = v / np.linalg.norm(v)

for _ in range(num_iterations):
Av = A @ v
v = Av / np.linalg.norm(Av)

eigenvalue = v @ A @ v # 瑞利商
return eigenvalue, v

收敛速度取决于 :最大和次大特征值的比值越大,收敛越快。

逆幂次迭代法

最小特征值:对 做幂次迭代( 的最大特征值是 的最小特征值的倒数)。

QR 算法

所有特征值的黄金标准算法:

1
2
3
4
5
6
def qr_algorithm(A, num_iterations=100):
Ak = A.copy()
for _ in range(num_iterations):
Q, R = np.linalg.qr(Ak)
Ak = R @ Q
return np.diag(Ak) # 对角元素趋向于特征值

这是 NumPy 、 MATLAB 等软件计算特征值的核心算法。

练习题

概念理解题

1. 为什么特征向量的定义中要求向量非零?如果允许零向量,会发生什么?

2. 一个 矩阵最多有几个线性独立的特征向量?最少有几个?

3. 如果 是矩阵 的特征值, 是常数,那么 的特征值是什么? 的特征值呢?

4. 解释为什么旋转矩阵(非 )在实数范围内没有特征值。

5. 什么样的矩阵一定可以对角化?什么样的矩阵可能无法对角化?

计算题

6. 求矩阵 的特征值和特征向量,并验证结果。

7. 对角化矩阵 ,写出 的形式。

8. 利用上题的对角化结果,计算

9. 求旋转矩阵 的特征值(复数形式)。

10. 证明矩阵 无法对角化。

11. 矩阵, 的特征向量,特征值为 。证明 也是 的特征向量,并求对应的特征值。

12. 求矩阵 的特征值(提示:这是递推关系 的伴随矩阵)。

证明题

13. 证明:如果 是实对称矩阵,则 的所有特征值都是实数。

14. 证明:不同特征值对应的特征向量线性独立。

15. 是相似矩阵(),证明 有相同的特征多项式,因此有相同的特征值。

16. 证明韦达定理的矩阵版本:

应用题

17. (人口模型)某城市人口分为三个年龄组:儿童( 0-14 岁)、成人( 15-64 岁)、老人( 65 岁以上)。莱斯利矩阵为:

$$

L =

$$ ( a)求主特征值,判断人口长期趋势。 ( b)求稳定年龄分布(主特征向量的归一化)。

18. ( PageRank)考虑一个有 3 个网页的小型网络: - 网页 A 链接到 B 和 C - 网页 B 链接到 C - 网页 C 链接到 A

写出超链接矩阵 ,并用幂次迭代法计算各网页的 PageRank(阻尼因子 )。

19. (斐波那契推广)定义广义斐波那契数列:。 ( a)写出对应的矩阵 。 ( b)求 的特征值。 ( c)当 时,验证特征值就是黄金比例和它的共轭。

20. (马尔可夫链)一个系统有两个状态 A 和 B,转移概率如下:从 A 到 A 的概率是 0.7,从 A 到 B 是 0.3;从 B 到 A 是 0.4,从 B 到 B 是 0.6 。 ( a)写出转移矩阵 。 ( b)求 的特征值和特征向量。 ( c)求稳态分布(对应 的特征向量)。

编程题

21. 实现幂次迭代法,用于求矩阵的最大特征值和对应的特征向量。测试你的实现。

22. 编写程序可视化一个 矩阵对单位圆上点的变换,标出特征向量的方向。

23. 实现简化版的 PageRank 算法,测试一个小型网络( 5-10 个节点)。

24. 编写程序模拟莱斯利人口模型,可视化不同初始条件下人口的长期演化。

25. 实现 QR 算法来计算矩阵的所有特征值,与 NumPy 的结果对比。

总结

特征值与特征向量揭示了线性变换的"内在结构":

  • 特征向量是变换下"方向不变"的特殊方向
  • 特征值描述了这些方向上的缩放
  • 对角化让我们在"最自然"的坐标系下理解矩阵
  • 复特征值对应旋转,解释了振荡和周期行为
  • 主特征值决定了系统的长期行为

从 Google 搜索到人口预测,从量子力学到机器学习,特征值无处不在。掌握这个概念,你就掌握了理解复杂系统的钥匙。

核心直觉:找到那些"方向不变"的特殊向量,复杂的变换就变成了简单的缩放。

参考资料

  1. Strang, G. (2019). Introduction to Linear Algebra. Chapter 6.
  2. Axler, S. (2015). Linear Algebra Done Right. Chapters 5-7.
  3. 3Blue1Brown. Essence of Linear Algebra, Chapters 13-14.
  4. Page, L., Brin, S., et al. (1999). The PageRank Citation Ranking: Bringing Order to the Web. Stanford Technical Report.
  5. Caswell, H. (2001). Matrix Population Models. Sinauer Associates.

本文是《线性代数的本质与应用》系列的第 6 章。

  • 本文标题:线性代数(六)特征值与特征向量
  • 本文作者:Chen Kai
  • 创建时间:2019-02-01 09:15:00
  • 本文链接:https://www.chenk.top/%E7%BA%BF%E6%80%A7%E4%BB%A3%E6%95%B0%EF%BC%88%E5%85%AD%EF%BC%89%E7%89%B9%E5%BE%81%E5%80%BC%E4%B8%8E%E7%89%B9%E5%BE%81%E5%90%91%E9%87%8F/
  • 版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
 评论