Many of the laws of physics are most conveniently formulated in terms of differential equations. It is therefore not surprising that the numerical solution of differential equations is one of the most common tasks in modeling physical systems. The most general form of an ordinary differential equation is a set of M coupled first-order equations

^ = f ( * ,y ) , (2.1)

where x is the independent variable and y is a set of M dependent vari­ ables ( f is thus an M-component vector). Differential equations of higher order can be written in this first-order form by introducing auxiliary func­ tions. For example, the one-dimensional motion of a particle of mass m under a force field F(z) is described by the second-order equation

= Fiz) ■ (2-2) If we define the momentum

/ \ dz P(t) = m - ,

then (2.2) becomes the two coupled first-order (Hamilton’s) equations

§ = = (2.3)at m at which are in the form of (2.1). It is therefore sufficient to consider in detail only methods for first-order equations. Since the matrix structure

of coupled differential equations is of the most natural form, our discussion of the case where there is only one independent variable can be generalized readily. Thus, we need be concerned only with solving

= / ( * , » ) (2.4)

for a single dependent variable y(x). In this chapter, we will discuss several methods for solving ordinary

differential equations, with emphasis on the initial value problem. That is, find y(x ) given the value of y at some initial point, say y(x = 0) = yo. This kind of problem occurs, for example, when we are given the initial position and momentum of a particle and we wish to find its subsequent motion using Eqs. (2.3). In Chapter 3, we will discuss the equally important boundary value and eigenvalue problems.