DelayedDifferenceCoupling
experimental.network_dynamics.coupling.DelayedDifferenceCoupling(
buffer_strategy='roll',
**kwargs,
)Diffusive coupling with transmission delays.
Computes coupling based on the difference between delayed incoming states and current local states, implementing:
\[c_i(t) = G \cdot \sum_{j} w_{ij} (x_j(t - \tau_{ij}) - x_i(t))\]
This combines diffusive coupling with delayed transmission, useful for modeling synchronization dynamics with finite propagation speeds.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| incoming_states | str or list of str | State name(s) to collect from connected nodes (required) | required |
| local_states | str or list of str | State name(s) from current node (required for computing differences) | required |
Attributes
| Name | Type | Description |
|---|---|---|
| N_OUTPUT_STATES | int | Number of output coupling states: 1 |
| DEFAULT_PARAMS | Bunch | Default parameters: G=1.0 (global coupling strength) |
Examples
>>> coupling = DelayedDifferenceCoupling(incoming_states='x', local_states='x', G=1.0)Methods
| Name | Description |
|---|---|
| post | Apply coupling strength to summed delayed differences. |
| pre | Compute difference between delayed and local states (per-edge). |
post
experimental.network_dynamics.coupling.DelayedDifferenceCoupling.post(
summed_inputs,
local_states,
params,
)Apply coupling strength to summed delayed differences.
Args: summed_inputs: Summed differences [n_inputs, n_nodes] local_states: Local states (not used) params: Bunch with G
Returns: Scaled coupling [n_inputs, n_nodes]
pre
experimental.network_dynamics.coupling.DelayedDifferenceCoupling.pre(
delayed_states,
local_states,
params,
)Compute difference between delayed and local states (per-edge).
Args: delayed_states: Delayed states from history in per-edge format [n_incoming, n_nodes_target, n_nodes_source] local_states: Current local states [n_local, n_nodes] params: Coupling parameters (not used in pre)
Returns: State differences [n_incoming, n_nodes, n_nodes] (per-edge)