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:
w0PhaseSpacePosition, array_like

Initial conditions.

integratorIntegrator

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

dtnumeric

Timestep.

n_stepsint

Number of steps to run for.

d0numeric (optional)

The initial separation.

n_steps_per_pullbackint (optional)

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

noffset_orbitsint (optional)

Number of offset orbits to run.

t1numeric (optional)

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

unitsUnitSystem (optional)

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

Returns:
LEsQuantity

Lyapunov exponents calculated from each offset / deviation orbit.

orbitOrbit