自在学

我们与你共同进步

  • 分类课程
  • 文章
  • 工作台
  • 订阅

  • 关于我们
  • 隐私政策
  • 使用条款

探索

  • 分类课程
  • 文章
  • 工作台
  • 订阅

网站信息

  • 关于我们
  • 隐私政策
  • 使用条款

加入社区

自在学学习社区微信二维码

微信扫码,交流学习

株洲市自在学教育科技有限公司© 2025 - 2026 版权所有

© 2025 - 2026 株洲市自在学教育科技有限公司 版权所有

湘公网安备43020302000292号|湘ICP备2025148919号-1
分类课程工作台文章订阅
分类课程工作台文章价格

线性代数 I

  1. 01线性代数研究什么:方程、向量与变换
  2. 02向量与线性组合
  3. 03矩阵与线性方程组
  4. 04高斯消元与阶梯形
  5. 05矩阵运算与逆矩阵
  6. 06子空间、张成、线性无关、基与维数
  7. 07四个基本子空间与秩-零化度
  8. 08线性变换与矩阵
  9. 09行列式:面积、体积与可逆性
  10. 10特征值、特征向量与对角化
  11. 11正交、投影与最小二乘
  12. 12奇异值分解与综合应用
正在加载课程章节内容
课程数学线性代数 I特征值、特征向量与对角化

特征值、特征向量与对角化

上一章里,行列式告诉我们一个矩阵有没有把空间压扁,进而判断它是否可逆。但只知道“能不能倒放”还不够。面对一个具体矩阵,我们还会继续问:它最习惯沿哪些方向拉伸?反复作用很多次以后,哪些方向会留下,哪些方向会消失?

特征值和特征向量就是为这些问题准备的。

先想象你在一张橡皮膜上画了许多从原点出发的箭头,再用矩阵把整张膜拉扯一次。大多数箭头会被带到别的方向;只有少数箭头仍落在原来的直线上,区别只是变长、变短、反向,或者被压成零。矩阵对这些方向的动作最干净,我们就从它们入手。

二维坐标网格中,向量 v 经矩阵 A 作用后仍与原方向共线,旁边用普通向量转向作对比。

这一章可以一直抓住同一个画面:先找矩阵作用下“不转向”的方向,再用这些方向重新搭一套坐标轴。若这样的方向足够多,原本纠缠在一起的变换就会变成几个互不干扰的缩放。


那些不转向的方向

设 AAA 是一个 n×nn\times nn×n 方阵。若存在非零向量 vvv 和数 λ\lambdaλ,使得

Av=λvAv=\lambda vAv=λv

那么 vvv 叫作 AAA 的特征向量,λ\lambdaλ 叫作与 vvv 对应的特征值。

这个式子短,但每个条件都有用。

首先,AAA 必须是方阵。AvAvAv 和 vvv 要落在同一个空间里,我们才能比较它们是不是共线。其次,必须要求 v≠0v\ne 0v=0。零向量被任何矩阵送出去都是零,满足 A0=λ0A0=\lambda 0A0=λ0,可它没有方向;若把它也算作特征向量,任意数都会莫名其妙地成为任意矩阵的特征值。

最后,λ\lambdaλ 记录的是沿这条直线发生的动作:

  • λ>1\lambda>1λ>1 时,向量沿原方向变长。
  • 0<λ<10<\lambda<10<λ<1 时,向量沿原方向缩短。
  • λ=1\lambda=1λ=1 时,向量完全不变。
  • λ<0\lambda<0λ<0 时,向量翻到反方向,再按 ∣λ∣|\lambda|∣λ∣ 缩放。
  • λ=0\lambda=0λ=0 时,非零向量被压成零向量。

因此,“特征向量方向不变”说得更严谨一点,是 AvAvAv 仍在 vvv 张成的同一条直线上。若 λ<0\lambda<0λ<0,箭头朝向会反过来,但直线没有变。

最容易看懂的矩阵

考虑

A=[30012]A= \begin{bmatrix} 3 & 0\\ 0 & \frac12 \end{bmatrix}A=[30​021​​]

它把横坐标乘以 333,把纵坐标乘以 12\frac1221​。于是

A[10]=3[10]A \begin{bmatrix} 1\\ 0 \end{bmatrix} = 3 \begin{bmatrix} 1\\ 0 \end{bmatrix}A[10​]=3[10​]

横轴是特征方向,对应特征值 333。同样,

A[01]=12[01]A \begin{bmatrix} 0\\ 1 \end{bmatrix} = \frac12 \begin{bmatrix} 0\\ 1 \end{bmatrix}A[01​]=21​[01​]

纵轴也是特征方向,对应特征值 12\frac1221​。

不过,别由此以为只有坐标轴上的向量才可能是特征向量。这里的矩阵已经沿坐标轴分别缩放,所以答案恰好一眼可见。换一个矩阵,最自然的缩放方向往往是斜的,我们得把它算出来。

判断一个给定向量是不是特征向量,不是看 AvAvAv 的长度是否等于 vvv,而是看 AvAvAv 能不能写成同一个数乘 vvv。每个分量必须使用同一个倍率。


特征方程是怎样被逼出来的

定义告诉我们要满足 Av=λvAv=\lambda vAv=λv,却没有直接告诉我们怎样找到 λ\lambdaλ。真正的突破口来自上一章已经学过的“不可逆”。

从定义开始,把右边移到左边:

Av−λv=0Av-\lambda v=0Av−λv=0

数 λ\lambdaλ 不能直接从矩阵 AAA 里减掉,所以要写成 λI\lambda IλI。因为 Iv=vIv=vIv=v,于是

(A−λI)v=0(A-\lambda I)v=0(A−λI)v=0

