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, rng=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 everyn_steps_per_pullbacksteps.- Parameters:
- w0
PhaseSpacePosition, array_like Initial conditions.
- integrator
Integrator An instantiated
Integratorobject. 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.- rng
numpy.random.Generator(optional) If provided, will use this random number generator to generate the initial offset vectors. If not provided, will use the default
numpy.random.default_rng().
- w0
- Returns: