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

第 3 讲(09-14):矩阵范数与高斯消去

课堂实录精编。前半节完成范数理论(矩阵 1-范数/∞-范数、可逆性判别定理), 后半节进入解线性方程组的直接法:高斯消去法公式化、顺序主子式定理、计算量分析与列主元。 对应本书 1.3 向量范数与矩阵范数;直接法部分(顺序消去 2.1.1、列主元 2.1.2)为本书第 2 章先导(原书 2.1 节)。 对应学习目标:K1.6、K1.7 · S1.6、A1.3(目标清单);高斯消去部分属后续章节目标。

10 分钟复习版 · 第 3 讲

一句话:前半节补完范数的计算公式与可逆性判据,后半节进入解线性方程组的直接法。

必记结论

内容 要点
矩阵 1-范数 ∥A∥1=max⁡j∑i∣aij∣\|A\|_1=\max_j\sum_i\lvert a_{ij}\rvert——最大列和(本讲完整推导)
矩阵 ∞-范数 ∥A∥∞=max⁡i∑j∣aij∣\|A\|_\infty=\max_i\sum_j\lvert a_{ij}\rvert——最大行和
矩阵 2-范数 最大奇异值,本讲留作自学(正文 1.3.4 补全)
可逆性判据 存在某个矩阵范数使 ∥A∥<1\|A\|&lt;1 ⇒\Rightarrow I±AI\pm A 可逆(反证法:设 x=Axx=Ax,则 ∥x∥≤∥A∥∥x∥<∥x∥\|x\|\le\|A\|\|x\|&lt;\|x\|,矛盾)
高斯消去充要条件 能消成上三角   ⟺  \iff 前 n−1n-1 个顺序主子式 Δ1,…,Δn−1≠0\Delta_1,\dots,\Delta_{n-1}\ne0
计算量 O(n3)O(n^3)(乘加约 23n3\frac23n^3)
列主元 每步选当前列绝对值最大的元素,使 ∣mik∣≤1\lvert m_{ik}\rvert\le1,误差不被放大

老师强调的考点:判可逆性找到一个范数即可,完全不用算行列式(板书例:∥A∥1=0.7<1\|A\|_1=0.7\lt1 立得 I+AI+A 可逆)。顺序主子式结论是充要条件;最后一个主元管「能不能解」,前面 n−1n-1 个管「能不能消」。实际大规模问题靠迭代法,朴素高斯消去是理论基石。

对应正文:1.3(1.3.3 从属范数、1.3.4 计算公式、1.3.5 可逆性判据);直接法部分为第 2 章 线性方程组的解法先导

课堂时间线

时间内容
02:10–11:00复习:诱导矩阵范数定义、单位球面几何直观、四条性质与相容关系
11:03–21:40矩阵 1-范数的显式表达推导(最大列和);∞-范数(最大行和);2-范数留作自学
21:41–31:15定理:∥A∥<1⇒I±A&#124;A&#124;&lt;1\Rightarrow I\pm A 可逆;反证法证明;数值例子
31:16–32:45适配关系双向总结(此后不再区分矩阵/向量范数记号)
33:04–39:27误差分析回顾:小数放分母、相近数相减、减少运算次数
39:29–54:52进入正题:解线性方程组;消去思想与第一步消元演示;再次强调适配关系
54:52–64:56高斯消去法逐步公式化(上标 (k)(k) 记号)
64:56–76:30核心定理:能消成上三角 ⟺ 前 n−1n-1 个顺序主子式非零;计算量分析 O(n3)O(n^3)
76:29–85:05主元为零时朴素消去失败;为什么实际软件不用朴素高斯消去
87:03–96:27列主元高斯消去法:动机与算法演示

一、矩阵范数的计算公式(本讲推导成果)

范数的定义与四条性质已经讲清,这里先把 1-范数与 ∞-范数的计算公式推导完整。

