dynax.evolution
Classes for simulating the evolution of dynamical systems over time.
Classes
|
Abstract base-class for evolutions. |
|
Evolution for continous-time dynamical systems. |
|
Evolution for discrete-time dynamical systems. |
- class dynax.evolution.AbstractEvolution(system)[source]
Bases:
ModuleAbstract base-class for evolutions.
Evolutions combine dynamical systems with a solver. They simulate the evolution of the system state and output over time given an initial and, possibly, an input sequence.
- class dynax.evolution.Flow(system, solver=<factory>, stepsize_controller=<factory>)[source]
Bases:
AbstractEvolutionEvolution for continous-time dynamical systems.
- Parameters:
system (
AbstractSystem) – Dynamical system.solver (
AbstractAdaptiveSolver) – Differential equation solver. Defaults todiffrax.Dopri5.stepsize_controller (
AbstractStepSizeController) – Stepsize controller. Defaults todiffrax.ConstantStepSize.
- __call__(t, u=None, initial_state=None, *, ufun=None, ucoeffs=None, **diffeqsolve_kwargs)[source]
Evolve an initial state along the vector field and compute output.
- Parameters:
t (
ArrayLike) – Times at which to evaluate the evolution.u (
ArrayLike|None) – Optional input sequence of same length.initial_state (
ArrayLike|None) – Optional, fixed initial state used instead ofAbstractSystem.initial_state.ufun (
Callable[[float],Array] |None) – A function \(t \mapsto u\). Can be used instead of u or ucoeffs.ucoeffs (
tuple[PyTree,PyTree,PyTree,PyTree] |None) – Precomputed spline coefficients of the input passed todiffrax.CubicInterpolation. Can be used instead of u or ufun.**diffeqsolve_kwargs – Additional arguments passed to
diffrax.diffeqsolve().
- Returns:
tuple[Array,Array] – Tuple (x, y) of state and output sequences.
- class dynax.evolution.Map(system)[source]
Bases:
AbstractEvolutionEvolution for discrete-time dynamical systems.
- Parameters:
system (
AbstractSystem) – Dynamical system.
- __call__(t=None, u=None, initial_state=None, *, num_steps=None)[source]
Evolve an initial state along the vector field and compute output.
- Parameters:
t (
ArrayLike|None) – Times at which to evaluate the evolution.u (
ArrayLike|None) – Optional input sequence of same length.initial_state (
ArrayLike|None) – Optional, fixed initial state used instead ofAbstractSystem.initial_state.num_steps (
int|None) – Number of steps to compute if t and u are not specified.
- Returns:
tuple[Array,Array] – Tuple (x, y) of state and output sequences.