Numerical ordinary differential equations
   HOME

TheInfoList



OR:

Numerical methods for ordinary differential equations are methods used to find numerical approximations to the solutions of
ordinary differential equation In mathematics, an ordinary differential equation (ODE) is a differential equation whose unknown(s) consists of one (or more) function(s) of one variable and involves the derivatives of those functions. The term ''ordinary'' is used in contrast ...
s (ODEs). Their use is also known as "
numerical integration In analysis, numerical integration comprises a broad family of algorithms for calculating the numerical value of a definite integral, and by extension, the term is also sometimes used to describe the numerical solution of differential equatio ...
", although this term can also refer to the computation of
integral In mathematics, an integral assigns numbers to functions in a way that describes displacement, area, volume, and other concepts that arise by combining infinitesimal data. The process of finding integrals is called integration. Along with ...
s. Many differential equations cannot be solved exactly. For practical purposes, however – such as in engineering – a numeric approximation to the solution is often sufficient. The
algorithm In mathematics and computer science, an algorithm () is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing ...
s studied here can be used to compute such an approximation. An alternative method is to use techniques from
calculus Calculus, originally called infinitesimal calculus or "the calculus of infinitesimals", is the mathematics, mathematical study of continuous change, in the same way that geometry is the study of shape, and algebra is the study of generalizati ...
to obtain a series expansion of the solution. Ordinary differential equations occur in many scientific disciplines, including
physics Physics is the natural science that studies matter, its fundamental constituents, its motion and behavior through space and time, and the related entities of energy and force. "Physical science is that department of knowledge which ...
,
chemistry Chemistry is the scientific study of the properties and behavior of matter. It is a natural science that covers the elements that make up matter to the compounds made of atoms, molecules and ions: their composition, structure, proper ...
,
biology Biology is the scientific study of life. It is a natural science with a broad scope but has several unifying themes that tie it together as a single, coherent field. For instance, all organisms are made up of cells that process hereditary ...
, and
economics Economics () is the social science that studies the production, distribution, and consumption of goods and services. Economics focuses on the behaviour and interactions of economic agents and how economies work. Microeconomics anal ...
. In addition, some methods in numerical partial differential equations convert the
partial differential equation In mathematics, a partial differential equation (PDE) is an equation which imposes relations between the various partial derivatives of a multivariable function. The function is often thought of as an "unknown" to be solved for, similarly to h ...
into an ordinary differential equation, which must then be solved.


The problem

A first-order differential equation is an
Initial value problem In multivariable calculus, an initial value problem (IVP) is an ordinary differential equation together with an initial condition which specifies the value of the unknown function at a given point in the domain. Modeling a system in physics or o ...
(IVP) of the form, where f is a function f:[t_0, \infty) \times \R^d \to \R^d, and the initial condition y_0 \in \R^d is a given vector. ''First-order'' means that only the first derivative of ''y'' appears in the equation, and higher derivatives are absent. Without loss of generality to higher-order systems, we restrict ourselves to ''first-order'' differential equations, because a higher-order ODE can be converted into a larger system of first-order equations by introducing extra variables. For example, the second-order equation can be rewritten as two first-order equations: and In this section, we describe numerical methods for IVPs, and remark that ''boundary value problems'' (BVPs) require a different set of tools. In a BVP, one defines values, or components of the solution ''y'' at more than one point. Because of this, different methods need to be used to solve BVPs. For example, the shooting method (and its variants) or global methods like finite differences,LeVeque, R. J. (2007). Finite difference methods for ordinary and partial differential equations: steady-state and time-dependent problems (Vol. 98). SIAM. Galerkin methods, or collocation methods are appropriate for that class of problems. The Picard–Lindelöf theorem states that there is a unique solution, provided ''f'' is
Lipschitz-continuous In mathematical analysis, Lipschitz continuity, named after German mathematician Rudolf Lipschitz, is a strong form of uniform continuity for functions. Intuitively, a Lipschitz continuous function is limited in how fast it can change: there ...
.


Methods

