3. 矩阵与范数基础
在显式与隐式差分格式的稳定性分析中,我们反复遇到同一个问题:把误差向量 en 从第 n 层推进到第 n+1 层时,它会被放大还是被压制?写成矩阵形式就是 en+1 = G en,其中 G 称为放大矩阵(或迭代矩阵)。要回答"是否放大",就必须给向量和矩阵赋予"大小"的度量,这正是范数与谱半径的用武之地。本节把后续稳定性判据所需的工具集中梳理一遍,重点落在范数的相容性、诱导范数的计算,以及谱半径与范数之间的关系上。
向量范数:误差大小的度量
向量范数 ‖·‖ 是从 ℂm 到非负实数的映射,需满足正定性、齐次性与三角不等式。数值分析中最常用三种:
- 1-范数:
‖x‖1 = Σ|xi|,即分量绝对值之和,对应"总误差量"。 - 2-范数:
‖x‖2 = (Σ|xi|2)1/2,即欧氏长度,与能量、最小二乘直接相关。 - ∞-范数:
‖x‖∞ = maxi|xi|,即最大分量,对应"最坏单点误差"。
三者满足等价关系 ‖x‖∞ ≤ ‖x‖2 ≤ ‖x‖1 ≤ m‖x‖∞(m 为维数)。这个不等式在稳定性分析中很实用:若在某个范数下误差不增长,则在等价范数下误差至多增长一个与维数有关的常数因子,因此"稳定性"这一结论不因范数选择而本质改变,但放大常数的估计会不同。
矩阵范数与相容性
矩阵范数除了满足向量范数的三条公理外,还需满足次乘性(相容性):‖AB‖ ≤ ‖A‖‖B‖。这条性质是稳定性估计的命脉——只有它成立,才能把 ‖Gn‖ ≤ ‖G‖n 一步步推出来,从而得到 ‖en‖ ≤ ‖G‖n‖e0‖。若 ‖G‖ ≤ 1,误差被一致压制;若 ‖G‖ > 1,该估计只能给出指数上界,未必真实发散,但足以作为保守判据。
矩阵范数还须与向量范数相容:‖Ax‖ ≤ ‖A‖‖x‖。最自然的一类就是由向量范数诱导出来的算子范数:
‖A‖_p = max_{x≠0} ‖Ax‖_p / ‖x‖_p
它自动满足相容性,且是使 ‖Ax‖ ≤ ‖A‖‖x‖ 成立的最小矩阵范数。三种常用诱导范数有可直接计算的显式公式:
| 诱导范数 | 计算公式 | 几何含义 |
|---|---|---|
‖A‖1 | 各列绝对值之和的最大值 | 最大列和 |
‖A‖∞ | 各行绝对值之和的最大值 | 最大行和 |
‖A‖2 | σmax(A) = √λmax(A*A) | 最大奇异值 |
注意 ‖A‖2 不是最大特征值的模,而是最大奇异值;只有当 A 正规(如对称、正交)时二者才一致。这是初学者最易混淆之处。
谱半径与特征值分解
谱半径定义为特征值模的最大值:ρ(A) = maxi|λi(A)|。它刻画的是矩阵在"特征方向"上的长期放大率。核心结论是:
ρ(A) ≤ ‖A‖ 对任意相容矩阵范数成立;且 ρ(A) = inf‖·‖ ‖A‖,即谱半径是所有相容范数下范数的下确界。因此 ρ(A) < 1 是 An → 0 的充要条件,而 ‖A‖ < 1 只是充分条件。
若 A 可对角化,A = VΛV-1,则 An = VΛnV-1,于是 ‖An‖ ≤ κ(V)ρ(A)n,其中 κ(V) = ‖V‖‖V-1‖ 是特征向量矩阵的条件数。这解释了"瞬态增长"现象:即使 ρ(A) < 1,若 κ(V) 很大,前若干步误差仍可能先上升再衰减。对非正规矩阵,这一效应尤其显著,仅看谱半径会低估短期风险。
一个可手算的示例
设放大矩阵 G = [[0.8, 2.0], [0, 0.8]](上三角,特征值均为 0.8)。计算可得:ρ(G) = 0.8 < 1,长期收敛;但 ‖G‖∞ = max(2.8, 0.8) = 2.8 > 1,‖G‖1 = max(0.8, 2.8) = 2.8,‖G‖2 = σmax ≈ 2.04。若用范数判据会误判为"可能不稳定",而谱半径判据给出正确结论。反过来,若 G = [[0.6, 0.5],[0.5, 0.6]],对称,ρ = 1.1 > 1,‖G‖2 = 1.1,两种判据一致。这说明:范数判据保守但易算,谱半径判据精确但需特征值信息,实际分析中常先用范数快速筛查,再用谱半径或特征值分解确认。
实际计算中的操作要点
在编写稳定性分析代码时,建议按以下顺序处理。第一,明确放大矩阵的构造方式:对显式格式,G = I + Δt·L(L 为空间离散算子);对隐式格式,G = (I - Δt·L)-1。第二,优先计算 ‖G‖∞ 或 ‖G‖1,因为它们只需行和或列和,复杂度 O(m2),适合快速筛查。第三,若范数判据给出 ‖G‖ > 1 但接近 1,不要急于下"不稳定"结论,转而计算特征值:用 numpy.linalg.eigvals 得到谱半径,或用 numpy.linalg.svd 得到 ‖G‖2。第四,对非正规矩阵,额外估计 κ(V),判断是否存在瞬态增长风险。
实用提示:当 ρ(G) < 1 而 ‖G‖ > 1 时,说明矩阵非正规。此时可构造 Gε = G + εI 或使用相似变换 D-1GD 寻找使范数接近谱半径的等价范数,从而得到更紧的误差上界。这一技巧在分析对流占优问题的差分格式时尤为常用。