LORENZ_ODE
The Lorenz System


LORENZ_ODE, an Octave code which describes solutions to the Lorenz system.

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 codes:

arenstorf_ode, an Octave 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, an Octave code which defines a linear biochemical ordinary differential equation (ODE).

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

brusselator_ode, an Octave code which defines the Brusselator ordinary differential equation (ODE) system.

double_pendulum_ode, an Octave code which defines the double pendulum ordinary differential equation (ODE).

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

henon_heiles_ode, an Octave 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, an Octave code which solves an ordinary differential equation (ODE) whose solution is a double hump curve.

kepler_ode, an Octave code which defines a Kepler two body gravitational problem.

kepler_perturbed_ode, an Octave code which defines a perturbed Kepler two body gravitational problem.

lorenz_cluster, an Octave code which takes a set of N points on a trajectory of solutions to the Lorenz equations, and applies the K-means algorithm to organize the data into K clusters.

lorenz_ode_test

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

oscillator_ode, an Octave code which defines the highly oscillatory ordinary differential equation (ODE).

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

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

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

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

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

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

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

rubber_band_ode, an Octave 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, an Octave code which sets up the ordinary differential equations (ODE) which simulate the spread of a disease using the Susceptible/Infected/Recovered (SIR) model.

sphere_ode, an Octave code which sets up the ordinary differential equations (ODE) which model motion on the surface of a sphere.

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

three_body_ode, an Octave code 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, an Octave code which simulates 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.

zombie_ode, an Octave 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 12 November 2020.