neuromancer.dynamics.ode module
- class neuromancer.dynamics.ode.BrusselatorHybrid(block, insize=2, outsize=2)[source]
Bases:
ODESystem
- class neuromancer.dynamics.ode.GeneralNetworkedODE(map=None, agents=None, couplings=None, insize=None, outsize=None, inductive_bias='additive')[source]
Bases:
ODESystem
Coupled nonlinear dynamical system with heterogeneous agents. This class acts as an aggregator for multiple interacting physics that contribute to the dynamics of one or more agents.
- coupling_physics(x, *args)[source]
This coupling physics assumes that each coupling physics nn.Module contains the connection information, including what agents are connected and if the connection is symmetric.
- class neuromancer.dynamics.ode.LotkaVolterraHybrid(block, insize=2, outsize=2)[source]
Bases:
ODESystem
- class neuromancer.dynamics.ode.ODESystem(insize, outsize)[source]
Bases:
Module
,ABC
Class for defining RHS of arbitrary ODE functions, can be mix-and-matched according to expert knowledge.
- forward(x, *args)[source]
Define the computation performed at every call.
Should be overridden by all subclasses.
Note
Although the recipe for forward pass needs to be defined within this function, one should call the
Module
instance afterwards instead of this since the former takes care of running the registered hooks while the latter silently ignores them.
- class neuromancer.dynamics.ode.SINDy(library, threshold=0.01)[source]
Bases:
ODESystem
Sparse Identification of Nonlinear Dynamics Reference: https://www.pnas.org/doi/10.1073/pnas.1517384113
- class neuromancer.dynamics.ode.SSM(fx, fu, nx, nu, fd=None, nd=0)[source]
Bases:
Module
Baseline class for (neural) state space model (SSM) Implements discrete-time dynamical system:
x_k+1 = fx(x_k) + fu(u_k) + fd(d_k)
- with variables:
x_k - states u_k - control inputs d_k - disturbances