现在我们面对的是一个齐次方程组。零向量永远是解,可特征向量要求非零解。若 A−λIA-\lambda IA−λI 可逆,两边左乘它的逆矩阵,只会得到 v=0v=0v=0,这条路走不通。因此,我们必须挑出让 A−λIA-\lambda IA−λI 不可逆的 λ\lambdaλ。

上一章已经给出判断:方阵不可逆,当且仅当行列式为零。所以 λ\lambdaλ 必须满足

det⁡(A−λI)=0\det(A-\lambda I)=0det(A−λI)=0

这就是特征方程。它不是额外背下来的一条规则,而是“齐次方程必须有非零解”这个要求一步步推出来的。

从 Av=λv 推导到 det(A-λI)=0 的特征方程示意图,展示 A-λI 将平面压扁并产生非零解。

几何上也可以这样看:当 λ\lambdaλ 选对时,A−λIA-\lambda IA−λI 会把至少一个非零方向压成零,因而丢掉维度,行列式只能是零。

二阶矩阵的通用计算

设

A=[abcd]A= \begin{bmatrix} a & b\\ c & d \end{bmatrix}A=[ac​bd​]

那么

A−λI=[a−λbcd−λ]A-\lambda I= \begin{bmatrix} a-\lambda & b\\ c & d-\lambda \end{bmatrix}A−λI=[a−λc​bd−λ​]

特征多项式为

det⁡(A−λI)=(a−λ)(d−λ)−bc\det(A-\lambda I) =(a-\lambda)(d-\lambda)-bcdet(A−λI)=(a−λ)(d−λ)−bc

展开得到

det⁡(A−λI)=λ2−(a+d)λ+(ad−bc)\det(A-\lambda I) =\lambda^2-(a+d)\lambda+(ad-bc)det(A−λI)=λ2−(a+d)λ+(ad−bc)

这里藏着两个很好用的验算关系。若两个根是 λ1,λ2\lambda_1,\lambda_2λ1​,λ2​,那么

λ1+λ2=a+d=tr⁡(A)\lambda_1+\lambda_2=a+d=\operatorname{tr}(A)λ1​+λ2​=a+d=tr(A) λ1λ2=ad−bc=det⁡(A)\lambda_1\lambda_2=ad-bc=\det(A)λ1​λ2​=ad−bc=det(A)

也就是说,两个特征值之和等于迹,乘积等于行列式。算完特征值后顺手核对这两项,很多符号错误会当场暴露。

例题:把计算推到底

求矩阵

A=[4123]A= \begin{bmatrix} 4 & 1\\ 2 & 3 \end{bmatrix}A=[42​13​]

的特征值和对应的特征向量。

先求特征值。写出

A−λI=[4−λ123−λ]A-\lambda I= \begin{bmatrix} 4-\lambda & 1\\ 2 & 3-\lambda \end{bmatrix}A−λI=[4−λ2​13−λ​]

它的行列式必须为零:

(4−λ)(3−λ)−2=0(4-\lambda)(3-\lambda)-2=0(4−λ)(3−λ)−2=0

展开并因式分解:

λ2−7λ+10=0\lambda^2-7\lambda+10=0λ2−7λ+10=0(λ−5)(λ−2)=0(\lambda-5)(\lambda-2)=0(λ−5)(λ−2)=0

所以两个特征值是 555 和 222。它们的和是 777,等于矩阵的迹;乘积是 101010,等于矩阵的行列式,第一轮验算通过。

对 λ=5\lambda=5λ=5,解 (A−5I)v=0(A-5I)v=0(A−5I)v=0:

[−112−2][xy]=[00]\begin{bmatrix} -1 & 1\\ 2 & -2 \end{bmatrix} \begin{bmatrix} x\\ y \end{bmatrix} = \begin{bmatrix} 0\\ 0 \end{bmatrix}[−12​1−2​][xy​]=[00​]

方程化成 y=xy=xy=x。取最简单的非零解,得到

v1=[11]v_1= \begin{bmatrix} 1\\ 1 \end{bmatrix}v1​=[11​]

对 λ=2\lambda=2λ=2,解 (A−2I)v=0(A-2I)v=0(A−2I)v=0:

[2121][xy]=[00]\begin{bmatrix} 2 & 1\\ 2 & 1 \end{bmatrix} \begin{bmatrix} x\\ y \end{bmatrix} = \begin{bmatrix} 0\\ 0 \end{bmatrix}[22​11​][xy​]=[00​]

方程是 2x+y=02x+y=02x+y=0。取 x=1x=1x=1,得到

v2=[1−2]v_2= \begin{bmatrix} 1\\ -2 \end{bmatrix}v2​=[1−2​]

最后别只相信消元结果,直接代回原矩阵:

A[11]=[55]=5[11]A \begin{bmatrix} 1\\ 1 \end{bmatrix} = \begin{bmatrix} 5\\ 5 \end{bmatrix} =5 \begin{bmatrix} 1\\ 1 \end{bmatrix}A[11​]=[55​]=5[11​]A[1−2]=[2−4]=2[1−2]A \begin{bmatrix} 1\\ -2 \end{bmatrix} = \begin{bmatrix} 2\\ -4 \end{bmatrix} =2 \begin{bmatrix} 1\\ -2 \end{bmatrix}A[1−2​]=[2−4​]=2[1−2​]

两组倍率都一致,答案才算真正核实完。

沿 v1v_1v1​ 的方向,矩阵放大 555 倍;沿 v2v_2v2​ 的方向,矩阵放大 222 倍。矩阵在普通坐标里会混合横、纵分量,可一旦站到这两条斜方向上看,它的动作反而很简单。

实矩阵不一定有实特征方向

考虑平面上的九十度旋转:

R=[0−110]R= \begin{bmatrix} 0 & -1\\ 1 & 0 \end{bmatrix}R=[01​−10​]

它把每条非零实向量都转过九十度,所以在实平面里不可能留下同一直线。计算也会说同样的话:

det⁡(R−λI)=λ2+1\det(R-\lambda I)=\lambda^2+1det(R−λI)=λ2+1

这个方程没有实根,因此 RRR 没有实特征值,也没有实特征向量。若把数的范围扩展到复数,它有特征值 iii 和 −i-i−i。本章主要处理实特征值,但要记住:特征多项式有根,得先说明我们在哪个数域里讨论。


三阶矩阵也有捷径

三阶特征多项式直接展开会比二阶麻烦不少。可一旦矩阵是上三角或下三角,事情就很轻松:A−λIA-\lambda IA−λI 仍是三角矩阵,它的行列式等于主对角线元素的乘积。因此,三角矩阵的特征值就是主对角线上的数,包括重复次数。

看这个上三角矩阵:

B=[31002000−1]B= \begin{bmatrix} 3 & 1 & 0\\ 0 & 2 & 0\\ 0 & 0 & -1 \end{bmatrix}B=​300​120​00−1​​

它的特征方程是

det⁡(B−λI)=(3−λ)(2−λ)(−1−λ)=0\det(B-\lambda I) =(3-\lambda)(2-\lambda)(-1-\lambda)=0det(B−λI)=(3−λ)(2−λ)(−1−λ)=0

所以特征值为

λ1=3,λ2=2,λ3=−1\lambda_1=3,\qquad \lambda_2=2,\qquad \lambda_3=-1λ1​=3,λ2​=2,λ3​=−1

接下来逐个解零空间。

当 λ=3\lambda=3λ=3 时,

B−3I=[0100−1000−4]B-3I= \begin{bmatrix} 0 & 1 & 0\\ 0 & -1 & 0\\ 0 & 0 & -4 \end{bmatrix}B−3I=​000​1−10​00−4​​

得到 y=0,z=0y=0,z=0y=0,z=0,而 xxx 自由,可取

v1=[100]v_1= \begin{bmatrix} 1\\ 0\\ 0 \end{bmatrix}v1​=​100​​

当 λ=2\lambda=2λ=2 时,

B−2I=[11000000−3]B-2I= \begin{bmatrix} 1 & 1 & 0\\ 0 & 0 & 0\\ 0 & 0 & -3 \end{bmatrix}B−2I=​100​100​00−3​​

得到 x+y=0,z=0x+y=0,z=0x+y=0,z=0,可取

v2=[1−10]v_2= \begin{bmatrix} 1\\ -1\\ 0 \end{bmatrix}v2​=​1−10​​

当 λ=−1\lambda=-1λ=−1 时,

B+I=[410030000]B+I= \begin{bmatrix} 4 & 1 & 0\\ 0 & 3 & 0\\ 0 & 0 & 0 \end{bmatrix}B+I=​400​130​000​​

得到 x=0,y=0x=0,y=0x=0,y=0,可取

v3=[001]v_3= \begin{bmatrix} 0\\ 0\\ 1 \end{bmatrix}v3​=​001​​

三个特征值互不相同,对应的三个特征向量一定线性无关。这里也能直接看出来:把 v1,v2,v3v_1,v_2,v_3v1​,v2​,v3​ 放成列,所得矩阵的行列式不为零。于是它们确实能组成三维空间的一组基。

“三角矩阵的特征值就是对角线”只替你省掉了求根,不能替你求特征向量。每个特征值仍要代回 (B−λI)v=0(B-\lambda I)v=0(B−λI)v=0,因为特征向量通常不是标准基向量。


特征空间与两种重数

固定一个特征值 λ\lambdaλ 后,所有满足

(A−λI)v=0(A-\lambda I)v=0(A−λI)v=0

的向量连同零向量放在一起,组成 λ\lambdaλ 的特征空间:

Eλ=ker⁡(A−λI)E_\lambda=\ker(A-\lambda I)Eλ​=ker(A−λI)

特征向量就是 EλE_\lambdaEλ​ 里的非零向量。

为什么要引入“空间”这个说法?因为同一个特征值通常不只对应一支固定长度的箭头。若 vvv 是特征向量,那么任何非零倍数 cvcvcv 都满足

A(cv)=cAv=cλv=λ(cv)A(cv)=cAv=c\lambda v=\lambda(cv)A(cv)=cAv=cλv=λ(cv)

更进一步,同一特征值下的特征向量做线性组合,结果只要不是零,仍是同一特征值的特征向量。我们真正关心的是这批方向能提供多少个彼此独立的坐标轴,也就是 EλE_\lambdaEλ​ 的维数。

代数重数数根,几何重数数方向

假设特征多项式里出现因子

(λ−λ0)m(\lambda-\lambda_0)^m(λ−λ0​)m

那么 λ0\lambda_0λ0​ 的代数重数是 mmm。它回答的是:λ0\lambda_0λ0​ 作为特征方程的根重复了几次。

而

dim⁡Eλ0\dim E_{\lambda_0}dimEλ0​​

叫作 λ0\lambda_0λ0​ 的几何重数。它回答的是:这个特征值实际提供了多少个线性无关的特征方向。

两者不要混在一起。对任何特征值,都有

1≤几何重数≤代数重数1\leq \text{几何重数}\leq \text{代数重数}1≤几何重数≤代数重数

例如单位矩阵

I=[1001]I= \begin{bmatrix} 1 & 0\\ 0 & 1 \end{bmatrix}I=[10​01​]

的特征多项式是 (1−λ)2(1-\lambda)^2(1−λ)2,所以 λ=1\lambda=1λ=1 的代数重数为 222。同时,任意非零向量都满足 Iv=vIv=vIv=v,因而

E1=R2E_1=\mathbb{R}^2E1​=R2

几何重数也是 222。虽然特征值只写出一个不同的数,特征方向却完全够用。

