Initial-value problems for ODEs

Without precise calculations we could fly right through a star or bounce too close to a supernova and that’d end your trip real quick, wouldn’t it?

—Han Solo, Star Wars: A New Hope

Quantities that change continuously in time or space are often modeled by differential equations. When everything depends on just one independent variable, we call the model an ordinary differential equation (ODE). Differential equations need supplemental conditions to define both the modeling situation and the theoretical solutions uniquely. The initial-value problem (IVP), in which all of the conditions are given at a single value of the independent variable, is the simplest situation. Often the independent variable in this case represents time.

Methods for IVPs usually start from the known initial value and iterate or “march” forward from there. There is a large number of them, owing in part to differences in accuracy, stability, and convenience. The most broadly important methods fall into one of two camps: Runge–Kutta and linear multistep formulas. Each type introduces its own complications, and we will consider them separately.

Important terms

Euler’s method

Prototype of all IVP solution methods, obtained by assuming constant derivatives for the solution over short time intervals.

initial-value problem

An ordinary differential equation (possibly vector-valued) together with an initial condition.

implicit

Describes a formula that defines a new solution value as the solution of an implicit equation.

local truncation error

Discretization error made in one time step of a solution method.

generating polynomials

A pair of polynomials whose coefficients match those of a multistep method for IVPs.

global error

Error made by a method over the entire time interval of the solution.

multistep

Formula using information over more than a single time step to advance the solution.

order of accuracy

Leading exponent of discretization size in the local truncation error, also equal to the leading exponent in the global truncation error.

Runge–Kutta

Describing a multistage method that evaluates the derivative of the solution more than once to advance a single step.

step size

Increment in time between successive solution values in a numerical IVP solver.

stiff

Describes an IVP in which stability is a greater restriction than accuracy for many solution methods.

Important Julia commands and keywords

DifferentialEquations

Package for solving ordinary differential equations in Julia.

ODEProblem

Defines an initial-value problem from the time derivative function, initial value, and time domain.

solve

Solves an initial-value problem (in DifferentialEquations package)