Skip to content

刚性常微分方程

Stiff ordinary differential equation · Stiff ODE · Stiffness

刻画快速衰减模态迫使显式方法使用远小于精度需求的步长这一方法相关现象,并说明隐式路线的能力与代价。

形式陈述

刚性没有覆盖所有非线性问题的单一无争议数值定义。一个可操作的刻画是:在给定时间区间、误差容差和数值方法下,解析解中同时存在快速衰减与慢速演化尺度;慢速轨道的精度允许步长 hacc 较大,但显式方法为保持绝对稳定不得不采用远小得多的 hstab。当

hstabhacc,

并且这项限制主导总成本时,称该计算呈现刚性。

对常系数线性系统

y=Ay,

A 正规且特征值实部均为负,每个模态的衰减时间约为

τi=1|Reλi|.

最短时间尺度可能只在初始瞬态中可见,却仍限制显式稳定步长;长时间解则由最慢模态控制。常见刚性比

maxi|Reλi|mini|Reλi|

只能作为这一特殊情形的尺度诊断。它不覆盖接近虚轴的振荡模态、非正规瞬态、时变矩阵或非线性轨道。

对非线性方程 y=f(t,y),通常沿数值轨道观察 Jacobian Jf(t,y) 的快速衰减方向、局部时间尺度和步长控制历史。刚性会随状态和时间出现或消失;换一种方法、容差或考察区间,原来刚性的计算也可能不再刚性。因此刚性是问题与求解过程的关系,不是贴在微分方程名称上的永久标签。

A-stable 方法的稳定域包含整个左半平面,能移除标量衰减模态的显式稳定上限;L-stable 方法还满足 R(z)0,会把极快衰减模态强力压低。A-stable 但非 L-stable 的梯形一步法在 zR(z)1,可能让已经无关的快速模态以交替符号长期残留。

隐式方法把稳定性代价转化为每步代数求解。一次步进可能需要构造或更新 Jacobian、分解稀疏矩阵、运行 Newton 迭代并检查内层残差。总成本应比较“显式方法的函数求值与拒步数”和“隐式方法的 Jacobian、线性求解及较少步数”,不能只比较接受步数。

求解器诊断可记录误差控制器原本建议的步长、因稳定或非线性求解导致的实际步长、拒绝步比例、Jacobian 估计尺度和线性/非线性迭代次数。反复把显式步压到远低于局部变化尺度,是刚性的实用信号;单次导数很大或一次拒步则不足以定性。

直觉

刚性系统像一条宽阔缓慢的主路旁连着极短而陡的排水沟。轨道很快掉进主路,此后只沿慢方向前进;显式方法却仍怕一步跨过排水沟的宽度后被弹到另一侧,所以必须用与已经消失的快瞬态相匹配的小步。隐式稳定方法允许跨过这条快尺度,但每一步要解一个代数问题来确定落点。

关键矛盾不是“变化快”,而是稳定性要求比分辨用户关心的解变化严格得多。若真实解本身持续快速振荡或产生尖峰,所有方法都可能因精度而需要小步,那是必须解析的物理尺度,不应仅凭步长小就称为刚性。

例子与边界

考虑

y=1000(ycost)sint,y(0)=0.

w=ycost,则 w=1000w,所以精确解为

y(t)=coste1000t.

初始快瞬态在约 103 的时间尺度衰减,此后解主要按 cost 缓慢变化。前向 Euler 对快模态要求

h21000=0.002

才不把衰减误算成增长,即使快项已经小到不影响用户容差,稳定限制仍然存在。这里不重复完整十步数值轨迹;限制本身已经展示 hstab 与慢解精度尺度的分离。

后向 Euler 对该标量快模态 L-stable,可以使用更大的稳定步长,却仍只有一阶精度。若步长大到无法分辨 cost 的变化,数值解依然不准确;若每步非线性方程没有求到与外层误差相称的容差,理论稳定函数也不再代表实际更新。

高频振荡 y=iωy 的特征值在虚轴上,解不会衰减。显式方法可能因稳定域或相位精度采用小步,但这与“快速衰减模态已不重要却继续限制步长”的刚性机制不同。带有大负特征值也不是充分定义:若终点短到快瞬态正是观测目标,小步可能由精度而非无谓稳定限制要求。

非正规 Jacobian 的特征向量可能高度不正交。即使全部特征值实部很负,扰动仍可先瞬时放大;反过来,只用最大 |λ| 也可能高估某些不可达方向的影响。可靠诊断需要结合矩阵范数、场值或实际步长历史,而不是把一个谱半径当成全部非线性刚性。

推论与应用

局部与全局误差说明精度控制怎样沿固定时间区间传播,本页则解释为何某些问题还要额外满足稳定域限制。隐式 Euler、Radau 或 BDF 等路线以不同方式扩展稳定域;具体算法页必须继续说明阶、非线性求解、Jacobian 复用和失败回退,不能只标注“A-stable”。

求解终止或切换方法时,应区分达到终点、误差容差未达、显式稳定限制导致预算耗尽,以及隐式 Newton/线性求解失败。把所有情况统一返回“步长过小”,会让使用者无法判断应改变容差、方法还是模型尺度。

参考资料
  • Ernst Hairer and Gerhard Wanner, Solving Ordinary Differential Equations II: Stiff and Differential-Algebraic Problems, 2nd rev. ed., Springer, 1996, Chs. IV–V.
  • Lawrence F. Shampine, Numerical Solution of Ordinary Differential Equations, Chapman & Hall, 1994, stiffness and practical solver behavior.
  • Germund G. Dahlquist, “A Special Stability Problem for Linear Multistep Methods,” BIT Numerical Mathematics 3, 1963.