后面会看到,另一个同样具有二重根 111 的矩阵,却只能提供一条独立方向。能不能对角化,差别就在这里。

一个直接的可对角化判据

一个 n×nn\times nn×n 矩阵能对角化,当且仅当它能找到 nnn 个线性无关的特征向量。若特征多项式已经分解,那么也可以把条件说成:所有特征空间的维数加起来等于 nnn。

由此立刻得到一个常用结论:n×nn\times nn×n 矩阵若有 nnn 个互不相同的特征值,就一定可以对角化。因为不同特征值各取一个特征向量,这些向量自动线性无关。

反过来不成立。特征值有重复,并不代表一定不能对角化;单位矩阵就是最简单的反例。重复根出现时,我们只需要多做一步:计算对应特征空间的维数。


对角化其实是在换坐标

第一次看到

A=PDP−1A=PDP^{-1}A=PDP−1

很容易把它当作一串需要记忆的矩阵乘法。其实这条式子说的是一件很具体的事:用特征向量重新搭坐标轴后,矩阵 AAA 只会沿每根新坐标轴分别缩放。

假设 AAA 有 nnn 个线性无关的特征向量 v1,…,vnv_1,\ldots,v_nv1​,…,vn​,对应特征值为 λ1,…,λn\lambda_1,\ldots,\lambda_nλ1​,…,λn​。把特征向量按同样顺序放进矩阵 PPP 的列:

P=[∣∣∣v1v2⋯vn∣∣∣]P= \begin{bmatrix} | & | & & |\\ v_1 & v_2 & \cdots & v_n\\ | & | & & | \end{bmatrix}P=​∣v1​∣​∣v2​∣​⋯​∣vn​∣​​

再把对应特征值放进对角矩阵 DDD:

D=[λ10⋯00λ2⋯0⋮⋮⋱⋮00⋯λn]D= \begin{bmatrix} \lambda_1 & 0 & \cdots & 0\\ 0 & \lambda_2 & \cdots & 0\\ \vdots & \vdots & \ddots & \vdots\\ 0 & 0 & \cdots & \lambda_n \end{bmatrix}D=​λ1​0⋮0​0λ2​⋮0​⋯⋯⋱⋯​00⋮λn​​​

逐列看,Avi=λiviAv_i=\lambda_i v_iAvi​=λi​vi​。把全部列一次写完,就是

AP=PDAP=PDAP=PD

由于 v1,…,vnv_1,\ldots,v_nv1​,…,vn​ 线性无关,PPP 可逆。于是

P−1AP=DP^{-1}AP=DP−1AP=D

等价地,

A=PDP−1A=PDP^{-1}A=PDP−1

对角化 A=PDP^-1 的三段流程图:换到特征向量坐标,沿坐标轴分别缩放,再换回普通坐标。

这三个矩阵的顺序不能凭感觉换:

  • P−1P^{-1}P−1 把普通坐标 xxx 改写成特征向量坐标 ccc。
  • DDD 在新坐标里把第 iii 个分量乘以 λi\lambda_iλi​。
  • PPP 把处理后的特征向量坐标换回普通坐标。

矩阵乘法从右往左执行,所以对一个向量 xxx 来说,PDP−1xPDP^{-1}xPDP−1x 的实际动作正是“换过去、分别缩放、换回来”。

例题:完整对角化

回到前面的矩阵

A=[4123]A= \begin{bmatrix} 4 & 1\\ 2 & 3 \end{bmatrix}A=[42​13​]

我们已经求出

λ1=5,v1=[11]\lambda_1=5,\qquad v_1= \begin{bmatrix} 1\\ 1 \end{bmatrix}λ1​=5,v1​=[11​] λ2=2,v2=[1−2]\lambda_2=2,\qquad v_2= \begin{bmatrix} 1\\ -2 \end{bmatrix}λ2​=2,v2​=[1−2​]

按照同一顺序组成

P=[111−2],D=[5002]P= \begin{bmatrix} 1 & 1\\ 1 & -2 \end{bmatrix},\qquad D= \begin{bmatrix} 5 & 0\\ 0 & 2 \end{bmatrix}P=[11​1−2​],D=[50​02​]

PPP 的行列式是 −3-3−3,所以

P−1=[231313−13]P^{-1}= \begin{bmatrix} \frac23 & \frac13\\ \frac13 & -\frac13 \end{bmatrix}P−1=[32​31​​31​−31​​]

先用最省力的方式核对列关系:

AP=[525−4]AP= \begin{bmatrix} 5 & 2\\ 5 & -4 \end{bmatrix}AP=[55​2−4​] PD=[525−4]PD= \begin{bmatrix} 5 & 2\\ 5 & -4 \end{bmatrix}PD=[55​2−4​]

两边相等,因此

A=PDP−1A=PDP^{-1}A=PDP−1

这里还有一个很常见的细节:若把 PPP 的两列交换,那么 DDD 中的两个特征值也必须同步交换。特征向量与特征值是一对一配好的,不能各排各的顺序。


高次幂为什么突然变简单

直接计算 A2,A3,A4A^2,A^3,A^4A2,A3,A4,矩阵里的数会越来越大,乘法也会重复很多次。可若已经有

A=PDP−1A=PDP^{-1}A=PDP−1

那么

A2=(PDP−1)(PDP−1)A^2=(PDP^{-1})(PDP^{-1})A2=(PDP−1)(PDP−1)

中间的 P−1PP^{-1}PP−1P 等于 III,所以

A2=PD2P−1A^2=PD^2P^{-1}A2=PD2P−1

同样地,对非负整数 kkk,

Ak=PDkP−1A^k=PD^kP^{-1}Ak=PDkP−1

而对角矩阵的幂只需把每个对角元素做幂:

