Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

第 7 讲(09-28):幂法——规范化、特征值的算法与反幂法;非线性方程迭代法开篇

课堂实录精编。本讲无课件、全程板书(课件流整段「无视频信号」),承接 第 6 讲末尾留下的问题——「求按模最大的特征值及其特征向量」—— 主线四段:幂法的收敛性——实矩阵按模严格最大的特征值必为实数(共轭特征值 反证),Aku0A^ku_0 中非主特征分量相对衰减,但绝对量仍大且 λ1k\lambda_1^k 会溢出, 于是每步先单位化再乘 AA,回推得 yk→α1x1/∥α1x1∥y_k\to\alpha_1x_1/\lVert\alpha_1x_1\rVert; 特征值的算法——特征向量到手后再作用一次 AA,取 2-范数时 ykTAyk→λ1y_k^{\mathrm T}Ay_k\to\lambda_1(内积 = 欧氏长度平方),范数取 ∞\infty-范数 则另作讨论;反幂法与位移——把「模最小」用 A−1A^{-1} 翻成「模最大」(实际计算 每步解 Auk+1=ykAu_{k+1}=y_k),再用位移 A−pIA-pI 把「最接近已知近似 pp」的目标特征值 变成模最小的,三者统一为同一套算法;非线性方程开篇——f(x)=0f(x)=0 等价变形为 x=φ(x)x=\varphi(x) 的迭代,先复习二分法(介值定理 + 区间折半),再给出不动点迭代的 收敛定理,并当堂证明不动点的存在性(唯一性与压缩条件留到下一讲)。 对应原书第 3 章(特征值与特征向量计算)与第 4 章(非线性方程)的引入部分。 原始转写存档于仓库根目录 transcripts/(源文件,不随书构建发布); 本页公式逐条对照教师摄像头板书关键帧核对(板书全程为绿板粉笔手写,见下文各节 「板书」标注)。

10 分钟复习版 · 第 7 讲

一句话:先单位化、再乘 AA 的迭代把初始向量的主特征分量放大出来(幂法);AA 换成 A−1A^{-1} 即求模最小(反幂法),再位移 A−pIA-pI 即求最接近已知值的那一个;下半场转入非线性方程,f(x)=0f(x)=0 改写为 x=φ(x)x=\varphi(x) 迭代。

必记结论

内容 要点
问题设定 AA 实矩阵,∣λ1∣>∣λ2∣≥⋯≥∣λn∣|\lambda_1|\gt|\lambda_2|\ge\cdots\ge|\lambda_n|,x1,…,xnx_1,\dots,x_n 互异(线性无关)
基本展开 u0=∑iαixi⇒Aku0=λ1k[α1x1+∑i≥2αi(λi/λ1)kxi]u_0=\sum_i\alpha_ix_i\Rightarrow A^ku_0=\lambda_1^k\bigl[\alpha_1x_1+\sum_{i\ge2}\alpha_i(\lambda_i/\lambda_1)^kx_i\bigr]
实数性 实矩阵的按模严格最大特征值必为实数(否则共轭 λˉ1\bar\lambda_1 也是特征值、模相同且不同,矛盾)
两个障碍 ① 其他分量只是相对变小,绝对量仍大;② λ1k\lambda_1^k 增长过快(溢出/下溢)
幂法 yk=uk∥uk∥y_k=\dfrac{u_k}{\lVert u_k\rVert},uk+1=Ayku_{k+1}=Ay_k——先单位化,再乘 AA;范数取法任意
收敛 yk→α1x1∥α1x1∥y_k\to\dfrac{\alpha_1x_1}{\lVert\alpha_1x_1\rVert}(λ1>0\lambda_1\gt0);λ1<0\lambda_1\lt0 时差一个 (−1)k(-1)^k,符号交替
特征值 取 2-范数:ykTAyk→λ1y_k^{\mathrm T}Ay_k\to\lambda_1(因 ∥yk∥2=1\lVert y_k\rVert_2=1,且 x1Tx1=∥x1∥22x_1^{\mathrm T}x_1=\lVert x_1\rVert_2^2)
反幂法 λ1\lambda_1 模最小 ⇒\Rightarrow 对 A−1A^{-1} 用幂法得 1/λ11/\lambda_1;实际每步解 Auk+1=ykAu_{k+1}=y_k,不构造 A−1A^{-1}
位移反幂法 已知 λk\lambda_k 的近似 pp(半解析/渐近展开)⇒\Rightarrow 对 A−pIA-pI 用反幂法得最小特征值 λk−p\lambda_k-p,再加回 pp

三个问题一个算法:求模最大 → 幂法;求模最小 → A↦A−1A\mapsto A^{-1};求最接近 pp → A↦A−pIA\mapsto A-pI 后求模最小。后两者都化归到第一种。

非线性方程开篇:f(x)=0  ⟺  x=φ(x)f(x)=0\iff x=\varphi(x),迭代 xk+1=φ(xk)x_{k+1}=\varphi(x_k),极限即不动点(变形方式不唯一,如 φ=x+f\varphi=x+f)。二分法:ff 连续且 f(a)f(b)<0f(a)f(b)\lt0 ⇒\Rightarrow 由介值定理有根,反复折半,∣[an,bn]∣=(b−a)/2n|[a_n,b_n]|=(b-a)/2^n。收敛定理:φ\varphi 在 [a,b][a,b] 连续可导 +(i)φ\varphi 把 [a,b][a,b] 映到自身 +(ii)∣φ′∣≤L<1|\varphi&#x27;|\le L\lt1 ⇒\Rightarrow 任取 x0∈[a,b]x_0\in[a,b] 迭代收敛到唯一不动点。

老师强调的考点:顺序不能反——「先单位化,单位化之后的那个东西我再给它乘 AA」;计算特征向量时范数随便取,计算特征值时必须取 2-范数;「严格按模最大」这个前提缺不得,全部推导都建在它上面;反幂法记住不构造 A−1A^{-1}、每步解一个方程组;不动点定理的两个条件各管什么(第一条管迭代值不越界,第二条管收敛)。

对应正文:第 3 章 + 第 4 章开篇;谱半径与谱理论见补充篇 2.5

