前两节反复说「误差大小」,但误差常常不是单个数:真值 x∈Rn 与近似解 a 之差 x−a 就是一个向量。要比较误差大小、陈述收敛与稳定,必须先给「向量的长度」和「矩阵的大小」立规矩——这就是范数。本节先建立范数的公理,再算出五个最常用范数的公式,然后证明等价性与相容性,最后以 Neumann 级数和条件数预告范数的用途。原书定理 1.1–1.5 完整保留(按全书统一的节级编号排为 定理 1.3.1、定理 1.3.3–定理 1.3.6,逐条对照表见下);原书省略的证明全部补全(定理 1.3.1 的 1-范数与 ∞-范数、定理 1.3.3 的等价性、F-范数的全部性质)。
编号对照 · 原书 ⇄ 本教程
本节完整保留原书 1.3 节的全部定理,但按全书统一的节级编号重排;原书编号只出现在盒子标题的括注里。两套编号的对照关系如下,不必自己记:
| 原书编号 |
本教程编号 |
内容 |
| 定理 1.1 |
定理 1.3.1 |
三种常用范数(∥⋅∥1,2,∞) |
| 定理 1.2 |
定理 1.3.3 |
向量范数等价定理 |
| 定理 1.3 |
定理 1.3.4 |
从属范数(算子范数) |
| 定理 1.4 |
定理 1.3.5 |
矩阵 1-范数、2-范数、∞-范数的计算公式 |
| 定理 1.5 |
定理 1.3.6 |
Neumann 界(∥A∥<1⇒I±A 可逆) |
| 例 6 |
例 1.3.3 |
五种范数全算一遍 |
阅读规则:正文一律用本教程编号;只有明确讨论「原书是怎么写的」时才出现原书编号,且一定带「原书」二字。补充篇及以后不再有原书编号问题(原书未覆盖)。
向量范数是刻画向量「大小」的量,又称向量的模。三维空间里 ∥x∥2=x12+x22+x32 是天然的「长度」,但在误差向量、残差向量这类场合,其他度量「大小」的办法(如各分量误差的最大值)反而更贴合需求。哪些函数有资格当「长度」?三条公理:
定义 1.3.1 · 向量范数
定义在 Rn 上的实值函数 ∥⋅∥ 称为向量范数(vector norm),如果对任意向量 x,y∈Rn:
- 正定性:∥x∥≥0,当且仅当 x=0 时 ∥x∥=0;
- 齐次性:对任一数 k∈R,∥kx∥=∣k∣∥x∥;
- 三角不等式:∥x+y∥≤∥x∥+∥y∥。
三条公理各管一件事。正定性让「∥e∥=0 当且仅当 e=0」成为合法的收敛判据——误差的范数为零,才算真的没有误差;齐次性保证范数与度量单位无关——误差放大 10 倍,范数就是 10 倍;三角不等式支持误差传播的放缩,「总误差不超过各部分之和」,数值分析里成千上万次放缩全靠它。
由公理还能直接得到反三角不等式(后文多次使用):∥x∥−∥y∥≤∥x−y∥。推导:∥x∥=∥(x−y)+y∥≤∥x−y∥+∥y∥,移项即得。
例 1.3.1(新增) · 范数公理的必要性
判断下列 Rn 上的函数是否为向量范数:(1) N1(x)=maxi∣xi∣ 的平方;(2) N2(x)=∣x1∣;(3) N3(x)=∑i=1n∣xi∣。
解
(1) 不是:正定、齐次满足,但三角不等式失效——x=y=(1,0)T:N1(x+y)=N1(2,0)=4>1+1=2。平方会「压扁」和向量。
(2) 不是:正定性失效——x=(0,5) 非零但 N2(x)=0。只看一个分量就丢掉了其他方向的信息。
(3) 是:正是下文的 ∥⋅∥1,见定理 1.3.1 的证明。
∎
引理 1.3.1 · Cauchy–Schwarz 不等式
对任意 x,y∈Rn,(xTy)2≤(xTx)(yTy),即 ∣xTy∣≤∥x∥2∥y∥2,等号成立当且仅当 x,y 线性相关。
证明
y=0 时两端皆为零,显然。设 y=0,对任意 t∈R,
0≤∥x−ty∥22=∥x∥22−2txTy+t2∥y∥22
是关于 t 的二次三项式,恒非负。取判别式极小点 t=xTy/∥y∥22 代入,得
0≤∥x∥22−∥y∥22(xTy)2,
移项即得。等号成立当且仅当 x−ty=0,即二者线性相关。
∎
定理 1.3.1(原书) · 三种常用范数
对 Rn 中任一向量 x=(x1,x2,⋯,xn)T,记
∥x∥1=i=1∑n∣xi∣,∥x∥2=(i=1∑nxi2)1/2,∥x∥∞=1≤i≤nmax∣xi∣,
则 ∥⋅∥1, ∥⋅∥2 和 ∥⋅∥∞ 都是向量范数。
证明(原书只证 2-范数,1-范数与 ∞-范数部分原书留给读者,此处补全)
∥⋅∥1。正定:逐项 ∣xi∣≥0,全零当且仅当和为零;齐次:∑i∣kxi∣=∣k∣∑i∣xi∣;三角不等式:
∥x+y∥1=i∑∣xi+yi∣≤i∑(∣xi∣+∣yi∣)=∥x∥1+∥y∥1.
∥⋅∥∞。正定:最大值 ≥0,且为零当且仅当每个 ∣xi∣=0;齐次:maxi∣kxi∣=∣k∣maxi∣xi∣;三角不等式:对每个分量 ∣xi+yi∣≤∣xi∣+∣yi∣≤∥x∥∞+∥y∥∞,对左边取最大即得。
∥⋅∥2。正定与齐次显然(∥kx∥2=k2∑xi2=∣k∣∥x∥2)。三角不等式:用内积记号 ∥x∥2=xTx,任取 y,
∥x+y∥22=(x+y)T(x+y)=∥x∥22+2xTy+∥y∥22.
由 Cauchy–Schwarz(引理 1.3.1)xTy≤∣xTy∣≤∥x∥2∥y∥2,故
∥x+y∥22≤∥x∥22+2∥x∥2∥y∥2+∥y∥22=(∥x∥2+∥y∥2)2.
开方即得。
∎
∥⋅∥1 称为 1-范数;∥⋅∥2 称为 2-范数或 Euclid(欧几里得)范数——∥x∥2 就是 n 维空间中向量的欧氏长度;∥⋅∥∞ 称为 ∞-范数(矩阵情形「列和/行和」的别名见 1.3.4,向量情形不用这些叫法)。
直觉 · 三种范数 = 三种「读数方式」
同一个误差向量,三种范数就是三种口径的读数:∥⋅∥∞ 只盯最坏的那个分量(「最大的错有多离谱」),∥⋅∥1 把所有分量的错加总(「总共错了多少」),∥⋅∥2 量的是通常的直线长度(几何直觉最好)。看下面的单位球图,三种口径各自长什么样一目了然。
图 1-1 · 三种范数的单位球 {x:∥x∥p=1}:正方形(∞)、圆(2)、菱形(1)。同一个 x,三种「长度」读数不同(∥x∥∞≤∥x∥2≤∥x∥1),但「谁大谁小」「是否收敛」的结论永远一致——这正是等价定理的内容。
这三种范数其实是同一个 p-范数家族的特例——p-范数的一般形式是
∥x∥p=(i=1∑n∣xi∣p)1/p(p≥1 的实数)
并且有 p→∞lim∥x∥p=imax∣xi∣。
定理 1.3.2(新增) · p-范数的极限
对固定的 x=0,p→∞lim∥x∥p=∥x∥∞。
证明
记 M=∥x∥∞=maxi∣xi∣>0。一方面 ∥x∥p≥(Mp)1/p=M(丢掉其余项只减不增)。另一方面
∥x∥p=(i∑∣xi∣p)1/p≤(nMp)1/p=n1/pM.
由夹逼与 n1/p→1 (p→∞) 得证。
∎
思考 · 一般 p 的三角不等式(Minkowski 不等式)
定理 1.3.1 的 p=1,2,∞ 各有初等证明;一般 p≥1 的三角不等式叫 Minkowski 不等式:
∥x+y∥p≤∥x∥p+∥y∥p.
证明分两步。第一步(Hölder 不等式):设 p>1,q 满足 p1+q1=1,则 ∑i∣aibi∣≤(∑i∣ai∣p)1/p(∑i∣bi∣q)1/q。它来自 Young 不等式 st≤psp+qtq(由 ln 的凹性或对 sp/p+tq/q−st 求极小值得到):把 ∣ai∣/∥a∥p、∣bi∣/∥b∥q 代入 Young 并对 i 求和即得。第二步:
∥x+y∥pp=i∑∣xi+yi∣p−1∣xi+yi∣≤i∑∣xi+yi∣p−1∣xi∣+i∑∣xi+yi∣p−1∣yi∣,
对右边两个和分别用 Hölder(q=p/(p−1)),提出公因子 ∥x+y∥pp−1 后移项。p=1 即定理 1.3.1 的证明。∎
Rn 上可以引进的向量范数很多。一个自然的问题是:换一种范数,「大小」与收敛性的结论会不会跟着变?下述等价定理给出否定答案——这是本节最重要的理论结论。
直觉 · 不同范数 = 不同计量单位
同一个向量用不同范数量,读数不同——就像同一袋米用克称是 1000、用磅称是 2.2。但读数再怎么不同,「谁重谁轻」「是否趋近于零」的结论永远一致:克数趋零当且仅当磅数趋零。等价定理说的就是:任何两种范数都像一对计量单位,互相之间只差一个固定倍数(上下夹住)。证明的思路一句话就说得完:先证三个常用范数互相卡得住(第一步),再证任何范数都被 2-范数上下卡住(第二步),最后把两副手铐拼起来(第三步)。
定理 1.3.3(原书) · 向量范数等价
设 ∥⋅∥α, ∥⋅∥β 是 Rn 上的任意两种向量范数,则存在与 x 无关的常数 m 和 M (0<m<M),使
m∥x∥β≤∥x∥α≤M∥x∥β∀ x∈Rn.
意义:向量 x 的某一种范数任意小(大)时,其他任何一种范数也任意小(大)。因此「∥xk∥→0」这类收敛性结论与范数的选取无关;m,M 则依赖于 n 与范数对。
证明
第一步:三个常用范数之间的显式不等式。
| 不等式 |
证明 |
| ∥x∥∞≤∥x∥1≤n∥x∥∞ |
左:和 ∑i∣xi∣ 不小于其中任何一项;右:n 项每项 ≤maxj∣xj∣,求和即得 |
| ∥x∥∞≤∥x∥2≤n∥x∥∞ |
左:maxixi2≤∑ixi2 后开方;右:∑ixi2≤nmaxixi2 后开方 |
| ∥x∥2≤∥x∥1≤n∥x∥2 |
左:(∑i∣xi∣)2=∑ixi2+2∑i<j∣xixj∣≥∑ixi2;右:取 y=(1,⋯,1)T 用 Cauchy–Schwarz,∑i∣xi∣=∣xTy∣≤∥x∥2n |
三条右端的常数(n、n)都不可再改进——取 x=(1,⋯,1)T 或单分量向量即取等,无穷维情形的对照见附录 A.1.4;应用的演练见习题 B4。
第二步:一般情形——任何范数都与 ∥⋅∥2 双向控制。
先证任何向量范数 N 对 ∥⋅∥2 连续。反三角不等式给出 ∣N(u)−N(v)∣≤N(u−v);记 e1,⋯,en 为标准单位向量,则对任意 h,
N(h)=N(i∑hiei)≤i∑∣hi∣N(ei)≤(i∑N(ei)2)1/2∥h∥2=:C∥h∥2,
最后一步是 Cauchy–Schwarz(把 ∣hi∣ 与 N(ei) 分别看成两个 n 维向量的分量)。故 N 关于 ∥⋅∥2 是 Lipschitz 连续的。
再看单位球面 S={x:∥x∥2=1}:它是有界闭集,从而是紧集。连续函数 N 在 S 上取到最小值 m2 与最大值 M2;且 m2>0(若 N(u)=0 而 u∈S,由正定性得 u=0,与 u∈S 矛盾)。于是对任意 x=0,x/∥x∥2∈S,代入并乘回 ∥x∥2:
m2∥x∥2≤N(x)≤M2∥x∥2.
第三步:拼接。对两种范数分别写出上式, mα∥x∥2≤∥x∥α≤Mα∥x∥2 与 mβ∥x∥2≤∥x∥β≤Mβ∥x∥2,消去 ∥x∥2:
Mβmα∥x∥β≤∥x∥α≤mβMα∥x∥β,m=Mβmα>0, M=mβMα 只依赖 n 与范数对.∎
∎
例 1.3.2(新增) · 等价不等式的数值核对
取 x=(3,−5,1)T,n=3。计算三种范数并逐条核对显式不等式。
解
∥x∥1=3+5+1=9,∥x∥2=9+25+1=35≈5.916,∥x∥∞=max(3,5,1)=5。
逐条核对:∥x∥∞=5≤∥x∥2=5.916≤3×5=8.660 ✓;∥x∥2=5.916≤∥x∥1=9≤3×5.916=10.247 ✓;∥x∥∞=5≤∥x∥1=9≤3×5=15 ✓。三个范数读数不同,但若把 x 缩小 1000 倍,三个范数同时缩小 1000 倍——「趋于零」的行为一致。
∎
不需要指明用哪一种向量范数时,记号 ∥⋅∥ 就泛指任意一种向量范数(本教程后续章节遵循此约定)。向量的大小有了规矩,矩阵的大小同样需要——下一小节把同一套公理化搬到矩阵上。
矩阵范数是刻画矩阵「大小」的量,又称矩阵的模。它的定义与向量范数平行:
定义 1.3.2 · 矩阵范数
定义在 Rn×n 上的实值函数 ∥⋅∥ 称为矩阵范数(matrix norm),如果对任意 A,B∈Rn×n:
- 正定性:∥A∥≥0,当且仅当 A=O 时 ∥A∥=0;
- 齐次性:对任一数 k∈R,∥kA∥=∣k∣∥A∥;
- 三角不等式:∥A+B∥≤∥A∥+∥B∥;
- 乘法次可乘性:∥AB∥≤∥A∥∥B∥。
条件 (4) 是矩阵特有的,专门管乘法:误差分析里反复出现「∥Ae∥≤∥A∥∥e∥、∥ABe∥≤∥A∥∥B∥∥e∥」这样的链条,(4) 是它们的通行证。
矩阵计算里到处出现矩阵与向量的乘积,所以矩阵范数与向量范数最好配对使用:
定义 1.3.3 · 相容性
对于给定的向量范数 ∥⋅∥ 和矩阵范数 ∥⋅∥,如果对任一 x∈Rn 和任一 A∈Rn×n 满足
∥Ax∥≤∥A∥∥x∥,
则称所给的矩阵范数与向量范数是相容的(compatible)。
定义一种矩阵范数时,最好让它与某个向量范数相容;同一问题里两种范数并用,则必须相容。下述定理给出由向量范数制造相容矩阵范数的标准方法。
直觉 · 算子范数 = 「矩阵最多能把向量拉长几倍」
怎么由一个向量范数造出一个矩阵范数?问一个最自然的问题就够了:把 x 限制在单位球面上走一圈,Ax 的长度最大是多少?这个最大值就是 ∥A∥——矩阵 A 的最大拉伸倍数。把 A 作用在整个单位球上,得到一个椭球,∥A∥ 就是椭球的最长半轴。
这样一来相容性 ∥Ax∥≤∥A∥∥x∥ 几乎是同义反复:任何向量的拉伸倍数,当然不超过「最大拉伸倍数」。而 ∥A∥ 小,意味着 A 把一切向量都往短里压——这正是 1.3.5「扰动不放大」判据的几何来源。
定理 1.3.4(原书) · 从属范数(算子范数)
设在 Rn 中给定了一种向量范数 ∥⋅∥,对任一矩阵 A∈Rn×n,令
∥A∥=∥x∥=1max∥Ax∥.(1.2)
则由式 (1.2) 定义的 ∥⋅∥ 是一种矩阵范数,并且它与所给定的向量范数相容。(极大值存在:单位球面 {x:∥x∥=1} 是有界闭集,而 x↦∥Ax∥ 连续——理由同定理 1.3.3 的证明第二步。)
证明
先证相容性。对任意非零向量 y,y/∥y∥ 落在单位球面上,故
∥y∥∥Ay∥=A∥y∥y≤∥x∥=1max∥Ax∥=∥A∥ ⟹ ∥Ay∥≤∥A∥∥y∥,
y=0 时两边皆零,也成立。
再证式 (1.2) 满足矩阵范数四条件。
(1) A=O 时 ∥Ax∥=0 对一切 x,故 ∥A∥=0;A=O 时存在 x0 使 Ax0=0,取 x=x0/∥x0∥ 得 ∥A∥≥∥Ax∥>0。
(2) ∥kA∥=∥x∥=1max∥kAx∥=∣k∣∥x∥=1max∥Ax∥=∣k∣∥A∥。
(3) 对任意 A,B,
∥A+B∥=∥x∥=1max∥(A+B)x∥=∥x∥=1max∥Ax+Bx∥≤∥x∥=1max(∥Ax∥+∥Bx∥)≤∥x∥=1max∥Ax∥+∥x∥=1max∥Bx∥=∥A∥+∥B∥.
(4) 用相容性(对矩阵 A 与向量 Bx):
∥AB∥=∥x∥=1max∥A(Bx)∥≤∥x∥=1max∥A∥∥Bx∥=∥A∥∥x∥=1max∥Bx∥=∥A∥∥B∥.
∎
称式 (1.2) 定义的矩阵范数为从属于所给定向量范数的矩阵范数,又称矩阵的算子范数(operator norm)。设给定的向量范数为 ∥⋅∥p,则从属于它的矩阵范数仍记为 ∥⋅∥p,即 ∥A∥p=max∥x∥p=1∥Ax∥p,称 ∥A∥p 为矩阵 A 的 p-范数。由定理 1.3.4,矩阵 p-范数与向量 p-范数相容:
∥Ax∥p≤∥A∥p∥x∥p,A∈Rn×n, x∈Rn.
推论 · 单位矩阵的任何算子范数都等于 1
∥I∥=max∥x∥=1∥Ix∥=max∥x∥=1∥x∥=1。这条一行小推论在 1.3.4 是「F-范数不是算子范数」的关键依据,在定理 1.3.6 的证明里也要用到。
从属范数的定义式 (1.2) 要对单位球面上的一切 x 求最大,直接按定义算并不现实。好在三个 p-范数都有闭式公式。
直觉 · 「拉满」的思路:最坏输入长什么样
「最大拉伸倍数」什么时候取到?此时输入向量长什么样?
- 1-范数:输入的预算是「各 ∣xj∣ 之和为 1」。最坏情形是把全部预算押在一个分量上——而押在第 j 个分量上,输出就被第 j 列撑大,所以答案是绝对值和最大的列。
- ∞-范数:每个分量都被允许取到 ±1(反正只看最大者)。最坏情形是每个分量都拉满、符号与某一行对齐——于是答案是绝对值和最大的行。
- 2-范数:没有这么整齐的最坏输入,最大拉伸方向由 ATA 的特征向量决定——所以它必须开方、必须问特征值(椭球最长半轴)。
定理 1.3.5(原书) · 矩阵 1-范数、2-范数与 ∞-范数
设 A=[aij]∈Rn×n,则
∥A∥1=1≤j≤nmaxi=1∑n∣aij∣(列范数:绝对值最大的列和),
∥A∥2=λmax(ATA)(谱范数 spectral norm),
∥A∥∞=1≤i≤nmaxj=1∑n∣aij∣(行范数:绝对值最大的行和),
其中 λmax(ATA) 表示矩阵 ATA 的最大特征值。
证明
1-范数(列和)。设 ∥x∥1=1。记 W=max1≤j≤n∑i∣aij∣,则
∥Ax∥1=i=1∑nj=1∑naijxj≤i=1∑nj=1∑n∣aij∣∣xj∣=j=1∑n∣xj∣i=1∑n∣aij∣≤j=1∑n∣xj∣W=W∥x∥1=W.
故 ∥A∥1≤W。反过来取 x=er(第 r 个分量为 1,r 是取到列和最大值的列),∥er∥1=1 且 ∥Aer∥1=∑i∣air∣=W,故 ∥A∥1≥W。综合得 ∥A∥1=W。
2-范数(谱范数)。对 ∥x∥2=1,注意到
∥Ax∥22=(Ax)T(Ax)=xTATAx.
ATA 是对称半正定矩阵(xTATAx=∥Ax∥22≥0),故它的全部特征值非负;设
λ1≥λ2≥⋯≥λn≥0,
并设相应的标准正交特征向量为 u1,u2,⋯,un(对称矩阵必可正交对角化)。任何 x 可展开为 x=∑i=1nkiui(实数 ki),由正交性
∥x∥22=xTx=i=1∑nki2,∥Ax∥22=xTATAx=i=1∑nλiki2≤λ1i=1∑nki2=λ1∥x∥22.
故 ∥A∥2≤λ1。取 x=u1(单位向量):∥Au1∥22=λ1,等号达到。所以 ∥A∥2=λ1=λmax(ATA)。
∞-范数(行和)。设 w=max1≤i≤n∑j∣aij∣。对任意 x,
∥Ax∥∞=1≤i≤nmaxj=1∑naijxj≤1≤i≤nmaxj=1∑n∣aij∣∣xj∣≤1≤i≤nmax(j=1∑n∣aij∣)∥x∥∞=w∥x∥∞.
反向达到:设第 r 行取到 w,取 x=(sgnar1,sgnar2,⋯,sgnarn)T(sgn 为符号函数),则 ∥x∥∞=1 且
∥Ax∥∞≥j=1∑narjsgn(arj)=j=1∑n∣arj∣=w.
∎
记忆法:矩阵 1-范数是列和的最大值,∞-范数是行和的最大值——「1 竖着像一根列」。二者一般不相等(转置恰好交换它们:∥A∥1=∥AT∥∞)。谱范数没有手算捷径,流程固定:算 ATA → 求最大特征值 → 开方,完整算例见 例 1.3.3。
与奇异值的联系(课程预告)
λmax(ATA) 正是 A 的最大奇异值 σmax(A)。补充篇引入 SVD 后会看到:∥A∥2=σmax(A) 是「矩阵把单位球压扁成椭球的最大半轴」,几何含义远比「ATA 特征值的平方根」直观。奇异值分解的完整讨论见原书配套的现役教材第二、六章。
还有一种常用的矩阵范数:
定义 1.3.4 · Frobenius 范数
∥A∥F=(i=1∑nj=1∑naij2)1/2,A=[aij]∈Rn×n.
又称为 Frobenius(佛罗贝尼乌斯)范数或 Euclid 范数,也可记为 ∥⋅∥E——它就是把 A 的全部元素摊平当向量算的 2-范数。
原书此处说「可以证明……这些证明留给读者完成」。按本教程的约定,证明必须给出:
补全的证明(三组结论)
(a) ∥⋅∥F 满足矩阵范数四条件。(1)(2)(3):把 A 摊平为 n2 维向量后,∥⋅∥F 就是该向量上的 ∥⋅∥2,而正定、齐次、三角不等式是 2-范数的性质(定理 1.3.1)。(4) 次可乘性:把 B 按列分块 B=[b1,⋯,bn],则 AB 的第 j 列是 Abj,用下面 (b) 的相容性与 ∥A∥2≤∥A∥F(对最大奇异向量 v 用 (b):∥A∥2=∥Av∥2≤∥A∥F∥v∥2=∥A∥F):
∥AB∥F2=j=1∑n∥Abj∥22≤∥A∥22j=1∑n∥bj∥22≤∥A∥F2∥B∥F2.
(b) ∥⋅∥F 与向量范数 ∥⋅∥2 相容:对 A 的每一行用 Cauchy–Schwarz,
∥Ax∥22=i=1∑n(j=1∑naijxj)2≤i=1∑n(j=1∑naij2)(j=1∑nxj2)=∥A∥F2∥x∥22.
(c) ∥⋅∥F 不从属于任何向量范数(不是算子范数):任何算子范数都满足 ∥I∥=1(见 1.3.3 的推论),而对 n≥2,∥I∥F=n=1。
∎
例 1.3.3(原书例 6) · 五种范数全算一遍
设 x=(3,−5,1)T,
A=1−2351−8−202,
试求 ∥x∥p, ∥A∥p (p=1,2,∞) 以及 ∥A∥F。
解
向量的三种范数:
∥x∥1=3+5+1=9,∥x∥2=9+25+1=35,∥x∥∞=max(3,5,1)=5.
1-范数(列和)与 ∞-范数(行和):
∥A∥1=max(1+2+3, 5+1+8, 2+0+2)=max(6,14,4)=14,
∥A∥∞=max(1+5+2, 2+1+0, 3+8+2)=max(8,3,13)=13,
∥A∥F=1+25+4+4+1+0+9+64+4=112≈10.583.
2-范数(谱范数)——完整流程。先算 ATA(A 的三列是 (1,−2,3)T,(5,1,−8)T,(−2,0,2)T,各元素为对应两列的内积):
ATA=14−214−2190−264−268.
其特征方程
det(ATA−λI)=−λ3+112λ2−959λ+16=0
的最大根为 λ1≈102.66,所以
∥A∥2=λ1≈10.132.
验算的捷径(本教程补注):特征多项式的三个系数不必硬展开——λ 的一次项系数是全部二阶主子式之和 44+96+819=959,常数项是 det(ATA)=(detA)2=(−4)2=16,二次项系数是迹 14+90+8=112。数值复核(NumPy):λ1=102.66000272⋯,∥A∥2=10.13212726⋯,与原书一致。
∎
范数不是摆设。第一个真正的回报是:只用一个数 ∥A∥,就能断言 I±A 可逆,还能圈出逆的大小。
直觉 · 中学等比数列的矩阵版
你在中学就知道:∣r∣<1 时 1+r+r2+⋯=1−r1。定理 1.3.6 与 Neumann 级数就是这句话把「绝对值」换成「范数」后的矩阵版:
- ∥A∥<1 相当于 ∣r∣<1:A 是个「压缩」,反复乘只会越乘越小;
- I−A 不会把任何非零向量压成零(所以可逆)——就像 1−r 离 0 有明确的距离;
- (I−A)−1=I+A+A2+⋯,且「总放大率」不超过 1−∥A∥1。
第 2 章迭代法的收敛性证明,用的正是这一套。
定理 1.3.6(原书) · Neumann 界
设矩阵 A∈Rn×n 的某种矩阵范数满足 ∥A∥<1,则 I±A 为非奇异矩阵,并且当该种范数为算子范数时,还有
(I±A)−1≤1−∥A∥1.
证明
非奇异性。反证:假定 I±A 奇异,则齐次线性方程组 (I±A)x=0 有非零解,即存在 v=0 使
v=∓Av.
两边取范数——这里的向量范数取与所用矩阵范数相容的那一个(存在性见习题 B5;若矩阵范数本身就是算子范数,直接用它从属的向量范数):
∥v∥=∥Av∥≤∥A∥∥v∥.
因 ∥v∥>0,约去后得 ∥A∥≥1,与 ∥A∥<1 矛盾。故 I±A 必非奇异。
逆的界。由 (I−A)(I−A)−1=I 移项得
(I−A)−1=I+A(I−A)−1.
两边取(相容的)矩阵范数,用次可乘性:
(I−A)−1≤∥I∥+∥A∥(I−A)−1.
移项得 (1−∥A∥)(I−A)−1≤∥I∥。算子范数下 ∥I∥=1 且 1−∥A∥>0,故
(I−A)−1≤1−∥A∥1.
同理可证 (I+A)−1≤1−∥A∥1。
∎
定理 1.3.6 给出了逆的界,还有一个更强的「无穷版」——把 (I−A)−1 本身写成级数:
定理 1.3.7(新增) · Neumann 级数
设 ∥A∥<1(任一矩阵范数),则矩阵几何级数 k=0∑∞Ak=I+A+A2+⋯ 收敛,且
k=0∑∞Ak=(I−A)−1.
证明
记部分和 SN=∑k=0NAk。直接验证下面这个逐项相消的恒等式
(I−A)SN=(I−A)(I+A+⋯+AN)=I−AN+1.
由 ∥A∥<1 与定理 1.3.6,I−A 非奇异,故 SN=(I−A)−1(I−AN+1)=(I−A)−1−(I−A)−1AN+1。由次可乘性归纳得 ∥AN+1∥≤∥A∥N+1→0,故
N→∞limSN=(I−A)−1,且有余项估计(I−A)−1−SN≤1−∥A∥∥A∥N+1
(余项估计中用到 ∥I∥=1,故该估计要求该范数为算子范数;级数收敛与求和公式本身对任一矩阵范数都成立。)
∎
例 1.3.4(新增) · 界是紧的
取
A=0.1000.050.050.10000.050.10,
验证定理 1.3.6 的界。
解
∥A∥∞=max(0.15,0.15,0.15)=0.15<1,定理给出
(I−A)−1∞≤1−0.151=0.851≈1.17647.
实际计算(NumPy)(I−A)−1∞=1.176470588⋯——恰好等于界。原因:A 的每行、每列元素之和都是 0.15,故 1=(1,1,1)T 是 A 的特征向量(特征值 0.15),也是 (I−A)−1 的特征向量(特征值 1/0.85),从而 (I−A)−11=0.8511,其 ∞-范数正是 1/0.85。结论:定理 1.3.6 的常数不可再改进。
∎
课程预告 · 这个定理通向迭代法
第 2 章的迭代法把 Ax=b 改写为 x=Hx+d,产生序列 xk+1=Hxk+d。令 ek=xk−x∗(x∗ 为精确解),立得 ek+1=Hek,故 ek=Hke0:只要 ∥H∥<1(定理 1.3.6 的条件),任何初值都收敛到 x∗=(I−H)−1d,且误差满足 ∥ek∥≤∥H∥k∥e0∥(若只用相邻差估计初值,则 ∥e0∥≤∥x1−x0∥/(1−∥H∥))。1.2.4 的递推误差分析 δn=βnδ0 正是它的一维特例。老师在课堂上已经讲到了这一步的入口——分裂 A=N−P 与迭代格式 x(k+1)=Gx(k)+d、收敛定理「存在矩阵范数使 ∥G∥<1 则迭代收敛」,见第 4 讲精编;收敛理论的完整展开(ρ(G)<1 充要条件、误差估计与 Jacobi / Gauss–Seidel / SOR)见第 5 讲与第 6 讲。
范数的三种用法
- 给误差定大小:近似解 a 与真值 x 的距离就是一个数 ∥x−a∥——1.2 节所有「误差」的话术从此对向量生效。
- 当停机判据:迭代算法里「∥xk+1−xk∥≤ε 就停」是几乎所有求解器(第 2 章起)的出口条件;选哪把尺子直接决定「停得对不对」。
- 陈述稳定性:∥A∥<1 ⟹ 扰动不放大(定理 1.3.6);误差界、收敛率全部用范数书写。
四种常用范数怎么选:
| 范数 | 读数的含义 | 优点 | 典型场合 |
| ∥⋅∥∞ | 最大的那个分量误差 | 手算最快;「最坏分量」语义 | 误差上界、逐分量保证 |
| ∥⋅∥1 | 各分量误差之和 | 与稀疏性、列结构配合好 | 稀疏误差、稀疏解诱导(补充篇 2.4、2.6) |
| ∥⋅∥2 | 欧氏长度 | 几何直观;旋转不变;与内积 / 正交理论配套 | 最小二乘(补充篇 2.2)、谱分析(补充篇 2.5) |
| ∥⋅∥F | 全部元素的平方和 | 不依赖特征值,手算即得 | 差分近似、正交迭代的分析 |
由等价定理,收敛性结论与选择无关;但界的大小与选择有关——报误差时注明范数,是数值报告的基本礼仪。
直觉 · 推导骨架:两条链条相乘
要估计「右端的相对扰动 → 解的相对扰动」的放大倍数,只需两步放缩:
- 从 δb 放大到 δx:走 δx=A−1δb,放大倍数 ∥A−1∥;
- 把解的「分母」∥x∥ 换成右端的「分母」∥b∥:走 b=Ax,放大倍数 ∥A∥。
两个范数一乘,cond(A)=∥A∥∥A−1∥:右端相对误差最多被放大这么多次。cond 越大,方程组越「病态」——输入端一点风吹草动,输出端天翻地覆。
设 Ax=b(A 非奇异),右端受扰 b→b+δb,解随之 x→x+δx:A(x+δx)=b+δb,与原式相减得 Aδx=δb。完整推导相对误差界:
∥δx∥=∥A−1δb∥≤∥A−1∥∥δb∥;
另一方面 b=Ax 给出 ∥b∥≤∥A∥∥x∥,即 ∥x∥1≤∥b∥∥A∥。两式相乘:
∥x∥∥δx∥≤∥A∥∥A−1∥⋅∥b∥∥δb∥
这个放大倍数 cond(A)=∥A∥∥A−1∥ 就是矩阵问题的条件数——右端的相对扰动最多被放大 cond(A) 倍。从推导里还能顺带读出三件事:cond(A)≥1(因 1=∥I∥=∥AA−1∥≤∥A∥∥A−1∥);换算到相对误差界只用到了相容性与次可乘性(任何相容范数对都行);cond 的值依赖范数(但各范数下相差不超过与 n 有关的双向常数——范数等价性)。病态方程组的完整故事(含 2.3 节的原书处理)在第 2 章与补充篇 2.4 展开。
import numpy as np
rng = np.random.default_rng(42)
B = rng.normal(size=(5, 5))
print(np.linalg.norm(B, 2), np.linalg.svd(B, compute_uv=False)[0]) # 谱范数 = 最大奇异值
print(np.linalg.norm(B, 1), np.linalg.norm(B, np.inf), np.linalg.norm(B, 'fro'))
x = np.array([3., -5, 1.])
ninf, n2 = np.linalg.norm(x, np.inf), np.linalg.norm(x, 2)
print(ninf <= n2 <= 3**0.5 * ninf) # 等价不等式 ‖x‖∞ ≤ ‖x‖₂ ≤ √n‖x‖∞ (n=3)
print(np.linalg.cond(B, np.inf)) # cond = ||B||inf * ||B^{-1}||inf
2.8039574397739977 2.8039574397739964
3.7498421916288223 4.986752286846435 4.075347890702065
True
18.735127456931128
核对点:① ∥B∥2 与 σmax(B) 在机器精度内一致(2.8039574⋯);② 显式等价不等式成立;③ 手工乘出 ∥B∥∞∥B−1∥∞ 与 np.linalg.cond 一致。报告要求:把随机种子换掉重跑,确认三条结论对一切矩阵成立;再构造一个 cond≈1010 的矩阵(例如 B=diag(1,10−1,⋯,10−9) 的正交相似阵),预测并验证解 Bx=b 时丢几位有效数字。
公式速查 · 范数五件套
| 记号 |
公式 |
从属于 |
速算 |
| ∥x∥1 |
∑i∣xi∣ |
— |
加绝对值 |
| ∥x∥2 |
(∑ixi2)1/2 |
— |
欧氏长度 |
| ∥x∥∞ |
maxi∣xi∣ |
— |
挑最大 |
| ∥A∥1 |
maxj∑i∣aij∣ |
∥⋅∥1 |
列和取大 |
| ∥A∥2 |
λmax(ATA)=σmax(A) |
∥⋅∥2 |
算 ATA 开方 |
| ∥A∥∞ |
maxi∑j∣aij∣ |
∥⋅∥∞ |
行和取大 |
| ∥A∥F |
(∑i,jaij2)1/2 |
不从属任何范数 |
平方和开方 |
相容性:∥Ax∥p≤∥A∥p∥x∥p;等价性:∥x∥∞≤∥x∥2≤∥x∥1≤n∥x∥∞;定理 1.3.6:∥A∥<1⇒I±A 非奇异、∥(I±A)−1∥≤(1−∥A∥)−1;Neumann:∑Ak=(I−A)−1。
常见错误清单 · 自查六条
- 把 ∥AB∥=∥A∥∥B∥ 当等式。公理只保证 ≤(次可乘性),一般会严格小于。
- 把 ∥A∥F 当算子范数。∥I∥F=n=1 立刻露馅;F-范数相容但不从属。
- 把 ∥A∥2 写成 λmax(A)。正确公式是 λmax(ATA);只有对称半正定矩阵才有 ∥A∥2=λmax(A)。反例:A=(0010),λmax(A)=0 但 ∥A∥2=1。
- 行列混淆。矩阵 1-范数是列和、∞-范数是行和;与向量 1-范数、∞-范数同名不同物,靠「从属」关系记才不会翻车。
- 以为换范数会改变收敛结论。等价定理保证「收敛 / 发散」与范数无关;会被改变的是误差界的大小与停机的步数——报结果必须注明范数。
- 对非方阵套用 ∥A∥1「列和」公式而不检查定义。从属范数定义对 A∈Rm×n 同样成立(∥A∥:Rm×n→R),定理 1.3.5 的三条公式对长方形矩阵逐字成立;而矩阵范数四公理中的乘法结构(条件 4)只在两个矩阵可乘时才会用到。
课堂对照(2026 秋·庞刚)
本节在课堂上的讲法见第 2 讲精编(向量范数三公理逐条验证、从属范数的球面/八面体/盒子几何直观、相容关系 ∥Ax∥≤∥A∥∥x∥ 的完整板书证明)与第 3 讲精编(∥A∥1=最大列和的逐步推导、定理 1.3.6 的课堂应用:用 ∥A∥1=0.7<1 判 I+A 可逆免算行列式,以及高斯消去与列主元——正文第 2 章的先导)。