Dk=[λ1k0⋯00λ2k⋯0⋮⋮⋱⋮00⋯λnk]D^k= \begin{bmatrix} \lambda_1^k & 0 & \cdots & 0\\ 0 & \lambda_2^k & \cdots & 0\\ \vdots & \vdots & \ddots & \vdots\\ 0 & 0 & \cdots & \lambda_n^k \end{bmatrix}Dk=​λ1k​0⋮0​0λ2k​⋮0​⋯⋯⋱⋯​00⋮λnk​​​

对刚才的例子,可以把乘法做完,得到完整公式:

Ak=13[2⋅5k+2k5k−2k2⋅5k−2⋅2k5k+2⋅2k]A^k= \frac13 \begin{bmatrix} 2\cdot5^k+2^k & 5^k-2^k\\ 2\cdot5^k-2\cdot2^k & 5^k+2\cdot2^k \end{bmatrix}Ak=31​[2⋅5k+2k2⋅5k−2⋅2k​5k−2k5k+2⋅2k​]

把 k=1k=1k=1 代回去,右边恰好还原为原矩阵 AAA。这又是一次很便宜的验算。

不过,如果题目只问 Akx0A^kx_0Akx0​,往往连完整的 AkA^kAk 都不用展开。把 x0x_0x0​ 拆到特征方向上,会更直接。

把初始向量拆成独立分量

设

x0=[41]x_0= \begin{bmatrix} 4\\ 1 \end{bmatrix}x0​=[41​]

我们想把它写成

x0=c1v1+c2v2x_0=c_1v_1+c_2v_2x0​=c1​v1​+c2​v2​

也就是解

[41]=c1[11]+c2[1−2]\begin{bmatrix} 4\\ 1 \end{bmatrix} = c_1 \begin{bmatrix} 1\\ 1 \end{bmatrix} + c_2 \begin{bmatrix} 1\\ -2 \end{bmatrix}[41​]=c1​[11​]+c2​[1−2​]

比较分量得到

c1+c2=4,c1−2c2=1c_1+c_2=4,\qquad c_1-2c_2=1c1​+c2​=4,c1​−2c2​=1

解得 c1=3,c2=1c_1=3,c_2=1c1​=3,c2​=1,所以

x0=3v1+v2x_0=3v_1+v_2x0​=3v1​+v2​

矩阵每作用一次,v1v_1v1​ 分量乘以 555,v2v_2v2​ 分量乘以 222。作用 kkk 次后:

Akx0=3⋅5kv1+2kv2A^kx_0=3\cdot5^kv_1+2^kv_2Akx0​=3⋅5kv1​+2kv2​

展开就是

Akx0=3⋅5k[11]+2k[1−2]A^kx_0 = 3\cdot5^k \begin{bmatrix} 1\\ 1 \end{bmatrix} + 2^k \begin{bmatrix} 1\\ -2 \end{bmatrix}Akx0​=3⋅5k[11​]+2k[1−2​]

这比反复做矩阵乘法更能看出长期行为:5k5^k5k 比 2k2^k2k 增长得快,所以只要初始向量在 v1v_1v1​ 方向上的系数不为零,向量的方向会越来越接近 v1v_1v1​。

动态系统中不同特征方向的增长与衰减。

读长期趋势时要带上条件

对于离散系统

xk+1=Axkx_{k+1}=Ax_kxk+1​=Axk​

若 AAA 可对角化,并且

x0=c1v1+⋯+cnvnx_0=c_1v_1+\cdots+c_nv_nx0​=c1​v1​+⋯+cn​vn​

那么

xk=Akx0=c1λ1kv1+⋯+cnλnkvnx_k=A^kx_0 =c_1\lambda_1^kv_1+\cdots+c_n\lambda_n^kv_nxk​=Akx0​=c1​λ1k​v1​+⋯+cn​λnk​vn​

从这里可以读出几种常见情况:

  • 若所有 ∣λi∣<1|\lambda_i|<1∣λi​∣<1,每个分量都会衰减到零,因而 xk→0x_k\to0xk​→0。
  • 若某个特征值的绝对值严格大于其他特征值,而且初始向量在它的特征方向上有非零分量,这个方向通常会主导长期形状。
  • 若主导特征值为负,相邻两步会沿该方向来回翻转。
  • 若两个主导特征值的绝对值相同,长期方向未必收敛,几个分量可能一直竞争。
  • 若初始向量恰好没有主导方向上的分量,那么即使那个特征值最大,它也不会凭空出现。

“绝对值最大的特征值决定长期方向”不是无条件口号。至少要检查最大绝对值是否唯一、初始向量在对应方向上的系数是否非零,以及当前讨论是否有足够多的特征向量来完成分解。


剪切矩阵为什么不能对角化

现在看一个会卡住整套方法的矩阵:

S=[1101]S= \begin{bmatrix} 1 & 1\\ 0 & 1 \end{bmatrix}S=[10​11​]

它做的是水平剪切。横轴上的向量保持不变,但其他方向会被向右推斜。

先求特征值:

det⁡(S−λI)=det⁡[1−λ101−λ]=(1−λ)2\det(S-\lambda I) = \det \begin{bmatrix} 1-\lambda & 1\\ 0 & 1-\lambda \end{bmatrix} =(1-\lambda)^2det(S−λI)=det[1−λ0​11−λ​]=(1−λ)2

唯一特征值是 λ=1\lambda=1λ=1,代数重数为 222。接着求特征空间:

S−I=[0100]S-I= \begin{bmatrix} 0 & 1\\ 0 & 0 \end{bmatrix}S−I=[00​10​]

方程 (S−I)v=0(S-I)v=0(S−I)v=0 给出 y=0y=0y=0,因此

E1={[x0]:x∈R}E_1= \left\{ \begin{bmatrix} x\\ 0 \end{bmatrix} :x\in\mathbb{R} \right\}E1​={[x0​]:x∈R}

