课堂实录精编。本讲无课件、全程板书(课件录像整段「无视频信号」,板书数字版见
raw 素材),主线三段:收敛理论——把迭代矩阵对角化解耦成标量递推,证出充要条件
ρ(G)<1(原书定理 2.8,原书证明从略,此推导为课堂独有);误差估计——补上
第 4 讲欠下的收敛性证明,得到先验 / 后验两个估计(原书式 2.26–2.27),
并回答「为什么相邻迭代差小就可以停机」;两个具体格式——Gauss–Jacobi 与
Gauss–Seidel,及行对角占优收敛定理(原书定理 2.12)。
对应原书 2.4.1(一般形式及其收敛性)、2.4.2(Jacobi)、2.4.3(Gauss–Seidel)。
对应学习目标:K1.7 的完整落地(从「找一个范数使 ∥G∥<1」到谱半径充要条件)。
10 分钟复习版 · 第 5 讲
一句话:把迭代收敛问题对角化解耦成标量递推,证出充要条件 ρ(G)<1;再补出两个误差估计,回答「为什么相邻迭代差小就可以停机」。
必记结论
| 内容 |
要点 |
| 充要条件 |
对任意初值收敛 ⟺ρ(G)<1(原书证明从略,本讲用对角化 + 标量递推自证) |
| 充分条件 |
存在矩阵范数使 ∥G∥<1 ⇒ 收敛(好算,大规模问题用这条) |
| 先验估计 |
∥x(k)−x∗∥≤1−∥G∥∥G∥k∥x(1)−x(0)∥ |
| 后验估计 |
∥x∗−x(k)∥≤1−∥G∥∥G∥∥x(k)−x(k−1)∥——「差小即停」的道理 |
| Jacobi |
分裂 N=D、P=−(L+U);xi(k+1)=aii1(bi−∑j=iaijxj(k)) |
| 行对角占优 |
∣aii∣>∑j=i∣aij∣⇒∥G∥∞<1⇒ Jacobi 收敛 |
| Gauss–Seidel |
分裂 N=L+D、P=−U;本轮已算出的新分量立刻投入使用,形式隐式、实际显式 |
老师强调的考点:充要条件 ρ(G)<1 是根本,但大规模问题算不出特征根,实际用范数充分条件。递推式的「下标 + 幂次 = 常数」规律要学会盯着它推,误差估计全靠它。所有迭代法都是分裂——拆法即名字。\|G\| 越接近 1,相邻差小不能断定接近真解。
对应正文:1.3.5 定理 1.3.6;第 2 章 线性方程组的解法(迭代法部分)
| 时间 | 内容 |
| 02:16–05:30 | 回顾:分裂迭代格式的重推;为什么不走直接求逆 |
| 05:30–13:59 | 收敛性问题的提出;回忆若尔当标准形;可对角化假设下的相似变换解耦 |
| 13:59–20:30 | 标量递推 zk+1=λzk+E 反复代入得显式解;收敛 ⟺∣λ∣<1 |
| 20:31–25:01 | 充要条件定理(ρ(G)<1);大规模矩阵算特征根的现实困难 |
| 25:01–36:56 | 范数充分条件定理(板书编号见 §6 考注,内容即原书定理 2.9)收敛性证明:误差递推 |
| 36:56–57:00 | 停机直觉及其道理:裂项 + 几何级数 → 后验误差估计(板书框出) |
| 57:00–58:20 | 过渡:所有迭代法 = 不同的分裂 |
| 58:20–67:00 | A=L+D+U 三分;Jacobi 的分裂与显式迭代矩阵 |
| 67:22–79:34 | 行对角占优定义(应用背景:热/扩散方程 CN 格式);∥G∥∞ 逐行求和 |
| 79:34–83:29 | Jacobi 收敛定理;列对角占优与原书统一处理的读书指引 |
| 83:29–97:43 | Gauss–Seidel:换一种拆法;形式隐式 → 逐分量自上而下显式求解 |
出发点仍是「不做直接求逆,只做矩阵乘向量」:把 A 分裂为
Ax=b,A=N−P,
N 取「好求逆」的矩阵(对角阵、对角块、三角阵等),则
(N−P)x=b ⟺ Nx=Px+b ⟺ x=GN−1Px+dN−1b,
得迭代格式与不动点方程:
{x(0)x(k+1)=Gx(k)+d k→∞ x∗=Gx∗+d.
板书上把 A−1 划掉了——本讲刻意不走直接求逆。注意:实际计算时,每一步解的是
Nx(k+1)=Px(k)+b(只要 N 取得「好解」即可),并不显式构造 N−1。
格式立住之后,下面先回答收敛性。思路:先把 G 对角化,把原本耦合的系统解耦成
n 条互不影响的标量递推。设
G=T−1ΛT(Λ=diag(λ1,…,λn),
T 为特征向量矩阵)。对迭代式两边左乘 T,令 y(k)=Tx(k)、d~=Td:
y(k+1)=Λy(k)+d~⟺yi(k+1)=λiyi(k)+d~i,i=1,…,n.
T 可逆,新旧两个系统「要么一块收敛、要么一块发散」,故只需研究其中一条标量递推
zk+1=λzk+E。把它反复代入(板书有完整演算):
zk+1=λzk+E=λ2zk−1+(λ+1)E=⋯=λk+1z0+(λk+⋯+1)E=λk+1z0+1−λ1−λk+1E.
(λ=1 时右端退化为 z0+(k+1)E,显然发散;课堂上未单独点出,此为补注。)
当且仅当 ∣λ∣<1 时 λk+1→0,极限为 E/(1−λ),与初值 z0 无关。
于是:
定理(原书定理 2.8)迭代格式对任意初值 x(0) 收敛⟺ρ(G)<1,ρ(G)=1≤i≤nmax∣λi∣.
课堂推导的价值
原书对定理 2.8 的态度是「证明从略,读者可参阅文献[4]第 151~152 页」;本讲用
对角化 + 标量递推把证明完整走了一遍——这正是本教程全文收录这段推导的原因。G 不可
对角化时,改用若尔当形,每块多出 k 的多项式因子(kmλk 型),∣λ∣<1 时
仍趋零,结论不变、计算变繁(老师明确交代,未展开)。
现实困难(转入范数判据的动机):实际要求解的方程组,规模「成百上千万、甚至上亿」,
而把 G 的特征根全部算出来比高斯消去还贵——充要条件没法直接用,于是需要一条可操作
的充分条件。
定理(原书定理 2.9)若存在矩阵范数 ∥⋅∥ 使 ∥G∥<1, 则 {(1) x=Gx+d 的解 x∗存在且唯一(2) x(k)→x∗ (∀x(0))
(1) 已在第 4 讲证明(∥G∥<1⇒I−G 可逆)。本讲证 (2)。
先验估计(误差递推):不动点方程与迭代式相减,常向量 d 被消去:
x(k+1)−x∗=G(x(k)−x∗).
取与该矩阵范数相容的向量范数(∥Ax∥≤∥A∥∥x∥;老师口述的依据是:「给你一个
矩阵范数,可以找到与之相容的向量范数——那一头我虽然没讲,但大家应该知道」,此为断言,
课上未证),逐次递推(下标规律:下标与 ∥G∥ 的幂次之和恒为 k+1,老师三次强调
要学会盯着这个规律):
∥x(k+1)−x∗∥≤∥G∥∥x(k)−x∗∥≤⋯≤∥G∥k+1∥x(0)−x∗∥ k→∞ 0.
后验估计(停机直觉的道理)。实践中的习惯是「算到相邻两步迭代差足够小就停」——老师
随即发问:「这种直觉的道理是什么?」推导分四步:
- 裂项:对 m>k,
x(m)−x(k)=(x(m)−x(m−1))+(x(m−1)−x(m−2))+⋯+(x(k+1)−x(k));
- 相邻差被 G 压缩:相邻两个迭代式相减(d 同样消去)得
x(m)−x(m−1)=Gm−k−1(x(k+1)−x(k));
- 次乘性 ∥AB∥≤∥A∥∥B∥ + 三角不等式 + 几何级数求和:
∥x(m)−x(k)∥≤∥x(k+1)−x(k)∥⋅1−∥G∥1−∥G∥m−k;
- 令 m→∞(x(m)→x∗,∥G∥m−k→0),再用一次相邻差压缩
∥x(k+1)−x(k)∥≤∥G∥∥x(k)−x(k−1)∥,得板书最终框出的形式:
x∗−x(k) ≤ 1−∥G∥∥G∥x(k)−x(k−1) (原书式 2.27)
(课上口述的推导先停在 1−∥G∥1∥x(k+1)−x(k)∥ 这一版本,它与框出的
形式等价,衔接的那一步已如上写明。)配套的先验版本(原书式 2.26,用 ∥x(1)−x(0)∥
表示)本课未写,按原书补列:
∥x(k)−x∗∥≤1−∥G∥∥G∥k∥x(1)−x(0)∥.
解释:误差不超过相邻迭代差的常数倍,这个常数就是 ∥G∥/(1−∥G∥)——这正是
「差小即停」的依据;且 ∥G∥ 越小,常数越小、收敛越快。原书在同一处给了两条使用警告
(课上未提,摘录备用):
∥G∥ 很接近 1 时相邻差小不能断定接近真解;I−G 病态时迭代再多也未必得到好结果。
收敛判据讲完,下面进入两种具体格式。老师先给了总纲(原话):「你不管是什么 Gauss–Jacobi
还是 Gauss–Seidel,所有的迭代求解法都是用 A 拆成 N 和 P 的这种形式,名字不一样,
无非是拆的方法不一样。」
三分(板书按元素写出三个矩阵):
A=L+D+U,L=0a21⋮an10⋱⋯⋱an,n−10, D=diag(a11,…,ann), U=0a120⋯⋯⋱a1na2n⋮0
(L、U 均不含对角线)。Jacobi 的分裂:N=D,分裂剩余 P=−(L+U)。由于 N
是对角阵,N−1 也是对角阵,用它左乘 P,就相当于「给 P 的第 i 行每个数都乘
1/aii」,于是显式迭代矩阵与常向量为
G=D−1(−(L+U)),Gij=⎩⎨⎧−aiiaij,0,j=ij=i,d=[a11b1,…,annbn]T,
分量形式(课堂上给的是矩阵形式,这里直接展开):
xi(k+1)=aii1(bi−j=i∑aijxj(k)),i=1,…,n.
行对角占优 ⟹ 收敛。先给出(严格)行对角占优的定义:∣aii∣>∑j=i∣aij∣
(i=1,…,n)。应用背景(老师特意补充):热 / 扩散方程用 Crank–Nicolson 格式
离散后,左端矩阵就是行对角占优的——「不是稀罕的矩阵,而是比较常见的」。下面对 G 逐行
求和:
∥G∥∞=imaxj=1∑n∣Gij∣=imax(∣aii∣∣ai1∣+⋯+∣aii∣∣aii∣+⋯+∣aii∣∣ain∣)=imax∣aii∣∑j=i∣aij∣<1
(⋅ 表示跳过对角元;回忆 ∥⋅∥∞ = 最大行和、∥⋅∥1 = 最大列和)。
于是由定理 2.9 立得(原书定理 2.12 的行占优部分):
定理A 行对角占优 ⟹ Jacobi 迭代收敛.
列对角占优同样成立(原书定理 2.12 括注「按行(或按列)」),但证法不同——课上对此
只给了一条读书指引:「书里面给了一个对行对角占优和列对角占优的统一处理方法,不难,
你老老实实把那个样子写出来;但看行对角占优,我们这种写法更清楚、更简单。」
(原书证法:反证 + 特征值 GJμ=λμ 的分量估计,行、列一并处理。)
一般原则则是:「最保险的办法还是老老实实看 G 的特征根;但一般情况下我们用不着,都是用
实际里能操作的方式。」
这里只是换一种拆法:N=L+D(含对角线的下三角),分裂剩余 P=−U。「按对角/非对角拆
(Jacobi),还是按上/下三角拆(Seidel),本质上没有区别。」困难在于 (L+D)−1
写不出显式——于是两边乘 N、移项,转而利用 D 好求逆这一点:
(L+D)x(k+1)=−Ux(k)+b ⟹ Dx(k+1)=−Lx(k+1)−Ux(k)+b ⟹ x(k+1)=严格下三角−D−1Lx(k+1)+严格上三角−D−1Ux(k)+D−1b.
老师随即点破:「右边还有 x(k+1),你会觉得有问题——实际上我一写出来,你就发现没问题」:
−D−1L 的第一行全为零,故 x1(k+1) 完全由 x(k) 显式给出;第二行只含
x1(k+1)(已算出);依此类推——自上而下逐分量代入,全程显式,「相当于追赶法
(前代),不存在任何解方程的问题」。分量形式:
xi(k+1)=aii1(bi−j<i∑aijxj(k+1)−j>i∑aijxj(k)),i=1,…,n.
与 Jacobi 的差别,一句话:本轮已算出的新分量立刻投入使用。收敛判据同理,由定理
2.8 / 2.9 可得(原书定理 2.13 / 2.14:ρ(GGS)<1 充要、∥GGS∥<1 充分;
定理 2.15 / 2.16:A 行(列)对角占优或正定 ⟹ GS 收敛——本课未讲,按原书补目)。
- 记号撞名(沿用课堂记号的代价):P 同时是分裂剩余(A=N−P)与特征向量矩阵
(G=P−1ΛP,板书此处已标存疑);D 同时是变换后常数(D=Pd)与对角块
(A=L+D+U)。本编在解耦一段改记为 T、d~,以避开这处撞名。
- 板书「定理 6.4」考:板书 29:29 处识别出「定理 6.4」,但口述未念编号;颜庆津
《数值分析》(第 4 版)迭代法在 §2.4、对应定理编号为 2.8/2.9,第 6 章是数值积分——
「6.4」应为粉笔「2.4」(§2.4 之误写)或「2.9」的形误。按内容,该定理即原书定理 2.9。
- 「先验 / 后验」:老师全程未用这对术语,实际的对立是「理论上的收敛保证」与
「计算中可操作的停机直觉及其道理」;对应原书式 (2.26)(先验)与 (2.27)(后验)。
- 「残差」辨析:老师把停机用的相邻迭代差 ∥x(k)−x(k−1)∥ 口称为
「残差」;标准术语里残差指 r(k)=b−Ax(k),两者不同(迭代法改进与
Krylov 子空间方法中会用到真残差)。
- 课上断言、未证的点(读原书 §2.4.1 时注意):任一矩阵范数存在相容向量范数;
ρ(G)≤∥G∥(故 ∥G∥<1 是充分不必要条件——∥G∥≥1 时格式仍可能收敛,
两条判据的强弱关系由此定);不可对角化情形的若尔当块处理。
- 充要条件 ρ(G)<1 是「判别格式收不收敛」的根本,但大规模问题时算不了特征根,实际用范数充分条件。
- 递推式的「下标 + 幂次 = 常数」规律(本讲出现三次):学会盯着它推,误差估计全靠它。
- 停机直觉的道理在后验估计:误差 ≤ 1−∥G∥∥G∥ 倍相邻差;∥G∥ 越小收敛越快。
- 所有迭代法都是分裂:Jacobi 按对角/非对角拆,Seidel 按上/下三角拆——拆法即名字。
- Seidel「形式隐式、实际显式」:一行一行往下算,相当于追赶法的前代思想。
- 原书 §2.4.4 的逐次超松弛法(SOR)在第 6 讲展开(构造、ω∈(0,2)
必要条件与两大收敛定理);课上也没有对 Jacobi 与 Gauss–Seidel 做存储与速度上的对比(原书 §2.4.3 末尾:
二者可能都收敛、都不收敛、或一收一散,无一般优劣)。
| 老师口述/转写 | 标准术语 |
| 高斯贾赫利 / 高斯坦呼 / 高斯甲合理 | Gauss–Jacobi(雅可比迭代) |
| 高斯希格尔 / 高斯西格尔 / 高复甲肺 | Gauss–Seidel(高斯–赛德尔迭代) |
| 普贯鸡 / 肉大 G | 谱半径 ρ(G) |
| 超级必要条件 | 充要条件 |
| 亲子鱼范图 | ∞-范数 |
| 康尼克森格式 | Crank–Nicolson 格式 |
| 适配 / 相容 | (范数)相容 |
| 收链 | 收敛 |
| 群逆运算 / 球逆运算 | 求逆运算 |