浅谈数值微分方程中的稳定性

时间:2024-03-10 11:06:16

本文写于资格考试前前夕,权以浅浅谈当整理复习

稳定性讨论主要基于 Finite Difference Methods for Ordinary and Partial Differential Equations (LeVeque, 2007)

首先大致梳理一下本文打算简单整理的稳定性:Zero Stability/Absolute Stability/A-Stability/L-Stability 以及 CFL condition。

稳定性初窥

稳定性(Stability)是数值格式的一种属性,表示我们的数值格式在合理的设置下不会胡来,即数值解是有收敛性的;

在某种意义下,格式的稳定性配合上"格式与问题的一致性(Consistency)",就能推出数值格式对于原问题的估计的收敛性(Convergence)。

然而很多时候一致性是非常好验证的,因此为了得到收敛性,我们必须对稳定性进行研究。

这里插一句,数值格式虽然都是基于问题产生的,但是一旦写出数值格式,它便描述了一种独立于原问题的计算行为。这种行为在某些合理的设置下可能是对原问题的一种逼近。

这种把格式行为和原问题独立开思考的方式,是 modified equation 方法分析方程的一个出发点。

为什么有这么多的稳定性

这里首先按强弱排个序:Zero Stability/Absolute Stability/A-Stability/L-Stability,再逐个介绍。

  1. Zero Stability: 在一致性保证下,等价于收敛性,于是指截断误差(LTE)随计算步长趋向0而趋向0;[资格考试前一小时更新:这个stability 应该是对测试函数\(u\'=0\)分析得到的]
  2. Absolute Stability: 上述稳定性仅保证步长趋向0时收敛,但并没有对步长给出建议,这个稳定性通过分析测试问题 \(u\'= \lambda u\),对步长给出建议;
  3. A-Stability: 然而在PDE 问题里,简单的半离散我们就能得到 \(\lambda \rightarrow \infty\) 的系统,于是我们希望Absolute Stability能覆盖整个左半复平面,这种情况叫A-Stability;
  4. L-Stability: 注意A-Stability包含一类情况是Absolute Stability Region 恰好为左半平面,这种时候无穷远处的点是边界点,其对应的收敛性是marginal convergence,于是我们希望无穷远处也是内点,即A-Stability + \(\lim_{z \rightarrow\infty} R(z) = 0\)

Von Neumann 分析

一种对于线性问题的简单分析稳定性的方法。

CFL condition

定义是 数值格式的依赖域要包含原问题的依赖域,是数值格式收敛的一个必要条件。

这个必要性可以从如下角度分析: 数值格式的依赖域不包含原问题的依赖域,那么在原问题不被包含的位置发生的变化将无法改变数值格式的结果,于是数值格式不收敛到原问题;

合理性可以这样看:如果数值格式的依赖域包含了原问题的依赖域,那么数值格式是原问题某种意义上的插值(尤其对于 Advection/Hyperbolic Equation)

不充分的例子可以参考用类似 LxW LxF 的格式求解Advection Equation的过程,CFL 给出的步长仅在合理的epsilon 下work,这里一个简单的例子就是利用前向Euler 离散时间,中心差分离散空间(epsilon = 0)

其他

关于 PDE 数值格式稳定性分析,最直接的方法还是直接分析半离散矩阵的特征值分布是否在 ODE 的 Absolute Stability Region 中。

Modified Equation 能描述数值格式的行为,自然也能给出一些稳定性信息。