This module illustrates predictor-corrector 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. In each step of a predictor-corrector method, an explicit method (the predictor) supplies an initial guess for the next solution value. A more stable and accurate implicit method (the corrector) is then used to improve the initial guess, solving the implicit equation by functional iteration. In practice the corrector is commonly applied a fixed number of times, often only once (PECE), but the full stability and accuracy of the implicit method are realized only if the corrector is iterated to convergence. The predictors and correctors used in this module are linear multistep Adams-Bashforth and Adams-Moulton methods, respectively, which use approximate solution values at multiple previous steps to compute the approximate solution value at the next step.
The user begins by selecting a differential equation and a specific predictor-corrector pair from the menus provided. A solution value for the selected ODE at an initial time is marked with a black dot, and the exact solution curve for the resulting initial value problem is drawn in black. 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 multistep predictor-corrector pair becomes available.
After completing any necessary initialization, the user advances the solution through the successive remaining steps using the selected predictor-corrector pair. Each step is presented as a three-stage process. Each stage is executed by clicking either Next or the currently highlighted stage:
Reference: Michael T. Heath, Scientific Computing, An Introductory Survey, 2nd edition, McGraw-Hill, New York, 2002. See Section 9.3.8, especially Example 9.14 and Table 9.1.
Developers: Evan VanderZee and Michael Heath