lyapunov_max

gala.dynamics.nonlinear.lyapunov_max(w0, integrator, dt, n_steps, d0=1e-05, n_steps_per_pullback=10, noffset_orbits=8, t1=0.0, units=None)[source]

Compute the maximum Lyapunov exponent of an orbit by integrating many nearby orbits (noffset) separated with isotropically distributed directions but the same initial deviation length, d0. This algorithm re-normalizes the offset orbits every n_steps_per_pullback steps.

Parameters:

w0 : PhaseSpacePosition, array_like

Initial conditions.

integrator : Integrator

An instantiated Integrator object. Must have a run() method.

dt : numeric

Timestep.

n_steps : int

Number of steps to run for.

d0 : numeric (optional)

The initial separation.

n_steps_per_pullback : int (optional)

Number of steps to run before re-normalizing the offset vectors.

noffset_orbits : int (optional)

Number of offset orbits to run.

t1 : numeric (optional)

Time of initial conditions. Assumed to be t=0.

units : UnitSystem (optional)

If passing in an array (not a PhaseSpacePosition), you must specify a unit system.

Returns:

LEs : Quantity

Lyapunov exponents calculated from each offset / deviation orbit.

orbit : CartesianOrbit