五阶龙格-库塔法稳定域的疑惑

计算科学 数值分析 稳定 龙格库塔
2021-12-07 23:42:25

我在报纸上看到了一个令人费解的评论

PJ van der Houwen,用于偏微分方程的 Runge-Kutta 方法的发展,Appl。编号。数学。20:261, 1996

在第 264 页的第 8 行以下,van der Houwen 写道:

“对于泰勒多项式,这意味着的假想稳定区间是空的”p=1,2,5,6,9,10,

其中泰勒多项式是指 Runge-Kutta 方法的稳定性多项式(围绕的截断扩展),p 是阶数(参见第 263 页)。我假设我误解了一些东西,因为据我所知,五阶龙格-库塔方法没有空的假想稳定区间。据我记得,假想的极限大约是 3.4 左右。exp(x)x=0

我的误解是什么?

1个回答

van der Houwen 的陈述是正确的,但它并不是关于所有五阶 Runge-Kutta 方法的陈述。他所指的“泰勒多项式”是(如您所见)只是近似到阶次多项式:pexp(z)p

Pp(z)=j=1pzjj!

对于五阶多项式,结果表明对于小,因此作为其稳定性多项式的方法的稳定区域不包括原点的任何邻域在虚轴上确切地说,就是范德豪文所说的。|P5(iϵ)|>1ϵP5(z)

您最可能混淆的来源是“五阶龙格-库塔方法”的含义。有(无限)许多五阶 Runge-Kutta 方法,但最著名的方法没有作为其稳定性多项式。为什么? 正如约翰·布彻著名的证明,五阶龙格-库塔法必须至少有六个阶段通常,具有六个(或更多)阶段的方法的稳定性多项式将具有六次(或更多)。例如,此 Wikipedia 页面上列出的每个五阶方法都使用六个阶段,并且具有六次稳定性多项式。P5(z)

五阶方法是否有可能将作为其稳定性多项式?是的; 五阶显式外推方法(就像我的这篇论文中回顾的著名方法)可以做到这一点。另请注意,阶段 Runge-Kutta 方法将精确到 5 阶,但对于非线性 ODE 则不准确。P5(z)pP5(z)

最后,在确定高阶龙格-库塔方法的假想稳定区间范围时很容易出错。这是因为这种方法的稳定区域的边界非常靠近虚轴因此,舍入误差会导致错误的结论;只应使用精确的计算(当然,在这些情况下,稳定区域边界对于实际目的的相关性当然可以讨论)。

例如,这里是来自 Fehlberg 5(4) 对的五阶方法的稳定区域图: 费尔伯格稳定区

想象中的稳定区间是空的,但是从这个分辨率下的图片你看不出来!请注意,该区域清楚地包括虚轴的一部分,但没有关于原点的间隔。

同时,这里是来自 Dormand-Prince 5(4) 对的五阶方法的图:

DP5稳定区

它具有大约的虚构稳定区间。[1,1]

有关的虚轴附近稳定区域边界的精确表征(这非常有趣!),请参阅我最近的论文Pp(z)

您可能还对NodePy 包感兴趣,它生成了上面的图,可用于准确确定方法的虚构稳定性区间等内容(免责声明:我创建了 NodePy)。