Scientific Computing

This module explores the stability of Euler's method for 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. Such a numerical method
is said to be *stable* if small perturbations do not cause the
resulting numerical solutions to diverge without bound. This module
applies Euler's method to solve two-dimensional homogeneous linear
systems of ODEs with constant coefficients. Such a system has the form
** y** ′ =

The user begins by clicking *Random* to generate a
random^{†} coefficient matrix and initial value. The
generated coefficient matrix ** A** is printed below, and the
two components of the initial value are marked on the graph by red and
blue dots. The components of the exact solution to the initial value
problem are drawn on the graph with colors corresponding to those of
the components of the initial value. Starting from the initial value,
the user advances the numerical solution through successive steps using
Euler's method. Each step of Euler's method is presented as a
three-stage process. Each stage is executed by clicking either

- Using the slider, the user can select any desired size
*h*_{k}for the current step of Euler's method, subject to minimum and maximum allowed values. The provisional numerical solution that would result from the selected step size is shown in the graph, one component in gold and the other in dark cyan. The small graph at the upper right shows the stability region for Euler's method as a green disc in the complex plane. The eigenvalues of*h*_{k}for the selected step size are marked on the graph with dots, white for eigenvalues that fall within the stability region, black otherwise. For large step sizes, the eigenvalues may fall outside the displayed region of the complex plane, and thus not appear on the graph. Clicking*A**Choose Step Size*or*Next*fixes the selected step size and changes the colors of the newly determined portions of the numerical solution, each component matching the color of the exact solution component it approximates. - The current step is concluded by clicking
*Take Step*or*Next*. The exact solution to the ODE passing through the new approximate solution point is drawn on the graph, each component in a lighter shade of the color of the corresponding exact solution component. - Preparation for another step is initiated by clicking
*Next Step*or*Next*, which displays the provisional numerical solution for the next step, ready for selecting the new step size. The default step size is equal to the size of the previous step, if possible.

Successive steps can be continued until the the interval has been
fully traversed. The user can click *Reset* to start over with
the current initial value problem or *Random* to generate a new
initial value problem.

^{†}The randomly generated constant coefficient matrix
is not random in the sense of randomly generated entries. Rather, the
module strives to construct a matrix ** A** with entries
between −10 and 10 such that the eigenvalues of

**Reference:** Michael T. Heath, *Scientific Computing,
An Introductory Survey*, 2nd edition, McGraw-Hill, New York,
2002. See Section 9.3.2.

**Developers:** Evan VanderZee and Michael Heath