Scientific Computing

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*)*t*_{k−n+1},
*y*_{k−n+1}),…,(*t*_{k},
*y*_{k})*y*_{k+1} at time *t*_{k+1} is
given by *y*_{k+1} =
*y*_{k} + *P*(*t*_{k+1})
− *P*(*t*_{k})*P*(*t*) is an antiderivative of *p*(*t*), the
unique polynomial of degree *n* − 1*f*(*t*_{k−n+1},
*y*_{k−n+1}),*f*(*t*_{k},
*y*_{k}).

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:

*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( and*t*_{k+1},*P*(*t*_{k+1}))( delimit the portions of each of these functions relevant to the current step (i.e., the interval*t*_{k+1},*p*(*t*_{k+1}))[ *t*_{k},*t*_{k+1}]).- 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