Interactive Educational Modules in
Scientific Computing

Adams-Bashforth Methods

This module illustrates explicit linear multistep Adams-Bashforth methods for numerically solving initial value problems for ordinary differential equations. A numerical method for an ordinary differential equation (ODE) generates an approximate solution step-by-step in discrete increments across the interval of integration, in effect producing a discrete sample of approximate values of the solution function. Adams-Bashforth methods are explicit linear multistep methods that depend on multiple previous solution points to generate a new approximate solution point. In an Adams-Bashforth method of order n, the solution is advanced at each step by integrating the interpolant of the derivative values at n previous solution points. Specifically, for an ODE y′ = f(t, y) and approximate solution points (tkn+1, ykn+1),…,(tk, yk), the approximate solution value yk+1 at time tk+1 is given by yk+1 = yk + P(tk+1) − P(tk) where P(t) is an antiderivative of p(t), the unique polynomial of degree n − 1 interpolating f(tkn+1, ykn+1),…,f(tk, yk).

The user begins by selecting a differential equation and a specific order Adams-Bashforth method from the menus provided. A solution value for the selected ODE at an initial time is marked with a blue dot in the left panel, and the exact solution curve for the resulting initial value problem is drawn in black. The derivative of the exact solution is drawn in black in the right panel, with the derivative at the initial time indicated by a blue dot. Next the user selects the total number of steps to be taken over the interval of integration. All but the first-order methods used in this module require multiple previous solution values, so some other method (e.g., a single-step method) must be used to generate sufficiently many solution values for a multistep method to become applicable. Here, clicking Initial Step generates these starting values one at a time using a Runge-Kutta method of the same order as the selected multistep pair. Results of each such step are drawn in the graph and recorded in the table below. When sufficiently many starting values have been generated, Initial Step is disabled and the selected Adams-Bashforth multistep method becomes available.

After completing any necessary initialization, the user advances the solution through the successive remaining steps using the selected Adams-Bashforth method. Each step is presented as a two-stage process. Each stage is executed by clicking either Next or the currently highlighted stage:

  1. Interpolate calculates the polynomial p(t) interpolating the derivative values at the n previous solution points. The interpolant p(t) is drawn in red in the right panel, and P(t), the antiderivative of p(t) passing through the most recent solution point, is drawn in the left panel, also in red. Red dots at (tk+1, P(tk+1)) and (tk+1, p(tk+1)) delimit the portions of each of these functions relevant to the current step (i.e., the interval [tk, tk+1]).
  2. The current step is concluded by clicking Take Step or Next, which changes the portions of the curves relevant to the current step from red to green and erases the remainder of the red curves along with the red point in the right panel. The new approximate solution point in the left panel changes color from red to blue, and the derivative value at the new solution point is added to the right panel, also represented by a blue dot. The exact solution to the ODE passing through the new solution point is drawn in the left panel in gray, and its derivative is drawn in the right panel, also in gray. In addition, the approximate and true solution values at the new point are recorded in the table below.

Reference: Michael T. Heath, Scientific Computing, An Introductory Survey, 2nd edition, McGraw-Hill, New York, 2002. See Section 9.3.8, especially Table 9.1.

Developers: Evan VanderZee and Michael Heath