定理(矩阵 1-范数 = 最大列和) 设 A=(α1,…,αn)A=(\alpha_1,\dots,\alpha_n),αj\alpha_j 为列向量:

  ∥A∥1=max⁡1≤j≤n∑i=1n∣aij∣  \boxed{;&#124;A&#124;_1=\max_{1\le j\le n}\sum_{i=1}^n|a_{ij}|;}

推导:设 x=(x1,…,xn)Tx=(x_1,\dots,x_n)^T、∥x∥1=1&#124;x&#124;_1=1,则 Ax=x1α1+⋯+xnαnAx=x_1\alpha_1+\cdots+x_n\alpha_n。 由向量 1-范数的三角不等式与齐次性:

∥Ax∥1≤∑j∣xj∣ ∥αj∥1≤(max⁡j∥αj∥1)∑j∣xj∣=max⁡j∥αj∥1,&#124;Ax&#124;_1\le\sum_j|x_j|,&#124;\alpha_j&#124;_1\le\Big(\max_j&#124;\alpha_j&#124;_1\Big)\sum_j|x_j|=\max_j&#124;\alpha_j&#124;_1 ,

且这个最大值能够取到(取 x=ekx=e_k,其中第 kk 列取得最大列和),故等号成立。

对偶结论(矩阵 ∞-范数 = 最大行和):

∥A∥∞=max⁡1≤i≤n∑j=1n∣aij∣.&#124;A&#124;_\infty=\max_{1\le i\le n}\sum_{j=1}^n|a_{ij}| .

2-范数(最大奇异值)留作自学。老师点评:向量 p-范数的表达式本身很清晰, 矩阵范数算出来却“奇形怪状“,记住 1-范数是最大列和、∞-范数是最大行和即可。

几何直观复习(板书):单位球面 {x:∥x∥=1}{x:&#124;x&#124;=1}(2-范数是球面、1-范数是八面体、 ∞-范数是立方体)经 AA 作用后仍是封闭曲面,而 ∥A∥=max⁡∥Ax∥&#124;A&#124;=\max&#124;Ax&#124; 就是该曲面上的点到原点的最大距离。

二、可逆性判别定理(迭代法收敛性的钥匙)

定理:若存在某个(满足四条性质的)矩阵范数使 ∥A∥<1&#124;A&#124;&lt;1,则 I±AI\pm A 都可逆。

证明(反证法,板书完整):设 I−AI-A 不可逆,则 I−AI-A 不满秩,齐次方程组 (I−A)x=0(I-A)x=0 有非零解 xx,即 x=Ax, x≠0x=Ax,\ x\ne0。取与该矩阵范数适配(即相容,正文 1.3.3 的术语)的向量范数:

∥x∥=∥Ax∥≤∥A∥ ∥x∥<∥x∥,&#124;x&#124;=&#124;Ax&#124;\le&#124;A&#124;,&#124;x&#124;&lt;&#124;x&#124; ,

矛盾。故 I−AI-A 可逆;I+AI+A 同理。■\blacksquare

例(板书原题):

A=[0.1−0.2−0.04−0.10.30.10.50.20.1],A=\begin{bmatrix}0.1&amp;-0.2&amp;-0.04\-0.1&amp;0.3&amp;0.1\0.5&amp;0.2&amp;0.1\end{bmatrix},

各列元素绝对值之和分别为 0.7, 0.7, 0.240.7,,0.7,,0.24,故 ∥A∥1=0.7<1&#124;A&#124;_1=0.7&lt;1,立得 I+AI+A 可逆—— 完全不用算行列式。(顺便看行和:各行元素绝对值之和为 0.34, 0.5, 0.80.34,,0.5,,0.8,故 ∥A∥∞=0.8&#124;A&#124;_\infty=0.8, 两种范数都小于 1。)

适配关系的双向总结:向量范数可以诱导出矩阵范数;反过来,满足四条性质的矩阵范数 也必定存在与之适配的向量范数。相容不等式 ∥Ax∥≤∥A∥∥x∥&#124;Ax&#124;\le&#124;A&#124;&#124;x&#124; 只对适配的范数对成立。 老师预告:讲迭代法时这条结论会反复用到。

三、数值计算守则复习(三个教训)

  1. 别把很小的数放在分母上(除法误差限中含 b2b^2);
  2. 相近数相减会损失有效数字(板书原例):计算 1x+1−x\dfrac{1}{\sqrt{x+1}-\sqrt{x}} 时, 先作有理化 1x+1−x=x+1+x(x+1)−x=x+1+x\dfrac{1}{\sqrt{x+1}-\sqrt{x}}=\dfrac{\sqrt{x+1}+\sqrt{x}}{(x+1)-x}=\sqrt{x+1}+\sqrt{x}, 把两个相近数相减转化为相近数相加;
  3. 减少运算次数:每一步运算都产生舍入误差,“如同做实验,流程越少,误差越小”。

四、高斯消去法 (Gaussian elimination)

复习结束,课堂从这里进入正题:解线性方程组的直接法。

设定:解 Ax=bAx=b,A=(aij)n×nA=(a_{ij})_{n\times n} 非奇异。对增广矩阵 [A ∣ b][A,|,b] 只做“某行乘常数加到另一行“的初等行变换(不改变方程组的解)。

第 1 步(设 a11≠0a_{11}\ne0):第 ii 行加上第一行的 −ai1a11-\dfrac{a_{i1}}{a_{11}} 倍 (i=2,…,ni=2,\dots,n),消去第一列;消元乘数记 mi1=−ai1/a11m_{i1}=-a_{i1}/a_{11}, 更新后的元素记上标 (1)(1)。

第 kk 步:用主元 akk(k−1)a_{kk}^{(k-1)} 消去其下方的元素, mik=−aik(k−1)/akk(k−1)m_{ik}=-a_{ik}^{(k-1)}/a_{kk}^{(k-1)}。如此共 n−1n-1 步,方程组化为上三角, 再回代 (backward substitution) 逐个解出 xn,xn−1,…,x1x_n,x_{n-1},\dots,x_1。

核心定理(充要条件):不用行交换的高斯消去能进行到底(化成上三角)

  ⟺   消去过程中主元 a11,a22(1),…,an−1,n−1(n−2) 均非零  ⟺   A 的前 n−1 个顺序主子式 Δ1,…,Δn−1≠0.\iff\ \text{消去过程中主元 } a_{11},a_{22}^{(1)},\dots,a_{n-1,n-1}^{(n-2)}\ \text{均非零} \iff\ A\ \text{的前 } n-1\ \text{个顺序主子式 } \Delta_1,\dots,\Delta_{n-1}\ne0 .

证明思路:倍加型初等行变换不改变各阶顺序主子式;而在最终的上三角阵中 Δk\Delta_k 恰等于前 kk 个主元之积,故 Δk≠0  ⟺  \Delta_k\ne0\iff 第 kk 步主元非零。

注意:最后一个主元 ann(n−1)a_{nn}^{(n-1)} 是否为零不影响“能否消成上三角“, 只影响方程组是否可解;若要唯一解,还需 Δn≠0\Delta_n\ne0(即 AA 非奇异)。

计算量分析:第 1 步要消去 n−1n-1 行、每行约 2n2n 次乘加……总运算量与 ∑k=1nk2∼n3/3\sum_{k=1}^n k^2\sim n^3/3 同量级,即 O(n3)O(n^3)(乘加合计约 23n3\frac{2}{3}n^3)。 三维问题若每个方向取 100 个网格,则 n=106n=10^6,运算量达 101810^{18} 次—— 笔记本电脑根本算不动。

工程现实(老师反复强调):实际软件包(包括 MATLAB,其名意为“矩阵实验室“) 里都没有人用朴素高斯消去,内部全是迭代法与各种分解。高斯消去的价值在于它是理论基石, 并给出了“能消“的条件。

板书反例(顺序主子式条件的必要性):A=[0110]A=\begin{bmatrix}0&amp;1\1&amp;0\end{bmatrix} 非奇异,但 a11=0a_{11}=0——不换行,消去法第一步就无法进行(Δ1=0\Delta_1=0)。

五、列主元高斯消去法 (Gaussian elimination with partial pivoting)

动机:主元 akk(k−1)a_{kk}^{(k-1)} 特别小时,乘数 mik=−aik(k−1)/akk(k−1)m_{ik}=-a_{ik}^{(k-1)}/a_{kk}^{(k-1)} 巨大,舍入误差被放大、精度骤降——这正是“不让小数当分母“的直接体现。

算法:每步消元前,先在当前列(第 kk 步为第 kk 列的第 kk 至 nn 行)中选出 绝对值最大的元素,把该行与第 kk 行交换,然后再消元。这样 ∣mik∣≤1|m_{ik}|\le 1, 误差不会被放大。

六、老师强调

  • “适配“是本讲关键词,相容不等式只能对适配的范数对使用。
  • ∥A∥<1⇒I±A&#124;A&#124;&lt;1\Rightarrow I\pm A 可逆:找到一个范数即可,不用算行列式。
  • 顺序主子式结论是充要条件;最后一个主元管“能不能解“,前面 n−1n-1 个管“能不能消“。
  • 高斯消去要掌握,但实际大规模问题靠迭代法(第 2 章后半/后续课程)。
  • 数值守则:小数不放分母、相近数不相减、能少算就少算。

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

老师口述/转写标准术语
高次消息法 / 高速消去 / 销区高斯消去法
范畴 / 半数 / 批判数范数
项链 / 相量向量
顺序主此事 / 顺序竹子顺序主子式
劣质元高速效率列主元高斯消去法
上三脚 / 上弹道矩阵上三角矩阵
行业事 / 行列设置行列式
绝对误差线绝对误差限
冲药 / 参调词充要(条件)
飞龙扰动