一个离散公式在 Taylor 展开中看起来很准确,并不保证反复计算以后仍然准确。PDE 数值方法中有三个相互衔接的问题:公式是否近似了原方程,计算是否会失控地放大微小扰动,以及网格加密后数值解是否真的接近精确解。
这三个问题分别由一致性、稳定性与收敛性 回答。最有用的组织方式是把误差看成一个受迫离散方程:一致性控制每次注入的误差,稳定性控制这些误差的后续传播,收敛性描述累积后的最终结果。
形式陈述
先说明比较的对象
设 u ( t ) 是连续问题的精确解,空间网格尺度为 h ,时间步长为 τ ,U n 是 t n = n τ 时刻的离散解。用 P h 表示把连续函数取样或投影到离散空间的操作。
离散误差可以写成
e n = U n − P h u ( t n ) . 若要比较连续函数,则再引入重构算子 I h ,研究 I h U n − u ( t n ) 。这两种误差之间还隔着 I h P h u − u 的空间表示误差;它不应被悄悄省略。
还必须指定范数。例如一维等距网格上的
‖ V ‖ 2 , h = ( h ∑ j | V j | 2 ) 1 / 2 对应连续 L 2 大小;普通 Euclidean 范数少了 h 因子。在每一个固定网格上,有限维范数当然等价,但等价常数可能随 h 变化。收敛分析关心的是一族越来越细的网格,所以这个依赖不能忽略。
一致性:把精确解放进离散公式
考虑线性一步格式
U n + 1 = S h , τ U n + τ F h n . 把精确解的网格值代进去,定义单位时间的离散缺陷
d n = P h u ( t n + 1 ) − S h , τ P h u ( t n ) τ − F h n . 若对足够光滑的解,在固定时间区间 0 ≤ t n ≤ T 内有
max n ‖ d n ‖ h ⟶ 0 , 就得到相应的一致性。若 ‖ d n ‖ h = O ( τ p + h q ) ,则描述了这个缺陷的时间阶和空间阶。
另一些教材把未除以 τ 的
ρ n = τ d n 称作局部截断误差 理路 离散化误差与截断误差 Discretization error · Truncation error 区分连续问题的离散缺陷与离散解的全局误差,并说明一致性为何不能单独保证收敛。 。两种约定都可以使用,但不能把它们的阶直接混在一起。固定时间内大约有 T / τ 步:单步缺陷 O ( τ p + 1 ) 累积后通常对应 O ( τ p ) ,而不是仍然保持原来的阶。[1]
热方程上的展开
对 u t = κ u x x 使用时间前向差分、空间中心差分:
U j n + 1 − U j n τ = κ U j − 1 n − 2 U j n + U j + 1 n h 2 . 代入精确解,并用 u t = κ u x x 消去主项,得到
d j n = τ 2 u t t ( x j , t n ) − κ h 2 12 u x x x x ( x j , t n ) + O ( τ 2 + h 4 ) . 在相关导数一致有界时,缺陷为 O ( τ + h 2 ) 。这是一项局部陈述:它既没有使用数值解,也没有说明误差经过成千上万次更新后会怎样。
稳定性:控制完整的传播过程
对上述齐次一步算子,固定时间稳定性的典型要求是
sup n τ ≤ T ‖ S h , τ n ‖ h ≤ C T , 其中 C T 可以依赖 T ,但不能随着允许的网格加密而发散。它约束的是整段传播算子,而不仅是某一次更新的矩阵元素。
较强且容易使用的条件是
‖ S h , τ ‖ h ≤ 1 + C τ . 由此 ‖ S h , τ n ‖ h ≤ ( 1 + C τ ) n ≤ e C T 。所以稳定并不要求每一步都严格缩小。反过来,若只能证明 ‖ S h , τ ‖ h ≤ 1.01 ,这个与 τ 无关的上界在 T / τ 步后可能变得极大,不能据此推出网格一致的稳定性。
稳定性总是相对于选定的网格族 。显式热方程格式通常限制 κ τ / h 2 ≤ 1 / 2 ;它在这个族上稳定,并不意味着把 h 减半而保持 τ 不变后仍稳定。边界处理也是算子的一部分,内部模板的估计不能自动覆盖边界更新。
直觉
收敛性:用误差方程把两者接起来
按前面的符号,精确解的网格值满足
P h u ( t n + 1 ) = S h , τ P h u ( t n ) + τ F h n + τ d n . 与数值格式相减,得到
e n + 1 = S h , τ e n − τ d n . 反复展开:
e n = S h , τ n e 0 − τ ∑ j = 0 n − 1 S h , τ n − 1 − j d j . 右端第一项是初值误差的传播,第二项是各步新误差的传播与叠加。若格式稳定,则
max n τ ≤ T ‖ e n ‖ h ≤ C T ( ‖ e 0 ‖ h + T max j ‖ d j ‖ h ) . 因此,一致性加上初值逼近和稳定性,就给出收敛性。在热方程例子中,若稳定步长条件成立,边界闭合具有匹配精度,且初值离散误差为 O ( h 2 ) ,便可得到
max n τ ≤ T ‖ e n ‖ h = O ( τ + h 2 ) . 这一推导也说明如何纳入浮点误差和线性求解误差:把它们写成每步额外的扰动,再通过同一个传播式估计。它们不会因为不属于 Taylor 截断误差就停止累积。
例子与边界
两个反例把逻辑分开
稳定,但根本没有逼近原方程
仍要解热方程,却使用“冻结”格式
U n + 1 = U n . 其传播算子是恒等映射,所以每个范数下都稳定。可是取初值 u ( x , 0 ) = sin ( π x ) 和零 Dirichlet 边界时,精确解为
u ( x , t ) = e − κ π 2 t sin ( π x ) , 数值解却一直保持初始振幅。固定 t > 0 后,无论网格多细,这个时间演化误差都不消失。稳定性保障的是“不会把扰动任意放大”,不是“算的就是正确方程”。
一致,但在所选网格族上不稳定
对平流方程 u t + a u x = 0 ,取 a ≠ 0 ,使用时间前向、空间中心格式:
U j n + 1 = U j n − ν 2 ( U j + 1 n − U j − 1 n ) , ν = a τ h . 它在光滑解上具有 O ( τ + h 2 ) 的单位时间缺陷。然而在周期网格上,对 Fourier 模态 e i j θ ,每一步乘上
G ( θ ) = 1 − i ν sin θ , | G ( θ ) | 2 = 1 + ν 2 sin 2 θ . 考虑 ν 固定非零、τ → 0 的网格族,并选节点数能被 4 整除的周期网格,便有实际允许的频率 θ = π / 2 。在 n = ⌊ T / τ ⌋ 步后,振幅放大为
| G ( π / 2 ) | n = ( 1 + ν 2 ) ⌊ T / τ ⌋ / 2 ⟶ ∞ . 这是某个真实离散模态的精确放大率 ,因此足以证明该网格族不稳定。若只得到一个随 h 发散的上界,尚不能证明真实误差也发散;一个很松的上界同样可能发散。
网格族改变,结论也可能改变。因为
| G ( θ ) | n ≤ exp ( a 2 T τ 2 h 2 ) , 当 τ / h 2 一致有界时,这个周期标量格式在有限时间的离散 ℓ 2 意义下具有一致幂界。它仍然不是通常采用的有效平流离散,但这项事实说明:不能把“固定 Courant 数时不稳定”改写成“在任何步长约束下都不稳定”。详细模态分析见von Neumann 稳定性分析 理路 von Neumann 稳定性分析 von Neumann stability analysis · Fourier stability analysis · Amplification factor analysis 把周期常系数差分格式分解为 Fourier 模态,计算放大因子,并区分稳定性、阻尼、相位误差与适用边界。 。
推论与应用
椭圆边值问题中的同一结构
对没有时间变量的离散系统 A h U = b h ,假设 A h 可逆,并固定残差空间与解空间的范数;以下逆算子界均相对于这两个范数。误差关系更直接:设
r h = A h P h u − b h , 则
U − P h u = − A h − 1 r h . 一致性控制残差 r h ,稳定性控制从残差到解的逆算子 A h − 1 ,收敛性控制二者的乘积。这与演化问题的“传播并累加”是同一种逻辑,只是求逆替代了时间上的递推。
缩放方程时,残差和逆算子必须一起变化。例如将 A h U = b h 两边乘上 h 2 ,新残差会小 h 2 ,新逆算子却会大 h − 2 。仅看到残差阶提高,就宣称格式更准确,是把代数缩放误当成数值改进。
对有限元方法 理路 有限元方法 Finite element method · FEM · Finite element discretization 从弱形式与帽函数出发,完整构造局部单元、组装并求解小系统,再用能量与逼近解释误差阶和边界处理。 ,弱问题中的强制性、Galerkin 正交性与插值误差也形成“稳定结构加逼近能力”的组合。不过,相应误差范数和残差空间通常与点值差分不同,不能机械套用同一个矩阵范数公式。
Lax 定理究竟补充了什么
以上误差递推给出了“稳定加一致推出收敛”的正向机制。Lax–Richtmyer 等价定理 理路 Lax–Richtmyer 等价定理 Lax-Richtmyer equivalence theorem · Lax equivalence theorem 在明确的线性演化与一致性框架中,以误差递推和一致有界原理说明稳定性与收敛性为何等价。 进一步说明:对满足其假设的良定线性初值问题和一致线性离散族,稳定性也是收敛的必要条件。
其中“收敛”要求对规定空间中的每个初值成立,稳定性要求在同一有限时间与网格族上成立。只检查几个光滑初值,或在一个固定网格上得到小误差,都不等于满足了定理前提。必要性所用的一致有界原理,也说明为什么 Banach 空间和算子线性不能被随意删去。
非线性守恒律中还需要区分弱解、熵解及冲击波附近的行为。Lax–Wendroff 型收敛定理 理路 守恒律的 Lax–Wendroff 定理 Lax-Wendroff theorem for conservation laws · Lax–Wendroff weak limit theorem · 守恒格式极限定理 断言一致守恒格式的有界收敛网格解以弱解为极限,同时明确定理不证明收敛或熵可容许性。 处理的是另一组假设下“若收敛,极限满足什么方程”的问题,不是把线性等价定理中的矩阵换成非线性算子即可得到的结果。
实际分析时的顺序
分析一个新格式,可以沿着一条误差链推进:把精确解代入完整格式 求缺陷,写出数值解与精确解的差分关系,再寻找与物理结构匹配的范数来控制传播或求逆。最后才把各项估计组合成收敛阶。
网格加密实验负责检查这种推导是否与实现一致。误差比接近预期值是有用证据,但它不能替代对稳定区间、边界闭合和解正则性的说明。一个完整结论应让读者知道:在哪类方程、哪种网格族、哪个时间范围以及什么范数中,这条误差链确实闭合。
误差范数及算子界应在明确的赋范向量空间 理路 赋范向量空间 Normed vector space 带满足正定、齐次与三角不等式范数的向量空间。 中解释;有限差分法 理路 偏微分方程有限差分法 Finite-difference method for PDE · Finite-difference PDE discretization · Difference stencil 由 Taylor 展开构造 PDE 差分模板,完整处理编号与边界,并用小系统、离散能量和制造解检验计算。 是检验这一分析框架的典型实例。
参考资料
[1] John C. Strikwerda, Finite Difference Schemes and Partial Differential Equations , 2nd ed., SIAM, 2004,一致性、稳定性、Fourier 分析与收敛。
[2] Robert D. Richtmyer and K. W. Morton, Difference Methods for Initial-Value Problems , 2nd ed., Interscience, 1967,线性初值问题的稳定性框架。
[3] Lloyd N. Trefethen, Finite Difference and Spectral Methods for Ordinary and Partial Differential Equations , 1996,有限时间稳定性和不同网格缩放下的 Fourier 分析。
[4] Randall J. LeVeque, Finite Difference Methods for Ordinary and Partial Differential Equations , SIAM, 2007,局部缺陷、全局误差及实际差分格式。