课堂时间线

时间内容
01:53–08:16问题设定:AA 实、∣λ1∣|\lambda_1| 严格最大、特征向量互异;Aku0A^ku_0 展开与主分量占优
08:16–14:00λ1\lambda_1 必为实数:特征多项式系数为实 + 共轭特征值反证
14:00–19:30两个障碍(绝对量仍大、λ1k\lambda_1^k 溢出)与「单位化」的动机
19:30–29:00规范化幂法的回推推导:yky_k 溯源到 Aku0A^ku_0,取极限分 λ1\lambda_1 正负两种情形
29:00–34:00特征值怎么算:有了特征向量,再作用一次 AA
34:00–44:00取 2-范数:ykTAyk→λ1y_k^{\mathrm T}Ay_k\to\lambda_1;内积 = 欧氏长度平方(三维例子)
44:00–46:50计算方案总结(板书框出算法);∞\infty-范数情形留给同学
46:51–51:45课间休息(转写为环境噪声)
51:45–54:46教材与方法论闲谈:本国教材「跳细节」vs 国外教材「全展开」
54:46–58:00定理陈述:算法、两种极限情形与特征值公式
58:00–1:07:00情况二:λ1\lambda_1 模最小 → 反幂法;实际每步解 Auk+1=ykAu_{k+1}=y_k
1:07:00–1:15:30情况三:量子力学能级 → 已知近似 pp → 位移 A−pIA-pI → 反幂法
1:15:30–1:16:40线性方程组部分收束,转入非线性方程
1:16:40–1:18:10f(x)=0  ⟺  x=φ(x)f(x)=0\iff x=\varphi(x);迭代格式与不动点方程
1:18:10–1:26:30二分法:介值定理、折半定位、区间长度 (b−a)/2n(b-a)/2^n
1:26:30–1:29:00回到迭代:与线性方程组迭代法同构的框架
1:29:00–1:33:00收敛定理的两个条件(自映射 + 压缩)及其含义
1:33:00–1:37:00不动点存在性证明:F=x−φ(x)F=x-\varphi(x) 两端异号 + 介值定理
1:37:00–1:39:03下课

一、问题设定与基本思想(01:53–08:16)

第 6 讲末尾从薛定谔方程的能级计算引出「求按模最大的特征值」。本讲 开场先把问题写清楚(板书①):

A 为实矩阵,∣λ1∣>∣λ2∣≥∣λ3∣≥⋯≥∣λn∣,x1,x2,…,xn 互异,A\ \text{为实矩阵},\qquad |\lambda_1|\gt|\lambda_2|\ge|\lambda_3|\ge\cdots\ge|\lambda_n|, \qquad x_1,x_2,\dots,x_n\ \text{互异},

「我们要计算的情况是:AA 是实矩阵,并且有一个(特征)根,它的绝对值要严格大于 其他所有特征根。」特征向量互异是假设,用来保证 x1,…,xnx_1,\dots,x_n 线性无关、能张成整个 空间——「因为 AA 的特征(向量)是能张成整个空间的,所以我随便给一个初始向量, 它一定可以由这些特征向量线性表示」。任取非零初始向量

u0=α1x1+α2x2+⋯+αnxn.u_0=\alpha_1x_1+\alpha_2x_2+\cdots+\alpha_nx_n .

由 Axi=λixiAx_i=\lambda_ix_i 得 Akxi=λikxiA^kx_i=\lambda_i^kx_i(板书把三条并列写出: Axi=λixiAx_i=\lambda_ix_i、Akxi=λikxiA^kx_i=\lambda_i^kx_i、Anxi=λinxiA^nx_i=\lambda_i^nx_i),于是(板书逐行写出):

Aku0=α1Akx1+α2Akx2+⋯+αnAkxn=α1λ1kx1+α2λ2kx2+⋯+αnλnkxn,A^ku_0=\alpha_1A^kx_1+\alpha_2A^kx_2+\cdots+\alpha_nA^kx_n =\alpha_1\lambda_1^kx_1+\alpha_2\lambda_2^kx_2+\cdots+\alpha_n\lambda_n^kx_n,

提出公因子 λ1k\lambda_1^k:

 Aku0=λ1k[α1x1+α2(λ2λ1)kx2+⋯+αn(λnλ1)kxn] \boxed{\ A^ku_0=\lambda_1^k\Bigl[\alpha_1x_1+\alpha_2\Bigl(\frac{\lambda_2}{\lambda_1}\Bigr)^kx_2 +\cdots+\alpha_n\Bigl(\frac{\lambda_n}{\lambda_1}\Bigr)^kx_n\Bigr]\ }

因为 ∣λ1∣|\lambda_1| 严格最大,每个 ∣λi/λ1∣<1 (i≥2)|\lambda_i/\lambda_1|\lt1\ (i\ge2),括号里除第一项外 全部随 kk 衰减——主特征分量逐渐占据主导。「这就是我们要的效果。」

但有两个问题(老师特意在此停顿,第 14 分钟起展开):

  1. 相对衰减 ≠ 绝对衰减。其他分量只是占比在缩小,其绝对数值仍然不小, 「并没有起到把其他那些组分消除掉的作用」;
  2. 溢出。整个括号还被 λ1k\lambda_1^k 乘着,「如果这个 λ1\lambda_1 的绝对值很大, 那前面这一整块就都变成一个很大的数」——计算过程中增长过快,机器装不下 (∣λ1∣<1|\lambda_1|\lt1 时反向下溢)。

「现在我们要设计一种算法……把其他这些组分真正滤掉,把前面的 α1\alpha_1 也算出来,并且不出现增长很快的情况。」

二、λ1\lambda_1 必为实数(08:16–14:00)

在设计算法之前,先补一个性质:实矩阵按模严格最大的特征值一定是实数。

设 f(λ)=det⁡(λI−A)f(\lambda)=\det(\lambda I-A) 为特征多项式。AA 是实矩阵 ⇒\Rightarrow 各系数为实:

f(λ)=anλn+an−1λn−1+⋯+a0,an,…,a0∈R.f(\lambda)=a_n\lambda^n+a_{n-1}\lambda^{n-1}+\cdots+a_0,\qquad a_n,\dots,a_0\in\mathbb R .

