conatus.expert.lyapunov_spectrum

conatus.expert.lyapunov_spectrum(solver, x0, *, n_vectors, transient_steps, tangent_transient_steps, steps, reortho_every, inner, n_blocks, seed, project=None, clv_window=0, clv_backward_transient=0, clv_keep_every=1, rhs='batched', progress=None, clv_checkpoints=None)[source]

Lyapunov exponents (and optionally CLVs) of solver’s discrete map.

x0: one state (n,) or B states (B, n) (independent trajectories, one batch). n_vectors: k tangent vectors per trajectory (the k leading exponents). transient_steps: trajectory only; tangent_transient_steps: trajectory + tangent, no averaging (aligns the vectors); steps: averaging (multiple of reortho_every). seed: the initial tangent vectors of each trajectory are drawn from (seed, its start state): a trajectory’s exponents do not depend on its place in the batch. inner: "euclidean" (on the coefficient vector) or a positive diagonal weight (n,); the exponents do not depend on it, the finite-time values and the CLV angles do. project: optional callable V -> P V (tangent vectors restricted to an invariant subspace, e.g. zero mean for KS), applied before every QR; declared in explain(). clv_window intervals (> 0: covariant vectors over the last window of the run, after clv_backward_transient more intervals), kept every clv_keep_every interval. progress: optional callable(interval index, n_intervals) for logging. clv_checkpoints: memory of the covariant pass. None stores every (Q_j, X_j) of the window and backward transient (the former behaviour); an integer s stores only the R matrices (k x k per interval) and s checkpoints (Q, X) at evenly spaced intervals: the backward pass recomputes each segment’s Q_j forward from its checkpoint (one extra forward pass over the stored intervals, memory s + ceil(n_store / s) sets of k vectors instead of n_store). The recomputed R are compared to the stored ones (res.clv_recompute_deviation, 0 when the arithmetic is deterministic); the stored R are the ones used.

Parameters:
  • n_vectors (int)

  • transient_steps (int)

  • tangent_transient_steps (int)

  • steps (int)

  • reortho_every (int)

  • n_blocks (int)

  • seed (int)

  • clv_window (int)

  • clv_backward_transient (int)

  • clv_keep_every (int)

  • rhs (str)

  • clv_checkpoints (int | None)

Return type:

LyapunovResult