SignalRoute
experimental.network_dynamics.SignalRoute(
source,
coupling,
target,
local=None,
source_params=None,
local_params=None,
target_params=None,
)Describe one explicitly named signal transport over the shared graph.
One route packs a canonical [Q, n_nodes] signal and performs one graph traversal. Every source readout must emit the same channel count Q.
Args: source: Mapping from source group names to a state name, tuple of state names, or readout(state, params) -> [Q, n_group_nodes] callable. coupling: Selector-free PrePostCoupling used for this route. The route, rather than the coupling, owns source and local readouts. target: Mapping from target group names to a coupling-input name or (input_name, conversion). A conversion is called as conversion(signal, params) on the target-local transported slice. local: Optional target-local readouts required by coupling families such as DifferenceCoupling. source_params: Optional per-group parameters for source readouts. local_params: Optional per-group parameters for local readouts. Kept distinct from source_params so a target-only group can carry its local-readout parameters and so source and local readouts on the same group do not share one parameter namespace. target_params: Optional per-group parameters for target conversions.
Notes: Source, local, and target group names are validated when the route is attached to a HeterogeneousNetwork. Numerical parameters remain live after prepare(); route structure and callables remain static. When multiple routes target the same input on a group, their values are added after any target conversions. Use distinct input names when the dynamics must receive the contributions separately.