lyapunov_spectrum

experimental.network_dynamics.analysis.lyapunov_spectrum(
    network,
    solver=None,
    t=1000.0,
    n=10,
    k=None,
    dt=0.1,
    t0=0.0,
    mode='jvp',
    d0=1e-09,
)

Estimate the Lyapunov spectrum of a network.

Parameters

Name Type Description Default
network Network required
solver solver instance, optional (default: Heun()) None
t float — segment duration in ms 1000.0
n int — number of rescaling steps 10
k int — number of exponents to compute (default: all D) None
dt float — integration timestep in ms 0.1
t0 float — simulation start time 0.0
mode str — "jvp" (default) uses tangent-space propagation via jax.linearize; exact and efficient for differentiable systems. “sim” uses finite-difference with d0-scaled perturbations; works for non-differentiable systems. 'jvp'
d0 float — perturbation magnitude (only used when mode="sim") 1e-09

Returns

Name Type Description
jnp.ndarray — top k Lyapunov exponents sorted descending (1/ms)

Notes

Exact for instantaneous (non-delayed) coupling only. Both modes propagate a point state (perturb/linearize only initial_state.dynamics) and reset the delay history buffer each rescaling step, so for delayed coupling the history is held fixed across segments: a good approximation only when t >> max_delay, not the true DDE spectrum (which would need tangents spanning the augmented history-buffer state).