## ordinary differential equations

## ordinary differential equations

**ordinary differential equations** Differential equations that involve one independent variable, which in practice may be a space or time variable. Except in simple cases the solution cannot be determined analytically and approximation methods are used.

Numerical methods are mainly developed for equations involving first derivatives only, written in the form ** y**′ =

**(**

*f**x*,

**),**

*y**a*←

*x*←

*b*,

where

**and**

*y***are**

*f**s*-component vectors with component functions

*y*(

_{i}*x*),

*f*(

_{i}*x*,

*y*

_{1}(

*x*),

*y*

_{2}(

*x*),…,

*y*(

_{s}*x*))

Equations involving higher derivatives can be equivalently written in this form by introducing intermediate functions for the higher derivatives. Alternatively direct methods may be derived for such problems (see Nyström methods).

In general,

*s*conditions must be imposed to determine a particular solution. If the values

**(**

*y**a*) =

*y*_{0}are specified, it is an

*initial-value problem*. These problems can be solved directly using step-by-step methods, such as Runge-Kutta methods, linear multistep methods, or extrapolation methods, which determine approximations at a set of points in [

*a,b*]. The problem is a

*boundary-value problem*if the

*s*conditions are given in terms of the component functions at

*a*and

*b*. In general, such problems require iterative methods, such as the shooting method. However, if

**is linear in**

*f***, finite-difference methods can be advantageous. Excellent software has been developed for both types of problem.**

*y*An area of particular interest in many applications is the solution of

*stiff equations*. A stiff system possesses solutions that decay very rapidly over an interval that is short relative to the range of integration, and the solution required varies slowly over most of the range. To allow large steps in the slowly varying phases, it is necessary to use special methods, such as the implicit

*trapezoidal rule*:

*x*

_{n}_{+1}=

*x*

*+*

_{n}*h*

*y*

_{n}_{+1}=

*y**+ ½*

_{n}*h*(

**(**

*f**x*

_{n}_{+1},

*y*

_{n}_{+1}) +

**(**

*f**x*,

_{n}

*y**))*

_{n}At each step a system of equations has to be solved for

*y*

_{n}_{+1}, using very often a modification of Newton's method. More straightforward explicit methods rapidly lead to catastrophic error growth unless the stepsize

*h*is prohibitively small. These problems are still the subject of very active research interest.