We begin with some standard definitions. A *differential equation*
is an equation involving an unknown function and its derivatives. A
differential equation is *ordinary* if the unknown function
depends on only one independent variable, often denoted *t*.
The *order* of the differential equation is the order of the
highest-order derivative in the equation. One speaks of a family, or
*system* of equations when more than one equation is involved. If
the equations are dependent on one another, they are said to be
*coupled*. A *solution* is any function satisfying the
equations. An *initial value problem* is present when there exist
subsidiary conditions on the unknown function and its derivatives, all
of which are given at the same value of the independent variable. In
principle, such an `initial condition' specifies a unique solution.
Questions about the existence and uniqueness of a solution, along with
further terminology, are discussed in any introductory text. (See
Chapter 1 of Birkhoff and Rota's Ordinary Differential
Equations. For this and other references relevant to `ode`

, see
section Bibliography on `ode`

and solving differential equations.)

In practical problems, the solution of a differential equation is usually not expressible in terms of elementary functions. Hence the need for a numerical solution.

A numerical scheme for solving an initial value problem produces an
approximate solution, using only functional evaluations and the
operations of arithmetic. `ode`

solves first-order initial value
problems of the form:

@ifnottex

x' = f(t,x,y,...,z)y' = g(t,x,y,...,z). . .z' = h(t,x,y,...,z)

given the initial values for each dependent variable at the initial
value of the independent variable *t*, i.e.,

x(a) = by(a) = c. . .z(a) = dt = a

@ifnottex
where *a,b,c,...,d* are constants.

@ifnottex
For `ode`

to be able to solve such a problem numerically, the
functions f,g,...,h must be expressed, using the usual operators
(*+*, *-*, ***, */*, and ^), in terms of
certain basic functions that `ode`

recognizes. These are the same
functions that the plotting program `gnuplot`

recognizes.
Moreover, each of f,g,...,h must be given explicitly. `ode`

cannot deal with a system in which one or more of the first derivatives
is defined implicitly rather than explicitly.

All schemes for numerical solution involve the calculation of an
approximate solution at discrete values of the independent variable
*t*, where the `stepsize' (the difference between any two
successive values of *t*, usually denoted *h*) may be
constant or chosen adaptively. In general, as the stepsize
decreases the solution becomes more accurate. In `ode`

, the
stepsize can be adjusted by the user.

Go to the first, previous, next, last section, table of contents.