Take the 2-minute tour ×
Computational Science Stack Exchange is a question and answer site for scientists using computers to solve scientific problems. It's 100% free, no registration required.

I am solving a system of two coupled PDE's in two spatial dimensions and in time computationally. Since the function evaluations are expensive, I would like to use a multistep method (initialised using Runge-Kutta 4-5).

The Adams-Bashforth method using five previous function evaluations has a global error of $O(h^5)$ (this is the case where $s=5$ in the Wikipedia article referenced below), and requires one function evaluation (per PDE) per step.

The Adams-Moulton method on the other hand requires two function evaluations per step: one for the prediction step, and another for the corrector step. Once again, if five function evaluations are used, the global error is $O(h^5)$. ($s=4$ in the Wikipedia article)

So what is the reasoning behind using Adams-Moulton over Adams-Bashforth? It has an error of the same order, for twice the number of function evaluations. Intuitively it makes sense that a predictor-corrector method should be favourable, but can somebody explain this quantitatively?

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

share|improve this question
This question is wrong. You refer to Adams-Moulton, which is a fully implicit method, but then you discuss actually using a predictor-corrector method. They are not the same thing at all. –  David Ketcheson Jun 14 at 6:40
@David The Adams-Moulton method to which I refer (sometimes called Adams-Bashforth-Moulton) is a predictor-corrector method. The predictor step is done using Adams-Bashforth. The result of the prediction is then used in the Adams-Moulton step, such as to make it explicit. I can give you more detail if that is unclear. –  SimonSciComp Jun 15 at 17:20
It is clear. But it is not what is meant by Adams-Moulton. You need to use the correct names. –  David Ketcheson Jun 16 at 11:12
add comment

1 Answer 1

up vote 9 down vote accepted

Adams-Moulton method is significantly more stable. The analogy used when I was taught the difference is the same as extrapolation and interpolation. Interpolation is relatively safe numerically. Extrapolation can blow up if you happen to have an asymptote or some other odd feature.

For instance, solving the ode

$y'(t) = -y(t)$ with $y(0) = 1$

using the 3rd order Adams-Bashforth method actually becomes more unstable as the timestep is reduced. By adding the corrector step, you avoid much of this instability. A plot of the stability regions for the two methods are show here:

enter image description here

Plot taken from The Art of Scientific Computing by Gregory Baker and Edward Overman. $\lambda$ is the eigenvalue of your ODE, $h$ is the timestep. Note that $\lambda$ can be complex, so the plots are on the complex plain. If $\lambda h$ is inside the stable space, the ode will converge. If it is outside, eventually the time integration will become unstable. Note that for stability all eigenvalues of your ODE, or ODE system must be inside the stable region.

share|improve this answer
Thanks, Godric. Can you please define $\lambda$ and explain the axes of the two plots? I assume $h$ is the step size. I also don't understand "the solid line in (b), which is the imaginary axis, is not visible and the region is the left half plane." –  SimonSciComp Jun 13 at 12:32
@SimonSciComp I added some more explanation below the plot. Let me know if anything else is unclear. –  Godric Seer Jun 13 at 12:36
So, to paraphrase, the second order Adams-Moulton method is stable for all $\lambda h$ s.t. $\Re(\lambda h)<0$, while the third and fourth-order methods have further stability constraints. I may have to reconsider using a fifth-order method. –  SimonSciComp Jun 13 at 13:00
I am assuming that your math says $\lambda$ with negative real part. In that case the answer is yes. You likely want to use the highest order method you can without over constraining your time step. –  Godric Seer Jun 13 at 13:05
add comment

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.