这个特征空间只有一维,几何重数为 111。二维空间需要两条线性无关的特征向量才能搭成一组基,可剪切矩阵只给出横轴这一条方向,所以不存在可逆的特征向量矩阵 PPP,也就不能对角化。

剪切留下的“额外动作”还能从高次幂里看出来。把

S=I+N,N=[0100]S=I+N,\qquad N= \begin{bmatrix} 0 & 1\\ 0 & 0 \end{bmatrix}S=I+N,N=[00​10​]

注意到 N2=0N^2=0N2=0。于是二项式展开里二次及更高次的项全消失:

Sk=(I+N)k=I+kNS^k=(I+N)^k=I+kNSk=(I+N)k=I+kN

所以

Sk=[1k01]S^k= \begin{bmatrix} 1 & k\\ 0 & 1 \end{bmatrix}Sk=[10​k1​]

若只看特征值 111,你可能会误以为反复作用什么都不变;实际上剪切量会随 kkk 线性累积。缺少的那条特征方向,正是对角化无法记录的部分。

特征方程能给出全部特征值,却不保证给出足够多的特征向量。遇到重复根,必须继续算特征空间;只看根的个数就宣布“可以对角化”,是这里最常见的错误。


马尔可夫链里的长期比例

特征值 111 在长期比例问题里格外常见。我们看一个数学条件完整的两状态模型。

设每一步都有一部分人留在状态甲或乙,也有一部分人在两个状态间转移。用列向量

qk=[第 k 步处于甲的比例第 k 步处于乙的比例]q_k= \begin{bmatrix} \text{第 }k\text{ 步处于甲的比例}\\ \text{第 }k\text{ 步处于乙的比例} \end{bmatrix}qk​=[第 k 步处于甲的比例第 k 步处于乙的比例​]

记录分布,并规定

qk+1=Pqkq_{k+1}=Pq_kqk+1​=Pqk​

其中

P=[0.80.30.20.7]P= \begin{bmatrix} 0.8 & 0.3\\ 0.2 & 0.7 \end{bmatrix}P=[0.80.2​0.30.7​]

这里使用列向量约定,所以第 jjj 列描述“当前在状态 jjj 的人,下一步流向哪里”。每列元素都非负,而且每列之和为 111,总比例就会一直保持为 111。

先找不动的分布

若长期分布为 q∗q_*q∗​,再走一步后它应该保持不变:

Pq∗=q∗Pq_*=q_*Pq∗​=q∗​

所以 q∗q_*q∗​ 是特征值 111 对应的特征向量。先求特征方程:

det⁡(P−λI)=(0.8−λ)(0.7−λ)−0.06\det(P-\lambda I) =(0.8-\lambda)(0.7-\lambda)-0.06det(P−λI)=(0.8−λ)(0.7−λ)−0.06 =λ2−1.5λ+0.5=(λ−1)(λ−0.5)=\lambda^2-1.5\lambda+0.5 =(\lambda-1)(\lambda-0.5)=λ2−1.5λ+0.5=(λ−1)(λ−0.5)

对 λ=1\lambda=1λ=1,解

(P−I)q=0(P-I)q=0(P−I)q=0

得到

−0.2x+0.3y=0-0.2x+0.3y=0−0.2x+0.3y=0

因此可以取特征向量

[32]\begin{bmatrix} 3\\ 2 \end{bmatrix}[32​]

但概率分布还要求分量和为 111,所以要归一化:

q∗=[3525]q_*= \begin{bmatrix} \frac35\\ \frac25 \end{bmatrix}q∗​=[53​52​​]

长期比例是甲占 60%60\%60%、乙占 40%40\%40%。

为什么真的会靠近它

只找到 Pq∗=q∗Pq_*=q_*Pq∗​=q∗​,还不能自动断言每个初始分布都收敛到 q∗q_*q∗​。这里之所以能收敛,要看另一个特征值。

对 λ=0.5\lambda=0.5λ=0.5,可取特征向量

w=[1−1]w= \begin{bmatrix} 1\\ -1 \end{bmatrix}w=[1−1​]

它表示一种“总量不变,只在两种状态间一增一减”的偏差。若初始时所有人都在甲,即

q0=[10]q_0= \begin{bmatrix} 1\\ 0 \end{bmatrix}q0​=[10​]

那么

q0=q∗+25wq_0=q_*+\frac25wq0​=q∗​+52​w

反复作用后,稳态分量乘 1k1^k1k,偏差分量乘 0.5k0.5^k0.5k:

qk=q∗+25(12)kwq_k =q_*+\frac25\left(\frac12\right)^kwqk​=q∗​+52​(21​)kw

也就是

qk=[3525]+25(12)k[1−1]q_k = \begin{bmatrix} \frac35\\ \frac25 \end{bmatrix} + \frac25\left(\frac12\right)^k \begin{bmatrix} 1\\ -1 \end{bmatrix}qk​=[53​52​​]+52​(21​)k[1−1​]

随着 kkk 增大,第二项趋近零,于是 qkq_kqk​ 趋近 q∗q_*q∗​。这次我们不是凭图形猜“会稳定”,而是明确看见了偏差按 (12)k\left(\frac12\right)^k(21​)k 衰减。

并非每个马尔可夫链都从任意初始分布收敛到同一个稳态。若链会周期性来回跳,或者状态被分成互不沟通的几组,分布可能振荡,也可能保留对初始状态的依赖。稳态方程 Pq=qPq=qPq=q 负责找候选长期分布;是否从给定初始分布收敛,还要检查其余特征值和链的结构。


一套不容易走错的计算顺序