λ1\lambda_1 是它的根:anλ1n+an−1λ1n−1+⋯+a0=0a_n\lambda_1^n+a_{n-1}\lambda_1^{n-1}+\cdots+a_0=0。

反设 λ1\lambda_1 不是实数,即 Im⁡λ1≠0\operatorname{Im}\lambda_1\neq0,则其共轭 λ1‾≠λ1\overline{\lambda_1}\neq\lambda_1(共轭把虚部符号反过来,必与原数不同)。对上式两边取 共轭,用两条性质——乘积的共轭 = 共轭的乘积、实数的共轭是自身(ai∈Ra_i\in\mathbb R):

anλ1‾ n+an−1λ1‾ n−1+⋯+a0=0.a_n\overline{\lambda_1}^{,n}+a_{n-1}\overline{\lambda_1}^{,n-1}+\cdots+a_0=0 .

这说明 λ1‾\overline{\lambda_1} 也是 AA 的特征值。而

∣λ1‾∣=∣λ1∣,λ1‾≠λ1,|\overline{\lambda_1}|=|\lambda_1|,\qquad \overline{\lambda_1}\neq\lambda_1,

于是出现两个模相等的特征值,且它们的模都等于最大值——与「λ1\lambda_1 的模严格大于 其他所有特征值的模」矛盾。故 λ1∈R\lambda_1\in\mathbb R。■\blacksquare

课上的一处停顿

共轭的乘积性质(z1z2‾=z1‾ z2‾\overline{z_1z_2}=\overline{z_1}\,\overline{z_2})老师原本以为人人都知道: 「我跟上个班讲,他们好像不知道这个性质啊——我记得这个性质应该是高中就学的。」

这条结论的实际意义:λ1\lambda_1 是实数,故 λ1k\lambda_1^k 只会单调增长或正负交替, 不会出现复数旋转;后面的极限分析只需分 λ1>0\lambda_1\gt0 与 λ1<0\lambda_1\lt0 两种情形。

三、两个障碍与「单位化」的动机(14:00–19:30)

回到第 1 节的两个问题。最直观的办法是每算一步就把迭代向量拉回单位长度:

「我不想让迭代向量在迭代过程中长得太快,最直观的办法就是——我每做一次(乘 AA), 就给它单位化一次。」

单位化即除以自身的范数:y=u∥u∥y=\dfrac{u}{\lVert u\rVert}。范数取哪一种都行:

∥u∥u∥∥=1∥u∥ ∥u∥=1(范数齐次性:∥cu∥=∣c∣ ∥u∥, c 为实数).\Bigl\lVert\frac{u}{\lVert u\rVert}\Bigr\rVert =\frac{1}{\lVert u\rVert},\lVert u\rVert=1 \qquad(\text{范数齐次性:}\lVert cu\rVert=|c|,\lVert u\rVert,\ c\ \text{为实数}).

老师把这一步单独强调了一遍:分母 ∥u∥\lVert u\rVert 是一个实数,可以按齐次性提到范数号外, 里外两个范数是同一种范数,相消即为 11。「我这么做,就是为了让它的长度是 1。 因为所有向量范数都是等价的,你这个长度是 1,其他范数下的长度也就是有界的、跑不出去。」

范数只在这里「随便取」

计算特征向量时,范数取哪种都行(第 4 节的极限与范数无关);但计算特征值时 必须取 2-范数——见第五节。老师把黑板分成两区来写:最上面那一片是「只求特征向量」, 下面那一片才是「求特征值」。

四、规范化幂法:先单位化,再乘 AA(19:30–29:00)

算法(板书框出):