Numerical methods for solving first-order IVPs often fall into one of two large categories: linear multistep methods, or
Runge–Kutta methods In numerical analysis, the Runge–Kutta methods ( ) are a family of implicit and explicit iterative methods, which include the Euler method, used in temporal discretization for the approximate solutions of simultaneous nonlinear equations. T ...
. A further division can be realized by dividing methods into those that are explicit and those that are implicit. For example, implicit linear multistep methods include Adams-Moulton methods, and backward differentiation methods (BDF), whereas implicit Runge–Kutta methods include diagonally implicit Runge–Kutta (DIRK), singly diagonally implicit Runge–Kutta (SDIRK), and Gauss–Radau (based on Gaussian quadrature) numerical methods. Explicit examples from the linear multistep family include the Adams–Bashforth methods, and any Runge–Kutta method with a lower diagonal Butcher tableau is
explicit Explicit refers to something that is specific, clear, or detailed. It can also mean: * Explicit knowledge Explicit knowledge (also expressive knowledge) is knowledge that can be readily articulated, codified, stored and accessed. It can be expres ...
. A loose rule of thumb dictates that stiff differential equations require the use of implicit schemes, whereas non-stiff problems can be solved more efficiently with explicit schemes. The so-called general linear methods (GLMs) are a generalization of the above two large classes of methods.


Euler method

From any point on a curve, you can find an approximation of a nearby point on the curve by moving a short distance along a line
tangent In geometry, the tangent line (or simply tangent) to a plane curve at a given point is the straight line that "just touches" the curve at that point. Leibniz defined it as the line through a pair of infinitely close points on the curve. Mo ...
to the curve. Starting with the differential equation (), we replace the derivative ''y''′ by the finite difference approximation which when re-arranged yields the following formula : y(t+h) \approx y(t) + hy'(t) and using () gives: This formula is usually applied in the following way. We choose a step size ''h'', and we construct the sequence t_0, t_1 = t_0 + h, t_2 = t_0 + 2h,... We denote by y_n a numerical estimate of the exact solution y(t_n). Motivated by (), we compute these estimates by the following recursive scheme This is the '' Euler method'' (or '' forward Euler method'', in contrast with the ''backward Euler method'', to be described below). The method is named after
Leonhard Euler Leonhard Euler ( , ; 15 April 170718 September 1783) was a Swiss mathematician, physicist, astronomer, geographer, logician and engineer who founded the studies of graph theory and topology and made pioneering and influential discoveries ...
who described it in 1768. The Euler method is an example of an ''explicit'' method. This means that the new value ''y''''n''+1 is defined in terms of things that are already known, like ''y''''n''.


Backward Euler method

