2. 向量与矩阵范数回顾

条件数刻画的是“输入的小扰动会被放大多少倍”,而“大小”这件事在矩阵分析里必须用范数来度量。因此,在正式定义条件数之前,需要把向量范数与矩阵范数的定义、常用类型以及诱导范数的计算方式梳理清楚。本节的目标不是罗列公式,而是建立一条清晰的逻辑链:向量范数度量向量长度 → 矩阵范数度量矩阵作用强度 → 诱导范数把两者联系起来 → 条件数由此获得严格的度量基础。

一、向量范数:长度的公理化推广

向量范数是从向量空间到非负实数的一个映射 ‖·‖,对任意向量 x、y 和标量 α 满足三条性质:正定性(‖x‖ ≥ 0,且 ‖x‖ = 0 当且仅当 x = 0)、齐次性(‖αx‖ = |α|·‖x‖)、三角不等式(‖x + y‖ ≤ ‖x‖ + ‖y‖)。这三条性质保证了范数可以像“长度”一样使用。

最常用的三种向量范数是:

  • 1-范数:‖x‖₁ = Σ|xᵢ|,即各分量绝对值之和,也称曼哈顿范数。
  • 2-范数:‖x‖₂ = √(Σxᵢ²),即欧几里得长度,最常用。
  • ∞-范数:‖x‖∞ = max|xᵢ|,即最大分量绝对值,也称切比雪夫范数。

以 x = (3, −4, 1)ᵀ 为例:‖x‖₁ = 3 + 4 + 1 = 8;‖x‖₂ = √(9 + 16 + 1) = √26 ≈ 5.099;‖x‖∞ = max(3, 4, 1) = 4。可以看到,同一个向量在不同范数下的“长度”不同,但都满足范数公理。有限维空间中任意两种范数等价,即存在常数 c₁、c₂ 使 c₁‖x‖ₐ ≤ ‖x‖ᵦ ≤ c₂‖x‖ₐ,这保证了用不同范数讨论收敛性时结论一致,但具体数值会不同——这也是条件数必须注明所用范数的原因。

二、矩阵范数:从向量到算子的推广

矩阵范数同样满足正定性、齐次性和三角不等式,但矩阵还有乘法,因此额外要求次乘性:‖AB‖ ≤ ‖A‖·‖B‖。这一性质使得矩阵范数能够控制复合映射的放大倍数,是分析误差传播的关键。

矩阵范数分两大类。一类是元素型范数,直接把矩阵拉成向量来度量,例如 Frobenius 范数 ‖A‖_F = √(Σᵢⱼ aᵢⱼ²),它计算方便,但不与向量范数直接配套。另一类是诱导范数(也称算子范数),由向量范数“诱导”而来,定义为:

‖A‖ = max‖x‖ = 1 ‖Ax‖

其含义是:在所有单位向量中,矩阵 A 能把向量拉伸的最大倍数。等价地,‖A‖ = maxx≠0 ‖Ax‖ / ‖x‖。诱导范数天然满足次乘性,并且与向量范数相容:‖Ax‖ ≤ ‖A‖·‖x‖。这正是条件数分析所需要的“放大倍数上界”。

三、诱导范数的计算

三种常用诱导范数都有显式计算公式,无需真正做优化:

  • 1-范数(列和范数):‖A‖₁ = maxj Σᵢ|aᵢⱼ|,即各列绝对值之和的最大值。
  • ∞-范数(行和范数):‖A‖∞ = maxi Σⱼ|aᵢⱼ|,即各行绝对值之和的最大值。
  • 2-范数(谱范数):‖A‖₂ = √(λmax(AᵀA)),即 AᵀA 最大特征值的平方根,也就是 A 的最大奇异值 σmax。

前两者只需按行或按列求和取最大,计算量小;2-范数需要求特征值或奇异值,代价较高但几何意义最清晰——它就是最大奇异值。

记忆要点:1-范数看“列”,∞-范数看“行”,2-范数看“最大奇异值”。下标 1 对应列(纵向排列的分量相加),下标 ∞ 对应行,初学时容易混淆,可用“1 竖 ∞ 横”辅助记忆。

四、计算示例与几何直观

取矩阵 A = [[1, −2], [3, 4]]。按列求和:第 1 列 |1| + |3| = 4,第 2 列 |−2| + |4| = 6,故 ‖A‖₁ = 6。按行求和:第 1 行 1 + 2 = 3,第 2 行 3 + 4 = 7,故 ‖A‖∞ = 7。对 2-范数,计算 AᵀA = [[10, 10], [10, 20]],其特征值为 15 ± 5√5,最大特征值约 26.18,故 ‖A‖₂ ≈ 5.117。三个值各不相同,说明范数选择会直接影响数值结果。

下面的图示把三种诱导范数的计算路径并列呈现,并标出示例矩阵的计算结果,便于对照记忆。

诱导范数的三条计算路径(示例矩阵 A = [[1, −2], [3, 4]]) 矩阵 A [ 1 −2 ] [ 3 4 ] 1-范数 · 列和 ‖A‖₁ = maxⱼ Σᵢ|aᵢⱼ| 第1列:|1|+|3| = 4 第2列:|−2|+|4| = 6 ‖A‖₁ = 6 纵向求和,取最大列 ∞-范数 · 行和 ‖A‖∞ = maxᵢ Σⱼ|aᵢⱼ| 第1行:|1|+|−2| = 3 第2行:|3|+|4| = 7 ‖A‖∞ = 7 横向求和,取最大行 2-范数 · 谱范数 ‖A‖₂ = √λmax(AᵀA) AᵀA = [[10,10],[10,20]] λmax ≈ 26.18 ‖A‖₂ ≈ 5.117 最大奇异值 σmax

五、为条件数奠定基础

有了诱导范数,就可以严格表述“矩阵放大误差”的能力。对线性方程组 Ax = b,若 b 有扰动 Δb,解的变化满足 ‖Δx‖ ≤ ‖A⁻¹‖·‖Δb‖,而 ‖b‖ ≤ ‖A‖·‖x‖,两式相除得到相对误差放大关系:

‖Δx‖ / ‖x‖ ≤ ‖A‖·‖A⁻¹‖ · (‖Δb‖ / ‖b‖)

其中 κ(A) = ‖A‖·‖A⁻¹‖ 正是条件数。可以看到,条件数的定义完全建立在诱导范数之上:‖A‖ 度量 A 的最大拉伸,‖A⁻¹‖ 度量 A⁻¹ 的最大拉伸(即 A 的最小压缩的倒数),二者乘积刻画了最坏情况下的相对误差放大倍数。若改用 Frobenius 范数,虽然也能定义某种“条件数”,但它不与向量范数相容,误差界不再成立,因此标准条件数一律采用诱导范数。