executing-plans
executing-plans
Use when executing an implementation plan in the current session as the implementer yourself — your human partner chose inline execution, or no subagent tool is available
dynamics-modelingConstruct and route NeuroMANCER neural blocks, continuous and stochastic dynamics, physics-informed models, integrators, interpolation, and system-identification components without mixing in training or control-loop concerns.
Independent GitHub snapshot · Automated classification · Original documentation governs
Use this skill when the task is to construct, inspect, or compose a model of a dynamical system in NeuroMANCER. Keep the runtime model self-contained: use package imports and the contracts in the bundled references, not repository-relative imports or example files.
references/api-reference.md for stable imports, signatures, tensor shapes, and optional backends.references/workflows.md for build recipes: neural state-space/ODE models, named or SINDy systems, networked physics, DAE operator splitting, PINN residuals, function encoders, and interpolation/SDE paths.references/troubleshooting.md when dimensions, autograd, solver options, device/dtype, or optional dependencies are involved.scripts/dynamics_smoke.py --help; run scripts/dynamics_smoke.py --run in an environment where the package's ODE dependencies are installed.[batch, features] tensors. Block.forward(*inputs) concatenates multiple rank-2 inputs along the last axis. Sequence wrappers have their own [batch, time, features] contract; see the API reference.[B, nx] -> [B, nx]. A non-autonomous RHS is constructed with insize=nx+nu, outsize=nx, but is called as rhs(x, u) with [B, nx] and [B, nu] tensors.Euler, RK2, or RK4 for transparent one-step CPU integration; use DiffEqIntegrator for torchdiffeq methods and adjoint differentiation. Use the multistep and second-order families only with their specialized state layouts.symbolic-problems or data-training, and closed-loop/system simulation to control-simulation. Route structured-map registry selection or native extensions to structured-operators.import torch
from neuromancer.modules.blocks import MLP
from neuromancer.dynamics.integrators import RK4
nx, nu = 2, 1
rhs = MLP(nx + nu, nx, linear_map=torch.nn.Linear,
nonlin=torch.nn.Tanh, hsizes=[16, 16])
stepper = RK4(rhs, h=0.05)
x = torch.zeros(8, nx)
u = torch.zeros(8, nu)
x_next = stepper(x, u) # [8, 2]
For complete model variants, shape checks, and the model-versus-training boundary, follow the linked references rather than expanding this router.