If, instead of (), we use the approximation we get the ''backward Euler method'': The backward Euler method is an ''implicit'' method, meaning that we have to solve an equation to find ''y''''n''+1. One often uses
fixed-point iteration In numerical analysis, fixed-point iteration is a method of computing fixed points of a function. More specifically, given a function f defined on the real numbers with real values and given a point x_0 in the domain of f, the fixed-point iterat ...
or (some modification of) the Newton–Raphson method to achieve this. It costs more time to solve this equation than explicit methods; this cost must be taken into consideration when one selects the method to use. The advantage of implicit methods such as () is that they are usually more stable for solving a stiff equation, meaning that a larger step size ''h'' can be used.


First-order exponential integrator method

Exponential integrators describe a large class of integrators that have recently seen a lot of development. This is a modern and extensive review paper for exponential integrators They date back to at least the 1960s. In place of (), we assume the differential equation is either of the form or it has been locally linearized about a background state to produce a linear term -Ay and a nonlinear term \mathcal(y). Exponential integrators are constructed by multiplying () by e^, and exactly integrating the result over a time interval _n, t_ = t_n + h/math>: : y_ = e^ y_n + \int_^ e^ \mathcal\left( y\left( t_n+\tau \right) \right)\, d\tau. This integral equation is exact, but it doesn't define the integral. The first-order exponential integrator can be realized by holding \mathcal( y( t_n+\tau ) ) constant over the full interval:


Generalizations

The Euler method is often not accurate enough. In more precise terms, it only has order one (the concept of ''order'' is explained below). This caused mathematicians to look for higher-order methods. One possibility is to use not only the previously computed value ''y''''n'' to determine ''y''''n''+1, but to make the solution depend on more past values. This yields a so-called ''multistep method''. Perhaps the simplest is the
leapfrog method In numerical analysis, leapfrog integration is a method for numerically integrating differential equations of the form \ddot x = \frac = A(x), or equivalently of the form \dot v = \frac = A(x), \;\dot x = \frac = v, particularly in the case of a d ...
which is second order and (roughly speaking) relies on two time values. Almost all practical multistep methods fall within the family of linear multistep methods, which have the form :\begin & \alpha_k y_ + \alpha_ y_ + \cdots + \alpha_0 y_n \\ & \quad = h \left \beta_k f(t_,y_) + \beta_ f(t_,y_) + \cdots + \beta_0 f(t_n,y_n) \right \end Another possibility is to use more points in the interval _n,t_/math>. This leads to the family of
Runge–Kutta methods In numerical analysis, the Runge–Kutta methods ( ) are a family of implicit and explicit iterative methods, which include the Euler method, used in temporal discretization for the approximate solutions of simultaneous nonlinear equations. T ...
, named after Carl Runge and Martin Kutta. One of their fourth-order methods is especially popular.


Advanced features

A good implementation of one of these methods for solving an ODE entails more than the time-stepping formula. It is often inefficient to use the same step size all the time, so ''variable step-size methods'' have been developed. Usually, the step size is chosen such that the (local) error per step is below some tolerance level. This means that the methods must also compute an ''error indicator'', an estimate of the local error. An extension of this idea is to choose dynamically between different methods of different orders (this is called a ''variable order method''). Methods based on
Richardson extrapolation In numerical analysis, Richardson extrapolation is a sequence acceleration method used to improve the rate of convergence of a sequence of estimates of some value A^\ast = \lim_ A(h). In essence, given the value of A(h) for several values of h, ...
, such as the
Bulirsch–Stoer algorithm In numerical analysis, the Bulirsch–Stoer algorithm is a method for the numerical solution of ordinary differential equations which combines three powerful ideas: Richardson extrapolation, the use of rational function extrapolation in Richardson ...
, are often used to construct various methods of different orders. Other desirable features include: * ''dense output'': cheap numerical approximations for the whole integration interval, and not only at the points ''t''0, ''t''1, ''t''2, ... * ''event location'': finding the times where, say, a particular function vanishes. This typically requires the use of a root-finding algorithm. * support for
parallel computing Parallel computing is a type of computation in which many calculations or processes are carried out simultaneously. Large problems can often be divided into smaller ones, which can then be solved at the same time. There are several different f ...
. * when used for integrating with respect to time, time reversibility


Alternative methods

Many methods do not fall within the framework discussed here. Some classes of alternative methods are: * ''multiderivative methods'', which use not only the function ''f'' but also its derivatives. This class includes ''Hermite–Obreschkoff methods'' and '' Fehlberg methods'', as well as methods like the Parker–Sochacki method or Bychkov–Scherbakov method, which compute the coefficients of the
Taylor series In mathematics, the Taylor series or Taylor expansion of a function is an infinite sum of terms that are expressed in terms of the function's derivatives at a single point. For most common functions, the function and the sum of its Taylor ser ...
of the solution ''y'' recursively. * ''methods for second order ODEs''. We said that all higher-order ODEs can be transformed to first-order ODEs of the form (1). While this is certainly true, it may not be the best way to proceed. In particular, '' Nyström methods'' work directly with second-order equations. * '' geometric integration methods'' are especially designed for special classes of ODEs (for example, symplectic integrators for the solution of Hamiltonian equations). They take care that the numerical solution respects the underlying structure or geometry of these classes. * '' Quantized state systems methods'' are a family of ODE integration methods based on the idea of state quantization. They are efficient when simulating sparse systems with frequent discontinuities.


Parallel-in-time methods

For applications that require
parallel computing Parallel computing is a type of computation in which many calculations or processes are carried out simultaneously. Large problems can often be divided into smaller ones, which can then be solved at the same time. There are several different f ...
on
supercomputer A supercomputer is a computer with a high level of performance as compared to a general-purpose computer. The performance of a supercomputer is commonly measured in floating-point operations per second ( FLOPS) instead of million instructio ...
s, the degree of concurrency offered by a numerical method becomes relevant. In view of the challenges from
exascale computing Exascale computing refers to computing systems capable of calculating at least "1018 IEEE 754 Double Precision (64-bit) operations (multiplications and/or additions) per second (exa FLOPS)"; it is a measure of supercomputer performance. Exascale ...
systems, numerical methods for
initial value problem In multivariable calculus, an initial value problem (IVP) is an ordinary differential equation together with an initial condition which specifies the value of the unknown function at a given point in the domain. Modeling a system in physics or o ...
s which can provide concurrency in temporal direction are being studied. Parareal is a relatively well known example of such a ''parallel-in-time'' integration method, but early ideas go back into the 1960s. In the advent of
exascale computing Exascale computing refers to computing systems capable of calculating at least "1018 IEEE 754 Double Precision (64-bit) operations (multiplications and/or additions) per second (exa FLOPS)"; it is a measure of supercomputer performance. Exascale ...
, time-parallel integration methods receive again increased attention. Algorithms for exponential integrators can leverage e.g., the standardized Batched
BLAS Basic Linear Algebra Subprograms (BLAS) is a specification that prescribes a set of low-level routines for performing common linear algebra operations such as vector addition, scalar multiplication, dot products, linear combinations, and mat ...
functions that allow an easy and efficient implementation of parallelized integrators.


Analysis

Numerical analysis Numerical analysis is the study of algorithms that use numerical approximation (as opposed to symbolic manipulations) for the problems of mathematical analysis (as distinguished from discrete mathematics). It is the study of numerical methods ...
is not only the design of numerical methods, but also their analysis. Three central concepts in this analysis are: * ''convergence'': whether the method approximates the solution, * ''order'': how well it approximates the solution, and * ''stability'': whether errors are damped out.


Convergence

A numerical method is said to be ''convergent'' if the numerical solution approaches the exact solution as the step size ''h'' goes to 0. More precisely, we require that for every ODE (1) with a
Lipschitz Lipschitz, Lipshitz, or Lipchitz, is an Ashkenazi Jewish (Yiddish/German-Jewish) surname. The surname has many variants, including: Lifshitz ( Lifschitz), Lifshits, Lifshuts, Lefschetz; Lipschitz, Lipshitz, Lipshits, Lopshits, Lipschutz (Lip ...
function ''f'' and every ''t''* > 0, : \lim_ \max_ \left\, y_ - y(t_n) \right\, = 0. All the methods mentioned above are convergent.


Consistency and order

Suppose the numerical method is : y_ = \Psi(t_; y_n, y_, \dots, y_; h). \, The ''local (truncation) error'' of the method is the error committed by one step of the method. That is, it is the difference between the result given by the method, assuming that no error was made in earlier steps, and the exact solution: : \delta^h_ = \Psi \left( t_; y(t_n), y(t_), \dots, y(t_); h \right) - y(t_). The method is said to be ''consistent'' if : \lim_ \frac = 0. The method has ''order'' p if : \delta^h_ = O(h^) \quad\mbox h\to0. Hence a method is consistent if it has an order greater than 0. The (forward) Euler method (4) and the backward Euler method (6) introduced above both have order 1, so they are consistent. Most methods being used in practice attain higher order. Consistency is a necessary condition for convergence, but not sufficient; for a method to be convergent, it must be both consistent and zero-stable. A related concept is the ''global (truncation) error'', the error sustained in all the steps one needs to reach a fixed time t. Explicitly, the global error at time t'' is y_N - y(t) where N = (t - t_0)/h. The global error of a p''th order one-step method is O(h^p); in particular, such a method is convergent. This statement is not necessarily true for multi-step methods.


Stability and stiffness

For some differential equations, application of standard methods—such as the Euler method, explicit
Runge–Kutta methods In numerical analysis, the Runge–Kutta methods ( ) are a family of implicit and explicit iterative methods, which include the Euler method, used in temporal discretization for the approximate solutions of simultaneous nonlinear equations. T ...
, or multistep methods (for example, Adams–Bashforth methods)—exhibit instability in the solutions, though other methods may produce stable solutions. This "difficult behaviour" in the equation (which may not necessarily be complex itself) is described as ''stiffness'', and is often caused by the presence of different time scales in the underlying problem. For example, a collision in a mechanical system like in an impact oscillator typically occurs at much smaller time scale than the time for the motion of objects; this discrepancy makes for very "sharp turns" in the curves of the state parameters. Stiff problems are ubiquitous in
chemical kinetics Chemical kinetics, also known as reaction kinetics, is the branch of physical chemistry that is concerned with understanding the rates of chemical reactions. It is to be contrasted with chemical thermodynamics, which deals with the direction in ...
,
control theory Control theory is a field of mathematics that deals with the control system, control of dynamical systems in engineered processes and machines. The objective is to develop a model or algorithm governing the application of system inputs to drive ...
, solid mechanics,
weather forecasting Weather forecasting is the application of science and technology to predict the conditions of the atmosphere for a given location and time. People have attempted to predict the weather informally for millennia and formally since the 19th cen ...
,
biology Biology is the scientific study of life. It is a natural science with a broad scope but has several unifying themes that tie it together as a single, coherent field. For instance, all organisms are made up of cells that process hereditary ...
, plasma physics, and
electronics The field of electronics is a branch of physics and electrical engineering that deals with the emission, behaviour and effects of electrons using electronic devices. Electronics uses active devices to control electron flow by amplification ...
. One way to overcome stiffness is to extend the notion of differential equation to that of
differential inclusion In mathematics, differential inclusions are a generalization of the concept of ordinary differential equation of the form :\frac(t)\in F(t,x(t)), where ''F'' is a multivalued map, i.e. ''F''(''t'', ''x'') is a ''set'' rather than a single point ...
, which allows for and models non-smoothness.


History

Below is a
timeline A timeline is a display of a list of events in chronological order. It is typically a graphic design showing a long bar labelled with dates paralleling it, and usually contemporaneous events. Timelines can use any suitable scale represen ...
of some important developments in this field. * 1768 -
Leonhard Euler Leonhard Euler ( , ; 15 April 170718 September 1783) was a Swiss mathematician, physicist, astronomer, geographer, logician and engineer who founded the studies of graph theory and topology and made pioneering and influential discoveries ...
publishes his method. * 1824 - Augustin Louis Cauchy proves convergence of the Euler method. In this proof, Cauchy uses the implicit Euler method. * 1855 - First mention of the multistep methods of
John Couch Adams John Couch Adams (; 5 June 1819 – 21 January 1892) was a British mathematician and astronomer. He was born in Laneast, near Launceston, Cornwall, and died in Cambridge. His most famous achievement was predicting the existence and position o ...
in a letter written by Francis Bashforth. * 1895 - Carl Runge publishes the first Runge–Kutta method. * 1901 - Martin Kutta describes the popular fourth-order Runge–Kutta method. * 1910 - Lewis Fry Richardson announces his
extrapolation method In mathematics, extrapolation is a type of estimation, beyond the original observation range, of the value of a variable on the basis of its relationship with another variable. It is similar to interpolation, which produces estimates between kno ...
,
Richardson extrapolation In numerical analysis, Richardson extrapolation is a sequence acceleration method used to improve the rate of convergence of a sequence of estimates of some value A^\ast = \lim_ A(h). In essence, given the value of A(h) for several values of h, ...
. * 1952 - Charles F. Curtiss and Joseph Oakland Hirschfelder coin the term '' stiff equations''. * 1963 - Germund Dahlquist introduces '' A-stability'' of integration methods.


Numerical solutions to second-order one-dimensional boundary value problems

Boundary value problems (BVPs) are usually solved numerically by solving an approximately equivalent matrix problem obtained by discretizing the original BVP.Ascher, U. M., Mattheij, R. M., & Russell, R. D. (1995). Numerical solution of boundary value problems for ordinary differential equations. Society for Industrial and Applied Mathematics. The most commonly used method for numerically solving BVPs in one dimension is called the Finite Difference Method. This method takes advantage of linear combinations of point values to construct finite difference coefficients that describe derivatives of the function. For example, the second-order
central difference A finite difference is a mathematical expression of the form . If a finite difference is divided by , one gets a difference quotient. The approximation of derivatives by finite differences plays a central role in finite difference methods for th ...
approximation to the first derivative is given by: : \frac = u'(x_i) + \mathcal(h^2), and the second-order
central difference A finite difference is a mathematical expression of the form . If a finite difference is divided by , one gets a difference quotient. The approximation of derivatives by finite differences plays a central role in finite difference methods for th ...
for the second derivative is given by: : \frac = u''(x_i) + \mathcal(h^2). In both of these formulae, h=x_i-x_ is the distance between neighbouring ''x'' values on the discretized domain. One then constructs a linear system that can then be solved by standard matrix methods. For example, suppose the equation to be solved is: : \begin & \frac -u =0,\\ & u(0)=0, \\ & u(1)=1. \end The next step would be to discretize the problem and use linear derivative approximations such as : u''_i =\frac and solve the resulting system of linear equations. This would lead to equations such as: : \frac-u_i = 0, \quad \forall i=. On first viewing, this system of equations appears to have difficulty associated with the fact that the equation involves no terms that are not multiplied by variables, but in fact this is false. At ''i'' = 1 and ''n'' − 1 there is a term involving the boundary values u(0)=u_0 and u(1)=u_n and since these two values are known, one can simply substitute them into this equation and as a result have a non-homogeneous linear system of equations that has non-trivial solutions.


See also

* Courant–Friedrichs–Lewy condition *
Energy drift In computer simulations of mechanical systems, energy drift is the gradual change in the total energy of a closed system over time. According to the laws of mechanics, the energy should be a constant of motion and should not change. However, in sim ...
* General linear methods * List of numerical analysis topics#Numerical methods for ordinary differential equations *
Reversible reference system propagation algorithm Reversible reference system propagation algorithm (r-RESPA) is a time stepping algorithm used in molecular dynamics.AR Leach. ''Molecular modelling: principles and applications'' 1998, p. 363 It evolves the system state over time, :\Gamma(t) = e ...
*
Modelica Modelica is an object-oriented, declarative, multi-domain modeling language for component-oriented modeling of complex systems, e.g., systems containing mechanical, electrical, electronic, hydraulic, thermal, control, electric power or process- ...
Language and
OpenModelica OpenModelica is a free and open source environment based on the Modelica modeling language for modeling, simulating, optimizing and analyzing complex dynamic systems. This software is actively developed by Open Source Modelica Consortium, a non- ...
software


Notes


References

* * J. C. Butcher, ''Numerical methods for ordinary differential equations'', *Ernst Hairer, Syvert Paul Nørsett and Gerhard Wanner, ''Solving ordinary differential equations I: Nonstiff problems,'' second edition, Springer Verlag, Berlin, 1993. . *Ernst Hairer and Gerhard Wanner, ''Solving ordinary differential equations II: Stiff and differential-algebraic problems,'' second edition, Springer Verlag, Berlin, 1996. .
''(This two-volume monograph systematically covers all aspects of the field.)'' * *Arieh Iserles, ''A First Course in the Numerical Analysis of Differential Equations,'' Cambridge University Press, 1996. (hardback), (paperback).
''(Textbook, targeting advanced undergraduate and postgraduate students in mathematics, which also discusses numerical partial differential equations.)'' *John Denholm Lambert, ''Numerical Methods for Ordinary Differential Systems,'' John Wiley & Sons, Chichester, 1991. .
''(Textbook, slightly more demanding than the book by Iserles.)''


External links

* Joseph W. Rudmin,
Application of the Parker–Sochacki Method to Celestial Mechanics
', 1998. * Dominique Tournès,

', thèse de doctorat de l'université Paris 7 - Denis Diderot, juin 1996. Réimp. Villeneuve d'Ascq : Presses universitaires du Septentrion, 1997, 468 p. (Extensive online material on ODE numerical analysis history, for English-language material on the history of ODE numerical analysis, see, for example, the paper books by Chabert and Goldstine quoted by him.) * * ( C++ library with rigorous ODE solvers)
INTLAB
(A library made by
MATLAB MATLAB (an abbreviation of "MATrix LABoratory") is a proprietary multi-paradigm programming language and numeric computing environment developed by MathWorks. MATLAB allows matrix manipulations, plotting of functions and data, implementat ...
/
GNU Octave GNU Octave is a high-level programming language primarily intended for scientific computing and numerical computation. Octave helps in solving linear and nonlinear problems numerically, and for performing other numerical experiments using a lan ...
which includes rigorous ODE solvers) {{DEFAULTSORT:Numerical Ordinary Differential Equations Ordinary differential equations