{u0 任取(非零)yk=uk∥uk∥uk+1=A ykk=0,1,2,…\begin{cases} u_0\ \text{任取(非零)}\[2pt] y_k=\dfrac{u_k}{\lVert u_k\rVert}\[4pt] u_{k+1}=A,y_k \end{cases}\qquad k=0,1,2,\dots

板书写作 uk=Ayk−1u_k=Ay_{k-1}、yk=uk/∥uk∥y_k=u_k/\lVert u_k\rVert,并顺手列出头两步 u1=Ay0, y1=u1/∥u1∥u_1=Ay_0,\ y_1=u_1/\lVert u_1\rVert、u2=Ay1, y2=u2/∥u2∥u_2=Ay_1,\ y_2=u_2/\lVert u_2\rVert 作示范—— 与上式是同一个递推,只是下标起点不同。

顺序是关键:「你要记住是先单位化,单位化之后的那个东西我再给它乘 AA, 而不是直接就往上乘 AA。」直接累乘 AA 就是第 1 节那个会溢出的版本;本算法每乘一次 AA 就立刻把结果拉回单位长度,于是「它就不会长得太快」。

收敛性推导(板书:一步步倒推)。要看清 yky_k 的极限,先问:yky_k 是从哪来的?

  • yky_k 是 uku_k 的单位化:yk=uk∥uk∥y_k=\dfrac{u_k}{\lVert u_k\rVert};
  • 由算法,uk=A yk−1u_k=A,y_{k-1},故 yk=Ayk−1∥Ayk−1∥y_k=\dfrac{Ay_{k-1}}{\lVert Ay_{k-1}\rVert};
  • 而 yk−1y_{k-1} 又是 uk−1u_{k-1} 的单位化,uk−1=Ayk−2u_{k-1}=Ay_{k-2}……

一路回推到 u0u_0,中间那些 ∥⋅∥\lVert\cdot\rVert 都是常数,可按齐次性提到范数号外并 逐次相消,最终只剩

yk=Aku0∥Aku0∥.y_k=\frac{A^ku_0}{\lVert A^ku_0\rVert}.

板书把这一串等式完整写成一列:

yk=uk∥uk∥=Aku0∥Aku0∥=λ1k[α1x1+∑i≥2αi(λi/λ1)kxi]∣λ1∣k∥α1x1+∑i≥2αi(λi/λ1)kxi∥=(λ1∣λ1∣)kα1x1+∑i≥2αi(λi/λ1)kxi∥α1x1+∑i≥2αi(λi/λ1)kxi∥.y_k=\frac{u_k}{\lVert u_k\rVert}=\frac{A^ku_0}{\lVert A^ku_0\rVert} =\frac{\lambda_1^k\bigl[\alpha_1x_1+\sum_{i\ge2}\alpha_i(\lambda_i/\lambda_1)^kx_i\bigr]} {|\lambda_1|^k\bigl\lVert\alpha_1x_1+\sum_{i\ge2}\alpha_i(\lambda_i/\lambda_1)^kx_i\bigr\rVert} =\Bigl(\frac{\lambda_1}{|\lambda_1|}\Bigr)^{k} \frac{\alpha_1x_1+\sum_{i\ge2}\alpha_i(\lambda_i/\lambda_1)^kx_i} {\bigl\lVert\alpha_1x_1+\sum_{i\ge2}\alpha_i(\lambda_i/\lambda_1)^kx_i\bigr\rVert}.

(第二、三步把标量 λ1k\lambda_1^k 按范数齐次性提到分母,得 ∣λ1∣k|\lambda_1|^k。) 令 k→∞k\to\infty,括号中除第一项外全部趋零,于是

 yk ⟶ (λ1∣λ1∣)kα1x1∥α1x1∥ \boxed{\ y_k\ \longrightarrow\ \Bigl(\frac{\lambda_1}{|\lambda_1|}\Bigr)^{k} \frac{\alpha_1x_1}{\lVert\alpha_1x_1\rVert}\ }

分两种情形:

情形(λ1/∣λ1∣)k(\lambda_1/|\lambda_1|)^k极限
λ1>0\lambda_1\gt011yk→α1x1∥α1x1∥y_k\to\dfrac{\alpha_1x_1}{\lVert\alpha_1x_1\rVert},即 x1x_1 的单位向量
λ1<0\lambda_1\lt0(−1)k(-1)^kyk→(−1)kα1x1∥α1x1∥y_k\to(-1)^k\dfrac{\alpha_1x_1}{\lVert\alpha_1x_1\rVert},符号交替

λ1<0\lambda_1\lt0 时迭代值不断变号,「但说白了,它还是你的特征向量,只不过在迭代过程中 符号一直在变来变去」——不影响迭代值仍是 x1x_1 的单位向量。

归一化的副产品

每步单位化还有一层「防溢出」之外的用处:所有迭代值都被限制在单位球面上, 数值范围完全可控,这是幂法能在有限精度下长期迭代的前提。

五、特征值的计算:为什么必须取 2-范数(29:00–44:00)

特征向量已经到手,特征值怎么求? 「你已经有了特征向量,那在这个特征向量上再 作用一个 AA,特征值不就出来了」:

Ayk ⟶ λ1⋅α1x1∥α1x1∥(λ1>0).Ay_k\ \longrightarrow\ \lambda_1\cdot\frac{\alpha_1x_1}{\lVert\alpha_1x_1\rVert}\qquad(\lambda_1\gt0).

但直接取 AykAy_k 与 yky_k 的对应分量之比会被 (−1)k(-1)^k 干扰,需要一个对称的组合。 取 2-范数,并注意 2-范数单位化保证 ∥yk∥2=1\lVert y_k\rVert_2=1,于是 ykTyk=∥yk∥22=1y_k^{\mathrm T}y_k=\lVert y_k\rVert_2^2=1,计算

ykT(Ayk)ykTyk=ykTAyk.\frac{y_k^{\mathrm T}(Ay_k)}{y_k^{\mathrm T}y_k}=y_k^{\mathrm T}Ay_k .

代入极限看它趋于什么(以 λ1>0\lambda_1\gt0 为例):

yk→α1x1∥α1x1∥2,Ayk→λ1α1x1∥α1x1∥2,y_k\to\frac{\alpha_1x_1}{\lVert\alpha_1x_1\rVert_2},\qquad Ay_k\to\frac{\lambda_1\alpha_1x_1}{\lVert\alpha_1x_1\rVert_2},

ykT(Ayk)ykTyk ⟶ α12λ1 x1Tx1∥α1x1∥22α12 x1Tx1∥α1x1∥22=λ1(分子分母都有 x1Tx1,相消).\frac{y_k^{\mathrm T}(Ay_k)}{y_k^{\mathrm T}y_k}\ \longrightarrow\ \frac{\dfrac{\alpha_1^2\lambda_1,x_1^{\mathrm T}x_1}{\lVert\alpha_1x_1\rVert_2^2}} {\dfrac{\alpha_1^2,x_1^{\mathrm T}x_1}{\lVert\alpha_1x_1\rVert_2^2}}=\lambda_1 \qquad\text{(分子分母都有 }x_1^{\mathrm T}x_1\text{,相消)}.

板书把两种情形并排写成一个大括号(左边先写 ∥⋅∥=∥⋅∥2\lVert\cdot\rVert=\lVert\cdot\rVert_2 作为前提):

ykTAyk → k→∞  {(λ1α1x1∥α1x1∥2)⋅(α1x1∥α1x1∥2)=λ1α12x1Tx1∥α1x1∥22=λ1α12∥x1∥22∥α1x1∥22=λ1,λ1>0(−1)kα1x1∥α1x1∥2⋅(−1)kλ1α1x1∥α1x1∥2=λ1α12x1Tx1∥α1x1∥22=λ1,λ1<0y_k^{\mathrm T}Ay_k\ \xrightarrow[\ k\to\infty\ ]{}\ \begin{cases} \Bigl(\dfrac{\lambda_1\alpha_1x_1}{\lVert\alpha_1x_1\rVert_2}\Bigr)\cdot \Bigl(\dfrac{\alpha_1x_1}{\lVert\alpha_1x_1\rVert_2}\Bigr) =\lambda_1\dfrac{\alpha_1^2x_1^{\mathrm T}x_1}{\lVert\alpha_1x_1\rVert_2^2} =\lambda_1\dfrac{\alpha_1^2\lVert x_1\rVert_2^2}{\lVert\alpha_1x_1\rVert_2^2}=\lambda_1, &amp;\lambda_1\gt0\[8pt] (-1)^k\dfrac{\alpha_1x_1}{\lVert\alpha_1x_1\rVert_2}\cdot(-1)^k \dfrac{\lambda_1\alpha_1x_1}{\lVert\alpha_1x_1\rVert_2} =\lambda_1\dfrac{\alpha_1^2x_1^{\mathrm T}x_1}{\lVert\alpha_1x_1\rVert_2^2}=\lambda_1, &amp;\lambda_1\lt0 \end{cases}

(第二支里两个 (−1)k(-1)^k 相乘即为 11,与第一支完全一样。)板书在这块区域的第三行 另写了「∥⋅∥=∥⋅∥∞\lVert\cdot\rVert=\lVert\cdot\rVert_\infty」,提示范数换成 ∞\infty-范数时 公式要另作调整——留给同学自己验算。

为什么 x1Tx1x_1^{\mathrm T}x_1 恰好是「长度的平方」:三维例子最直观——设 f1=(x,y,z)f_1=(x,y,z),则

f1⋅f1=x2+y2+z2,∥f1∥22=(x2+y2+z2)2=x2+y2+z2.f_1\cdot f_1=x^2+y^2+z^2,\qquad \lVert f_1\rVert_2^2=\Bigl(\sqrt{x^2+y^2+z^2}\Bigr)^2=x^2+y^2+z^2 .

两者是同一个数。一般地 x1Tx1=∥x1∥22x_1^{\mathrm T}x_1=\lVert x_1\rVert_2^2,于是上式分子分母完全相同。

λ1<0\lambda_1\lt0 时 yky_k 与 AykAy_k 各带一个 (−1)k(-1)^k,点乘时两次相消,结果同样是 λ1\lambda_1。于是

 lim⁡k→∞ykTAyk=λ1 (仅当范数取 2-范数).\boxed{\ \lim_{k\to\infty}y_k^{\mathrm T}Ay_k=\lambda_1\ }\qquad(\text{仅当范数取 2-范数}).

范数选择为什么在这里才起作用

计算特征向量时范数无所谓;一旦要算特征值,范数就进了公式。取 2-范数时 ykTyk=1y_k^{\mathrm T}y_k=1,比值化简得干净;若取 ∞\infty-范数,「你算出来的东西就 稍微有一点变化」——老师留给同学自己验算(板书:「取无穷范数这个情况大家可以 自己看一下」)。本教程在2.5 节用 Rayleigh 商的语言重述了 这一条:ykTAyky_k^{\mathrm T}Ay_k 正是单位向量处的 Rayleigh 商。

六、定理与计算方案(44:00–46:50;54:46–58:00)

计算方案(板书框出):

算法(幂法){u0 任取yk=uk/∥uk∥范数任取uk+1=Ayk\textbf{算法(幂法)}\qquad \begin{cases} u_0\ \text{任取}\ y_k=u_k/\lVert u_k\rVert &amp;\text{范数任取}\ u_{k+1}=Ay_k \end{cases}

定理(板书总结,原文照录):

定理A 是实矩阵,∣λ1∣>∣λ2∣≥⋯≥∣λn∣,(λi 实);\textbf{定理}\quad A\ \text{是实矩阵},\quad |\lambda_1|\gt|\lambda_2|\ge\cdots\ge|\lambda_n|,\quad(\lambda_i\ \text{实});

则任取非零 u0=∑iαixiu_0=\sum_i\alpha_ix_i(分解存在但不必知道),按上式迭代,有

(i)yk→α1x1∥α1x1∥ (λ1>0),yk→(−1)kα1x1∥α1x1∥ (λ1<0);(\mathrm i)\quad y_k\to\frac{\alpha_1x_1}{\lVert\alpha_1x_1\rVert}\ (\lambda_1\gt0),\qquad y_k\to(-1)^k\frac{\alpha_1x_1}{\lVert\alpha_1x_1\rVert}\ (\lambda_1\lt0);

(ii)取 2-范数时ykTAyk→λ1.(\mathrm{ii})\quad \text{取 2-范数时}\quad y_k^{\mathrm T}Ay_k\to\lambda_1 .

「虽然 u0u_0 是任取的、αi\alpha_i 是任意的,但是不影响我最后得到的结论。」

∞\infty-范数下的补充(老师说算法要「稍微换一下」):若改取 ∞\infty-范数, 特征向量的极限不变(单位化只是把长度拉回 1,与范数种类无关),但特征值的提取公式 需相应改动——「如果你不用这个二范数,就改用这个……最后出来的就是你要的那个绝对 值最大的特征值」,细节留给同学自行验算。 下面把另外两种目标——「模最小」与「最接近已知值」——也化归到幂法。

七、反幂法:把「模最小」翻成「模最大」(58:00–1:07:00)

情况二:AA 仍是实矩阵,但有一个特征值 λ1\lambda_1 的模严格最小: ∣λ1∣<∣λi∣ (∀i≥2)|\lambda_1|\lt|\lambda_i|\ (\forall i\ge2)。怎么算?

思路:仍想用已经设计好的幂法——「其实我们只需要把刚刚那个东西稍微变形一下」。

关键观察:∣λ1∣|\lambda_1| 最小 ⇒λ1≠0⇒A\Rightarrow\lambda_1\neq0\Rightarrow A 可逆,而 A−1A^{-1} 的特征值是

1λ1, 1λ2, …, 1λn(全部取倒数),\frac{1}{\lambda_1},\ \frac{1}{\lambda_2},\ \dots,\ \frac{1}{\lambda_n} \qquad(\text{全部取倒数}),

其中 ∣1λ1∣\Bigl|\dfrac{1}{\lambda_1}\Bigr| 最大(因为 ∣λ1∣|\lambda_1| 严格最小)。 板书按模从大到小排开:设 ∣λn∣≥∣λn−1∣≥⋯>∣λ1∣>0|\lambda_n|\ge|\lambda_{n-1}|\ge\cdots\gt|\lambda_1|\gt0,则

∣1λ1∣>∣1λ2∣≥∣1λ3∣≥⋯≥∣1λn∣.\Bigl|\frac{1}{\lambda_1}\Bigr|\gt\Bigl|\frac{1}{\lambda_2}\Bigr|\ge \Bigl|\frac{1}{\lambda_3}\Bigr|\ge\cdots\ge\Bigl|\frac{1}{\lambda_n}\Bigr| .

验证特征向量确实不变:由 Ax1=λ1x1Ax_1=\lambda_1x_1 两边乘 λ1−1A−1\lambda_1^{-1}A^{-1},得 λ1−1x1=A−1x1\lambda_1^{-1}x_1=A^{-1}x_1,即 x1x_1 是 A−1A^{-1} 关于 1/λ11/\lambda_1 的特征向量 (板书把这一行写成 Axi=λixi⇒λi−1xi=A−1xiAx_i=\lambda_ix_i\Rightarrow\lambda_i^{-1}x_i=A^{-1}x_i)。

于是「这不就变回咱们刚刚那个问题了」——对 A−1A^{-1} 直接用幂法:

yk=uk∥uk∥,uk=A−1yk−1(板书记法),y_k=\frac{u_k}{\lVert u_k\rVert},\qquad u_k=A^{-1}y_{k-1}\quad(\text{板书记法}),

得到的「模最大特征值」是 1/λ11/\lambda_1,特征向量仍是 x1x_1(板书把极限写成 yk→(1/λ1)x1∥x1∥y_k\to\dfrac{(1/\lambda_1)x_1}{\lVert x_1\rVert},并同样分 1/λ1>01/\lambda_1\gt0 与 1/λ1<01/\lambda_1\lt0 两支)。要的是 λ1\lambda_1,所以最后必须再取一次倒数逆回去:

 λ1=1 幂法算出的值  \boxed{\ \lambda_1=\frac{1}{\ \text{幂法算出的值}\ }\ }

实际计算里不构造 A−1A^{-1}

「我们并不知道 AA 逆,我们只知道 AA。」把 uk=A−1yk−1u_k=A^{-1}y_{k-1} 改写成解线性方程组

A uk+1=yk,A\,u_{k+1}=y_k,

每步解一次——「然后就采用我们以前讲的各种方法:不管是迭代法、LU 分解法还是高斯消去法」。 板书在算法大括号下面又单独框出了这个方程(框内即 Auk+1=ykAu_{k+1}=y_k),与算法框并列, 是这一节最要紧的一行。这正是第 3、4 讲那些直接法/迭代法的用武之地: 反幂法每迭代一步,就解一个以 AA 为系数矩阵的线性方程组。

八、位移反幂法:求最接近已知 pp 的特征值(1:07:00–1:15:30)

情况三(量子力学背景):AA 是对称正定(自伴算子离散化)的实矩阵,特征值就是 可观测的能级,按大小排开 λ1≤λ2≤⋯≤λn\lambda_1\le\lambda_2\le\cdots\le\lambda_n。想知道第 kk 个 能级 λk\lambda_k,但用解析/半解析方法(如渐近展开)只能得到近似值 pp,它满足

∣λk−p∣<∣λi−p∣(∀i≠k),|\lambda_k-p|\lt|\lambda_i-p|\qquad(\forall i\neq k),

即 pp 离 λk\lambda_k 最近。「我虽然没办法把 λk\lambda_k 真实地算出来,但是我可以 算出一个和它足够接近的特征根。」

做法:位移(平移)。板书把能级按大小排开、在目标那一个下面标上 pp:

λ1≤λ2≤λ3≤⋯≤λk↑ p≤⋯≤λn,∣λk−p∣<∣λi−p∣(∀i≠k),\lambda_1\le\lambda_2\le\lambda_3\le\cdots\le\underset{\uparrow\ p}{\lambda_k}\le\cdots\le\lambda_n, \qquad|\lambda_k-p|\lt|\lambda_i-p|\quad(\forall i\neq k),

再记 A~=A−pI\tilde A=A-pI,考察它的特征值

λ1−p, λ2−p, …, λk−p, …, λn−p.\lambda_1-p,\ \lambda_2-p,\ \dots,\ \lambda_k-p,\ \dots,\ \lambda_n-p .

由 pp 的选取,∣λk−p∣|\lambda_k-p| 最小——「是不是就转化为我来求一个最小的特征值? 把最小的特征值求出来,我再给它加个 pp,就是我要的那个 λk\lambda_k。」

于是:对 A−pIA-pI 用反幂法求出最小的 λk−p\lambda_k-p 及其特征向量 xkx_k,再加回 pp:

 λk=(λk−p)+p \boxed{\ \lambda_k=(\lambda_k-p)+p\ }

老师把这一步命名为位移法:「我把它移动一下,移动成一个新的矩阵,这个矩阵的 (目标)特征值就是我所有特征值里绝对值最小的,然后我再用刚刚的算法把它解出来, 解出来之后再把 pp 加进去,就是我要的。」

三种情况的统一(板书收束):

目标手段关键变换
模最大的特征值幂法直接用 AA
模最小的特征值反幂法A↦A−1A\mapsto A^{-1}(实际每步解 Auk+1=ykAu_{k+1}=y_k)
最接近已知 pp 的特征值位移反幂法A↦A−pIA\mapsto A-pI,再用反幂法,最后 +p+p

「说白了就是:第一种你学会之后,后边这个东西你可以转化成第一种就 OK 了—— 想办法给它转变成第一种。」

九、非线性方程:不动点形式与二分法(1:16:00–1:26:30)

线性方程组部分到此告一段落,下半场转入非线性方程(组)。

问题的形式:求 f(x)=0f(x)=0 的根。为了套用迭代,常把方程改写成等价的不动点形式。 板书在右板另起一块、标题写作「非线性方程(组)迭代算法」,内容是一串等价变形:

{f(x)=0 ⟺ x=φ(x)x=x+f(x)x=φ(x)\begin{cases} f(x)=0\ \Longleftrightarrow\ x=\varphi(x)\ x=x+f(x)\ \phantom{x}=\varphi(x) \end{cases}

即变形不唯一,视具体函数而定;最省事的构造是两边同时加 xx:

f(x)=0 ⟺ x+f(x)=x ⟹ φ(x)=x+f(x).f(x)=0\ \Longleftrightarrow\ x+f(x)=x\ \Longrightarrow\ \varphi(x)=x+f(x).

「我举这个例子是想告诉大家,f(x)=0f(x)=0 与 x=φ(x)x=\varphi(x) 这两个东西确实可以互相 转化。」框架与线性方程组的迭代法完全同构:给初值 x0x_0,反复代入——板书写作 x1=φ(x0)x_1=\varphi(x_0)、x2=φ(x1)x_2=\varphi(x_1)、……、xk=φ(xk−1)x_k=\varphi(x_{k-1});若 xk→x∗x_k\to x^*, 对迭代式两边取极限得

x∗=φ(x∗),x^*=\varphi(x^*),

即 x∗x^* 是 φ\varphi 的不动点,也就是原方程的根。

二分法(古典的解析与迭代方法,先复习)。板书在左板画出函数图像并写下:

f(x) 连续,f(a)f(b)<0 ⟹ ∃ ξ∈[a,b]: f(ξ)=0,f(x)\ \text{连续},\quad f(a)f(b)\lt0\ \Longrightarrow\ \exists,\xi\in[a,b]:\ f(\xi)=0,

  • 折半:取中点 c=a+b2c=\dfrac{a+b}{2},比较符号(板书分两支写出)
    • f(a)f(c)<0f(a)f(c)\lt0 ⇒\Rightarrow ξ∈[a,c]\xi\in[a,c],取 [a1,b1]=[a,c][a_1,b_1]=[a,c];
    • f(c)f(b)<0f(c)f(b)\lt0 ⇒\Rightarrow ξ∈[c,b]\xi\in[c,b],取 [a1,b1]=[c,b][a_1,b_1]=[c,b];
  • 对新区间重复折半,得 [a0,b0]⊃[a1,b1]⊃[a2,b2]⊃⋯[a_0,b_0]\supset[a_1,b_1]\supset[a_2,b_2]\supset\cdots, 每步区间长度减半(板书末行:ξ∈[an,bn]\xi\in[a_n,b_n],「逐次二分」):

∣[an,bn]∣=b−a2n<ε.|[a_n,b_n]|=\frac{b-a}{2^n}\lt\varepsilon .

根始终被夹在其中,故误差随区间长度一起变小——「只要你这个区间长度缩得足够小, ξ\xi 落在里面,它的误差也会足够小」。

十、不动点迭代的收敛定理与存在性证明(1:26:30–1:37:00)

定理(板书):设 φ\varphi 在 [a,b][a,b] 上连续可导,且满足两条

(i)φ([a,b])⊆[a,b](自映射:把区间映到自身),(\mathrm i)\quad\varphi([a,b])\subseteq[a,b]\qquad(\text{自映射:把区间映到自身}), (ii)∣φ′(x)∣≤L<1,x∈[a,b](压缩),(\mathrm{ii})\quad|\varphi&#x27;(x)|\le L\lt1,\quad x\in[a,b]\qquad(\text{压缩}),

则对任意初值 x0∈[a,b]x_0\in[a,b],迭代 xk+1=φ(xk)x_{k+1}=\varphi(x_k) 收敛到 [a,b][a,b] 内的唯一不动点。 板书把结论写成一条链:

{xk+1=φ(xk)x0∈[a,b] ⟹ xk → k→∞  x∗.\begin{cases}x_{k+1}=\varphi(x_k)\ x_0\in[a,b]\end{cases} \ \Longrightarrow\ x_k\ \xrightarrow[\ k\to\infty\ ]{}\ x^{*} .

第一条(自映射)的作用——保证迭代值不跑出区间(本讲解释):

x0∈[a,b] ⇒ x1=φ(x0)∈[a,b] ⇒ x2=φ(x1)∈[a,b] ⇒ ⋯x_0\in[a,b]\ \Rightarrow\ x_1=\varphi(x_0)\in[a,b]\ \Rightarrow\ x_2=\varphi(x_1)\in[a,b]\ \Rightarrow\ \cdots

「在我这个计算过程中,那些 xkx_k 一直是在 [a,b][a,b] 区间里,它跳不出这个框去。」 第二条(压缩)的作用是把误差逐次缩小,留到下一讲展开。

不动点存在性的证明(本讲完成)。构造辅助函数

F(x)=x−φ(x).F(x)=x-\varphi(x).

板书一口气把这条链写成(FF 与 φ\varphi 的记号左右并列):

F(a)=a−φ(a)≤0,F(b)=b−φ(b)≥0 ⟹ ∃ ξ∈[a,b]: F(ξ)=0 ⟹ ξ=φ(ξ).F(a)=a-\varphi(a)\le0,\qquad F(b)=b-\varphi(b)\ge0 \ \Longrightarrow\ \exists,\xi\in[a,b]:\ F(\xi)=0 \ \Longrightarrow\ \xi=\varphi(\xi).

逐步说清:

  • 左端点:φ\varphi 把 [a,b][a,b] 映到自身 ⇒φ(a)∈[a,b]⇒φ(a)≥a\Rightarrow\varphi(a)\in[a,b] \Rightarrow\varphi(a)\ge a,故 F(a)=a−φ(a)≤0F(a)=a-\varphi(a)\le0;
  • 右端点:同理 φ(b)∈[a,b]⇒φ(b)≤b\varphi(b)\in[a,b]\Rightarrow\varphi(b)\le b,故 F(b)=b−φ(b)≥0F(b)=b-\varphi(b)\ge0;
  • FF 连续(φ\varphi 连续可导),一端 ≤0\le0、一端 ≥0\ge0,由介值定理存在 ξ∈[a,b]\xi\in[a,b] 使

F(ξ)=0 ⟺ ξ−φ(ξ)=0 ⟺ ξ=φ(ξ).F(\xi)=0\ \Longleftrightarrow\ \xi-\varphi(\xi)=0\ \Longleftrightarrow\ \xi=\varphi(\xi).

即不动点存在。■\blacksquare

下一讲起点

老师当堂只证了存在性,收尾一句「咱们下次再去试试看」——唯一性(需第二条) 与压缩条件下的收敛速度、收敛阶,留到下一讲;随后才进入 Newton 法等具体格式。

十一、记号与考注(本讲特有)

  1. 板书分区:本讲黑板上半区写「只求特征向量」的算法与极限,下半区写「求特征值」 的公式与定理——同一块板两套范数要求,读板书时不要串。
  2. 范数记号:板书把 2-范数写作 ∥⋅∥2\lVert\cdot\rVert_2、∞\infty-范数写作 ∥⋅∥∞\lVert\cdot\rVert_\infty;课堂口述常简称「二范数」「无穷范数」。本编保留板书记号。
  3. 「位移」的课堂叫法:老师把 A−pIA-pI 这一步称为位移法(转写作「贵宜法」, 音近致误),标准术语为原点位移 / 位移反幂法(shifted inverse iteration)。
  4. 原书编号:本讲两个定理(幂法收敛定理、不动点迭代收敛定理)课堂均未念编号, 本编不注编号,以内容对照原书第 3 章、第 4 章。原书第 3 章为特征值计算、第 4 章为 非线性方程,与本书第 6、7 章对应(路线图)。
  5. 「特征向量互异」的用法:课堂把「λi\lambda_i 互异 ⇒xi\Rightarrow x_i 线性无关」 当作已知事实直接使用(这是标准结论:不同特征值的特征向量线性无关),未证。
  6. 反幂法解方程组的代价:课堂只说「用 LU 分解或迭代法解 Auk+1=ykAu_{k+1}=y_k」, 未讨论 AA 的分解可预先算一次并复用(这是反幂法实用化的关键),亦未提 A−pIA-pI 病态时的精度问题。
  7. 转录空白:00:47–00:52 为课间休息(转写多为环境噪声),据上下文此段无板书。
  8. 板书核对:本页公式全部对照板书关键帧(1920×1080 教师摄像头画面)逐条核对, 主要参照时刻:① 01:53–08:16 展开式;② 08:16–14:00 实数性证明;③ 19:30–29:00 算法框与 yky_k 的极限;④ 36:00–44:00 的 ∥⋅∥=∥⋅∥2\lVert\cdot\rVert=\lVert\cdot\rVert_2 与 ∞\infty-范数两行;⑤ 55:00–58:00 定理;⑥ 58:00–1:07:00 反幂法(含单独框出的 Auk+1=ykAu_{k+1}=y_k);⑦ 1:07:00–1:15:30 位移;⑧ 1:16:00–1:37:00 二分法与不动点定理。
  9. 板书上的一处「第三行」:特征值计算那一片板,最上面一行是 ∥⋅∥=∥⋅∥2\lVert\cdot\rVert=\lVert\cdot\rVert_2、最下面另起一行写 ∥⋅∥=∥⋅∥∞\lVert\cdot\rVert=\lVert\cdot\rVert_\infty——两行是两种范数的对照, 不是同一推导的两步,抄板书时容易连成一行。

十二、老师强调

  • 顺序不能反:先单位化、再乘 AA。直接累乘 AA 会溢出,也压不住其他分量。
  • 计算特征向量时范数随便取;计算特征值时必须取 2-范数—— 「这黑板最上面的东西我只是计算特征向量……但我在计算特征值的时候,就取一个限定的二范数。」
  • 三个问题一个算法:模最大(幂法)→ 模最小(A−1A^{-1})→ 最接近 pp(A−pIA-pI), 后两个都化归到第一个。
  • 反幂法的实战写法:不构造 A−1A^{-1},每步解 Auk+1=ykAu_{k+1}=y_k——直接法与迭代法在这里汇合。
  • 位移的动机来自物理:能级 = 特征值,半解析方法先给一个足够近的 pp, 再用位移反幂法把目标特征值「精修」到机器精度。
  • 非线性方程部分:f(x)=0  ⟺  x=φ(x)f(x)=0\iff x=\varphi(x) 的变形不唯一;二分法是「古典方法」, 保证收敛但收敛慢;迭代法的收敛性由自映射 + 压缩两条保证。
  • 方法论闲谈(课间后):本国教材为篇幅与严谨性「跳细节」,国外教材把每一步都展开 「所以写得那么厚」——证明的细节不是人人都必须掌握,「你只需要知道这些东西 都是有道理的、来源都是有根据的」;但公式必须亲手推、结论必须记得住。

十三、课堂口述与标准术语对照(节选)

老师口述/转写标准术语
秘法 / 密法 / 迷法幂法(power method)
反秘法反幂法(inverse power method)
贵宜法 / 被激动位移法(原点位移,shift)
幽灵 / u0初始向量 u0u_0
外退 / 外配 / 外移 / YP / 外 kyky_k
UK / 又可以加一uku_k / uk+1u_{k+1}
2.1 / 二块一 / 二万一 / 二法1α1\alpha_1
蓝白衣 / 郎大一 / 拉姆达 / 拦一 / 雷达马λ1\lambda_1 / λk\lambda_k
4 / 2-1 / 2-2 / 三大 Nλ1\lambda_1 / λ2\lambda_2 / λn\lambda_n
S1 / X1 / F1 / 特征项链 / 特征项目 / 特征效量x1x_1 / 特征向量
十数 / 时数 / 十指针 / 实体占 / 十几卷 / 实举证实数 / 实矩阵
功课 / 公额 / 共和 / 公论 / 共恶 / 公乐共轭
特征象式 / 特征多大式 / 特征方式特征多项式
单位化 / 单元化 / 单类化 / 单律化单位化(规范化)
二半数 / 二范图 / 二败负 / 二方式2-范数
无穷半数 / 五行范围 / 无穷范图∞\infty-范数
半数 / 万数 / 范畴 / 翻数范数
大幽灵 / 小幽灵大于零 / 小于零
借着定理 / 解释定理介值定理
二分导 / 二分套 / 二能打二分法
可塞 / 可费 / 可思议ξ\xi(根)
范 x / Five / 5fφ(x)\varphi(x)
运行到 / 硬回到映到(映射)
韩国 / 连续合导函数 / 连续可导
小移的上限 / 阳根的小于 1 的上界 / 有界的
叠代 / 结带 / 节带迭代
收链收敛
本质生态本征态
渐渐展开渐近展开