DelayedKuramotoCoupling
experimental.network_dynamics.coupling.DelayedKuramotoCoupling(
buffer_strategy='roll',
warn_on_delay_clamp=False,
history_interpolation=None,
**kwargs,
)Phase-difference coupling for Kuramoto oscillators with transmission delays.
Implements the delayed Kuramoto interaction:
\[c_i(t) = G \cdot \sum_{j} w_{ij} \sin(\theta_j(t - \tau_{ij}) - \theta_i(t))\]
where \(\tau_{ij}\) are the transmission delays between nodes. This is the standard model used to study delay-induced (de)synchronization, e.g. the two-oscillator multistability of Yeung & Strogatz (1999) and the conduction-speed-dependent synchronization resonances of Petkoski & Jirsa (2019) on brain networks.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| source | str or list of str | State name(s) to collect from connected nodes (typically 'theta') |
required |
| local | str or list of str | State name(s) from current node (required for the phase difference) | 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) |
Notes
G is not normalized by network size or degree; scale it (e.g. G/N) to match a particular Kuramoto convention.
Examples
>>> coupling = DelayedKuramotoCoupling(source='theta', local='theta', G=1.0)References
Yeung, M. K. S., & Strogatz, S. H. (1999). Time delay in the Kuramoto model of coupled oscillators. Physical Review Letters, 82(3), 648.
Petkoski, S., & Jirsa, V. K. (2019). Transmission time delays organize the brain network synchronization. Philosophical Transactions of the Royal Society A, 377(2153), 20180132.
Methods
| Name | Description |
|---|---|
| post | Apply coupling strength to summed delayed phase interactions. |
| pre | Compute sin(theta_j(t - tau) - theta_i(t)) per edge. |
post
experimental.network_dynamics.coupling.DelayedKuramotoCoupling.post(
summed_inputs,
local_states,
params,
)Apply coupling strength to summed delayed phase interactions.
Args: summed_inputs: Summed delayed sin(theta_j - theta_i) terms [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.DelayedKuramotoCoupling.pre(
delayed_states,
local_states,
params,
)Compute sin(theta_j(t - tau) - theta_i(t)) per edge.
Args: delayed_states: Delayed source phases [n_incoming, *M]. local_states: Current target phases aligned as [n_local, *M]. params: Coupling parameters (not used in pre)
Returns: Delayed phase-difference sine [n_output, *M].