与Adams-Bashforth算法相比,使用Adams-Moulton有哪些相对优势?


14

我正在计算两个空间维度和时间上两个耦合的PDE的系统。由于函数评估很昂贵,因此我想使用多步方法(使用Runge-Kutta 4-5初始化)。

使用五个先前的函数求值的Adams-Bashforth方法的全局误差为(在s = 5的情况下O(h5)s=5在下面引用的Wikipedia文章下),并且每步需要一个函数求值(每个PDE)。

另一方面,Adams-Moulton方法每个步骤需要进行两次功能评估:一项用于预测步骤,另一项用于校正步骤。再一次,如果使用五个函数求值,则全局误差为。(s = 4O(h5)s=4 Wikipedia文章中的)

那么,在Adams-Bashforth上使用Adams-Moulton的背后原因是什么?它具有相同数量级的错误,功能评估的次数是两倍。从直觉上讲,预测校正方法应该是有利的,但是有人可以对此进行定量解释吗?

参考:http : //en.wikipedia.org/wiki/Linear_multistep_method#Adams.E2.80.93Bashforth_methods


这个问题是错的。您指的是Adams-Moulton,这是一个完全隐式的方法,但是随后您实际讨论了使用预测器-校正器方法。他们是不一样的东西可言
David Ketcheson 2014年

@David我引用的Adams-Moulton方法(有时称为Adams-Bashforth-Moulton)是一种预测器-校正器方法。预测器步骤是使用Adams-Bashforth完成的。然后,将预测结果用于Adams-Moulton步骤中,以使其明确。如果不清楚,我可以为您提供更多详细信息。
SimonSciComp 2014年

很明显。但这不是亚当斯·穆尔顿的意思。您需要使用正确的名称。
David Ketcheson 2014年

Answers:


12

Adams-Moulton方法明显更稳定。教我时使用的类比区别与外推法和内插法相同。插值在数值上相对安全。如果您碰巧具有渐近线或其他奇特特征,则外推法可能会爆炸。

例如,解决颂歌

y 0 = 1y(t)=y(t)y(0)=1

随着时间步长的减少,使用三阶Adams-Bashforth方法实际上变得更加不稳定。通过添加校正器步骤,可以避免这种不稳定性。此处显示了两种方法的稳定性区域图:

在此处输入图片说明

λHλλH


λh

@SimonSciComp我在图表下方添加了更多说明。让我知道是否还有其他不清楚的地方。
Godric Seer 2014年

λh(λh)<0

1
λ
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.