lorenz_ode


lorenz_ode, a Python code which approximates solutions to the Lorenz system of ordinary differential equations (ODE), which exhibit sensitive dependence on the initial conditions.

The Lorenz system, originally intended as a simplified model of atmospheric convection, has instead become a standard example of sensitive dependence on initial conditions; that is, tiny differences in the starting condition for the system rapidly become magnified. The system also exhibits what is known as the "Lorenz attractor", that is, the collection of trajectories for different starting points tends to approach a peculiar butterfly-shaped region.

The Lorenz system includes three ordinary differential equations:

        dx/dt = sigma ( y - x )
        dy/dt = x ( rho - z ) - y
        dz/dt = xy - beta z
      
where the parameters beta, rho and sigma are usually assumed to be positive. The classic case uses the parameter values
        beta = 8 / 3
        rho = 28
        sigma - 10
      

The initial conditions for this system are not often specified; rather, investigators simply note that the trajectories associated with two very close starting points will eventually separate. However, simply to get started, we can suggest the following starting values at t=0:

        x = 8
        y = 1
        z = 1
      

Licensing:

The computer code and data files described and made available on this web page are distributed under the GNU LGPL license.

Languages:

lorenz_ode is available in a C version and a C++ version and a FORTRAN90 version and a MATLAB version and an Octave version and a Python version.

Related Data and Programs:

arenstorf_ode, a Python code which describes an ordinary differential equation (ODE) which defines a stable periodic orbit of a spacecraft around the Earth and the Moon.

biochemical_linear_ode, a Python code which defines a linear biochemical ordinary differential equation (ODE).

biochemical_nonlinear_ode, a Python code which defines a nonlinear biochemical ordinary differential equation (ODE).

blowup_ode, a Python code which considers an ordinary differential equation (ODE) y'=y^2. whose solution "blows up" in finite time.

brusselator_ode, a Python code which defines the Brusselator ordinary differential equation (ODE) system.

dosage_ode, a Python code which uses a system of ordinary differential equations (ODE) to simulate the blood levels of a medicinal drug that should stay between medicinal and toxic limits.

exp_ode, a Python code which sets up an ordinary differential equation (ODE) whose solution is an exponential function.

flame_ode, a Python code which solves an ordinary differential equation (ODE) that models the growth of a ball of flame in a combustion process.

henon_heiles_ode, a Python code which solves the Henon-Heiles system of ordinary differential equations (ODE) which model the motion of a star around the galactic center.

humps_ode, a Python code which solves an ordinary differential equation (ODE) whose solution is a double hump curve.

kepler_ode, a Python code which defines the ordinary differential equations (ODE) for a Kepler two body gravitational problem.

kepler_perturbed_ode, a Python code which defines the ordinary differential equations (ODE) for a perturbed Kepler two body gravitational problem.

normal_ode, a Python code which sets up an ordinary differential equation (ODE) for the normal probability density function (PDF).

pendulum_double_ode, a Python code which defines the double pendulum ordinary differential equation (ODE).

pendulum_nonlinear_ode, a Python code which sets up the ordinary differential equations (ODE) that represent a nonlinear model of the behavior of a pendulum of length L under a gravitational force of strength G.

pendulum_ode, a Python code which sets up the ordinary differential equations (ODE) that represent a linear model of the behavior of a pendulum of length L under a gravitational force of strength G.

oscillator_ode, a Python code which defines the highly oscillatory ordinary differential equation (ODE).

predator_prey_ode, a Python code which solves a pair of predator prey ordinary differential equations (ODE).

quadex_ode, a Python code which solves a stiff ordinary differential equation (ODE), whose exact solution is a parabola, but for which errors grow exponentially.

quasiperiodic_ode, a Python code which sets up a system of ordinary differential equations (ODE) for a problem with a quasiperiodic solution.

rigid_body_ode, a Python code which solves the ordinary differential equations (ODE) representing the Euler equations for a rigid body with three unequal moments of inertia, originally proposed by Fred Krogh.

ripple_ode a Python code which solves an ordinary differential equation (ODE) whose family of solutions start as ripples and end as hyperbolas.

robertson_ode, a Python code which sets up a system of three nonlinear stiff ordinary differential equations (ODE) characterizing an autocatalytic chemical reaction.

roessler_ode, a Python code which defines the right hand side of the Roessler ODE system, which exhibits chaotic behavior.

rubber_band_ode, a Python code which defines and solves a set of ordinary differential equations (ODE) describing a mass suspended by a spring and rubber band, which can exhibit chaotic behavior.

sir_ode, a Python code which sets up the ordinary differential equations (ODE) which simulate the spread of a disease using the Susceptible/Infected/Recovered (SIR) model.

stiff_ode, a Python code which considers an ordinary differential equation (ODE) which is an example of a stiff ODE.

three_body_ode, a Python code which defines a set of ordinary differential equations (ODE) which simulates the behavior of three planets, constrained to lie in a plane, and moving under the influence of gravity, by Walter Gander and Jiri Hrebicek.

two_body_ode, a Python code which defines ordinary differential equations (ODE) which simulate the behavior of two bodies, constrained to lie in a plane, moving under the influence of gravity, with one body much more massive than the other.

vanderpol_ode, a Python code which defines the right hand side of the van der Pol oscillator ordinary differential equation (ODE).

zombie_ode, a Python code which sets up a system of ordinary differential equations (ODE) for a generalized SIR infection model to simulate a zombie attack, developed by Philip Munz.

Reference:

  1. Edward Lorenz,
    Deterministic Nonperiodic Flow,
    Journal of the Atmospheric Sciences,
    Volume 20, Number 2, 1963, pages 130-141.

Source Code:


Last revised on 24 May 2016.