遇到“求特征值、特征向量并判断能否对角化”的题,可以按下面的顺序走。

  1. 确认矩阵是方阵,然后写 A−λIA-\lambda IA−λI。只在主对角线上减 λ\lambdaλ,别把矩阵每个元素都减一遍。
  2. 计算 det⁡(A−λI)\det(A-\lambda I)det(A−λI) 并令它等于零。三角矩阵优先利用对角线乘积。
  3. 解特征方程,记录每个根的代数重数。
  4. 对每个特征值分别解 (A−λI)v=0(A-\lambda I)v=0(A−λI)v=0,写出完整特征空间,而不只是随手挑一个向量。
  5. 用 Av=λvAv=\lambda vAv=λv 直接代回验算。
  6. 统计所有特征空间一共能提供多少个线性无关向量。达到 nnn 个,才能对角化。
  7. 组成 PPP 与 DDD 时,让 PPP 的第 iii 列和 DDD 的第 iii 个对角元严格对应。
  8. 优先检查 AP=PDAP=PDAP=PD。这个等式比一上来计算 PDP−1PDP^{-1}PDP−1 更省力,也更容易定位错误。

几个常见误区

“特征向量只有一个”通常不是准确说法。若 vvv 是特征向量,它的任意非零倍数也是;真正该说的是“特征空间是一维”或“只有一条独立特征方向”。

不同特征值对应的特征向量不能随便相加后仍称为特征向量。若

Av1=λ1v1,Av2=λ2v2Av_1=\lambda_1v_1,\qquad Av_2=\lambda_2v_2Av1​=λ1​v1​,Av2​=λ2​v2​

且 λ1≠λ2\lambda_1\ne\lambda_2λ1​=λ2​,通常有

A(v1+v2)=λ1v1+λ2v2A(v_1+v_2)=\lambda_1v_1+\lambda_2v_2A(v1​+v2​)=λ1​v1​+λ2​v2​

它无法提取成同一个倍率乘 (v1+v2)(v_1+v_2)(v1​+v2​)。

矩阵相加或相乘时,也不能把特征值机械地相加或相乘。只有当相关矩阵共享同一组特征向量等额外条件成立时,这种计算才可能直接进行。

最后,λ=0\lambda=0λ=0 完全可以是特征值。它表示 AAA 把某个非零向量送到零,也就是零空间里有非零向量;这恰好等价于 AAA 不可逆。它把本章和上一章的行列式、可逆性重新接了起来。


练习

练习一:先用定义判断

设

A=[2103],u=[10],w=[11]A= \begin{bmatrix} 2 & 1\\ 0 & 3 \end{bmatrix},\qquad u= \begin{bmatrix} 1\\ 0 \end{bmatrix},\qquad w= \begin{bmatrix} 1\\ 1 \end{bmatrix}A=[20​13​],u=[10​],w=[11​]

判断 u,wu,wu,w 是否为 AAA 的特征向量。若是,求对应特征值。

直接计算:

Au=[20]=2uAu= \begin{bmatrix} 2\\ 0 \end{bmatrix} =2uAu=[20​]=2u

所以 uuu 是特征向量,对应特征值为 222。

再算

Aw=[33]=3wAw= \begin{bmatrix} 3\\ 3 \end{bmatrix} =3wAw=[33​]=3w

所以 www 也是特征向量,对应特征值为 333。

练习二:特征值、特征空间与验算

求

B=[1221]B= \begin{bmatrix} 1 & 2\\ 2 & 1 \end{bmatrix}B=[12​21​]

的特征值及对应特征空间,并用迹和行列式验算。

特征方程为

det⁡(B−λI)=det⁡[1−λ221−λ]\det(B-\lambda I) = \det \begin{bmatrix} 1-\lambda & 2\\ 2 & 1-\lambda \end{bmatrix}det(B−λI)=det[1−λ2​21−λ​]=(1−λ)2−4=(λ−3)(λ+1)=0=(1-\lambda)^2-4 =(\lambda-3)(\lambda+1)=0=(1−λ)2−4=(λ−3)(λ+1)=0

所以特征值为 333 和 −1-1−1。

当 λ=3\lambda=3λ=3 时,方程给出 x=yx=yx=y,因此

E3=span⁡{[11]}E_3=\operatorname{span}\left\{ \begin{bmatrix} 1\\ 1 \end{bmatrix} \right\}E3​=span{[11​]}

当 λ=−1\lambda=-1λ=−1 时,方程给出 x=−yx=-yx=−y,因此

E−1=span⁡{[1−1]}E_{-1}=\operatorname{span}\left\{ \begin{bmatrix} 1\\ -1 \end{bmatrix} \right\}E−1​=span{[1−1​]}

两个特征值之和是 222,等于 tr⁡(B)\operatorname{tr}(B)tr(B);乘积是 −3-3−3,等于 det⁡(B)\det(B)det(B)。

练习三:三角矩阵

求矩阵

C=[41004000−2]C= \begin{bmatrix} 4 & 1 & 0\\ 0 & 4 & 0\\ 0 & 0 & -2 \end{bmatrix}C=​400​140​00−2​​

的特征值、各自的代数重数与几何重数,并判断它能否对角化。

CCC 是上三角矩阵,所以特征多项式为

(4−λ)2(−2−λ)(4-\lambda)^2(-2-\lambda)(4−λ)2(−2−λ)

λ=4\lambda=4λ=4 的代数重数为 222,λ=−2\lambda=-2λ=−2 的代数重数为 111。

对 λ=4\lambda=4λ=4,

C−4I=[01000000−6]C-4I= \begin{bmatrix} 0 & 1 & 0\\ 0 & 0 & 0\\ 0 & 0 & -6 \end{bmatrix}C−4I=​000​100​00−6​​

得到 y=0,z=0y=0,z=0y=0,z=0,所以

E4=span⁡{[100]}E_4=\operatorname{span}\left\{ \begin{bmatrix} 1\\ 0\\ 0 \end{bmatrix} \right\}E4​=span⎩⎨⎧​​100​​⎭⎬⎫​

λ=4\lambda=4λ=4 的几何重数只有 111。

对 λ=−2\lambda=-2λ=−2,可得

E−2=span⁡{[001]}E_{-2}=\operatorname{span}\left\{ \begin{bmatrix} 0\\ 0\\ 1 \end{bmatrix} \right\}E−2​=span⎩⎨⎧​​001​​⎭⎬⎫​

它的几何重数为 111。两个特征空间合起来只能提供 222 个线性无关向量,少于空间维数 333,所以 CCC 不能对角化。

练习四:完成一次对角化

对矩阵

D=[3201]D= \begin{bmatrix} 3 & 2\\ 0 & 1 \end{bmatrix}D=[30​21​]

求一个对角化 D=PΛP−1D=P\Lambda P^{-1}D=PΛP−1,并写出 DkD^kDk。

因为 DDD 是上三角矩阵,特征值为 333 和 111。

对 λ=3\lambda=3λ=3,可取

v1=[10]v_1= \begin{bmatrix} 1\\ 0 \end{bmatrix}v1​=[10​]

对 λ=1\lambda=1λ=1,解得 x=−yx=-yx=−y,可取

v2=[1−1]v_2= \begin{bmatrix} 1\\ -1 \end{bmatrix}v2​=[1−1​]

因此可以令

P=[110−1],Λ=[3001]P= \begin{bmatrix} 1 & 1\\ 0 & -1 \end{bmatrix},\qquad \Lambda= \begin{bmatrix} 3 & 0\\ 0 & 1 \end{bmatrix}P=[10​1−1​],Λ=[30​01​]

这里 P−1=PP^{-1}=PP−1=P,所以

Dk=PΛkP−1D^k=P\Lambda^kP^{-1}Dk=PΛkP−1=[110−1][3k001][110−1]= \begin{bmatrix} 1 & 1\\ 0 & -1 \end{bmatrix} \begin{bmatrix} 3^k & 0\\ 0 & 1 \end{bmatrix} \begin{bmatrix} 1 & 1\\ 0 & -1 \end{bmatrix}=[10​1−1​][3k0​01​][10​1−1​]

乘开得到

Dk=[3k3k−101]D^k= \begin{bmatrix} 3^k & 3^k-1\\ 0 & 1 \end{bmatrix}Dk=[3k0​3k−11​]

把 k=1k=1k=1 代入,会还原原矩阵。

练习五:剪切的高次幂

设

S=[1201]S= \begin{bmatrix} 1 & 2\\ 0 & 1 \end{bmatrix}S=[10​21​]

判断它能否对角化,并求 SkS^kSk。

特征多项式是 (1−λ)2(1-\lambda)^2(1−λ)2。对 λ=1\lambda=1λ=1,

S−I=[0200]S-I= \begin{bmatrix} 0 & 2\\ 0 & 0 \end{bmatrix}S−I=[00​20​]

得到 y=0y=0y=0,所以特征空间只有一维。二维矩阵缺少第二条独立特征方向,因此不能对角化。

令

N=[0200]N= \begin{bmatrix} 0 & 2\\ 0 & 0 \end{bmatrix}N=[00​20​]

则 S=I+NS=I+NS=I+N 且 N2=0N^2=0N2=0。因此

Sk=I+kNS^k=I+kNSk=I+kN=[12k01]= \begin{bmatrix} 1 & 2k\\ 0 & 1 \end{bmatrix}=[10​2k1​]

练习六:两状态稳态

设

P=[0.90.40.10.6]P= \begin{bmatrix} 0.9 & 0.4\\ 0.1 & 0.6 \end{bmatrix}P=[0.90.1​0.40.6​]

采用列向量约定 qk+1=Pqkq_{k+1}=Pq_kqk+1​=Pqk​。求归一化稳态向量,并说明为什么另一个特征值决定收敛速度。

矩阵每列之和为 111。特征方程为

det⁡(P−λI)=(0.9−λ)(0.6−λ)−0.04\det(P-\lambda I) =(0.9-\lambda)(0.6-\lambda)-0.04det(P−λI)=(0.9−λ)(0.6−λ)−0.04=λ2−1.5λ+0.5=(λ−1)(λ−0.5)=\lambda^2-1.5\lambda+0.5 =(\lambda-1)(\lambda-0.5)=λ2−1.5λ+0.5=(λ−1)(λ−0.5)

对 λ=1\lambda=1λ=1,方程为

−0.1x+0.4y=0-0.1x+0.4y=0−0.1x+0.4y=0

所以 x=4yx=4yx=4y。归一化后,稳态向量为

q∗=[4515]q_*= \begin{bmatrix} \frac45\\ \frac15 \end{bmatrix}q∗​=[54​51​​]

另一个特征值为 0.50.50.5,对应总和为零的偏差方向。初始分布与稳态之间的偏差会在每一步乘以 0.50.50.5,所以经过 kkk 步后按 0.5k0.5^k0.5k 衰减。这就是收敛速度来自第二个特征值的原因。


从特征基走向正交基

到这里,矩阵最难看的一层已经被拆开了:特征向量找出不混合的方向,特征值记录各方向的倍率;若方向足够多,我们就能换到特征向量坐标,并用对角矩阵处理高次幂和长期演化。

不过,一般的特征向量基未必互相垂直,P−1P^{-1}P−1 也未必容易计算。若能找到一组彼此正交、长度又是 111 的方向,换坐标会简单得多,因为逆矩阵可以直接由转置得到。

下一章就从这个问题接着往前走:怎样用点积判断正交,怎样把向量投影到一个子空间,以及当 Ax=bAx=bAx=b 没有精确解时,怎样用投影找到最接近的答案。

上一章行列式:面积、体积与可逆性下一章正交、投影与最小二乘