LinearCoupling
experimental.network_dynamics.coupling.LinearCoupling(
incoming_states=None,
local_states=None,
**kwargs,
)Simple linear coupling function.
Standard linear coupling with gain and offset parameters, implementing the transformation:
\[c = G \cdot \sum_{j} w_{ij} x_j + b\]
where \(w_{ij}\) are the graph weights, \(x_j\) are the incoming states, \(G\) is the global coupling strength, and \(b\) is an offset term.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| incoming_states | str or list of str | State name(s) to collect from connected nodes (required) | None |
| local_states | str or list of str | State name(s) from current node (default: []) |
None |
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), b=0.0 (offset/bias) |
Examples
>>> # Couple via 'x' state from connected nodes
>>> coupling = LinearCoupling(incoming_states='x', G=1.0)
>>>
>>> # With offset
>>> coupling = LinearCoupling(incoming_states='x', G=0.5, b=0.1)Methods
| Name | Description |
|---|---|
| post | Apply linear transformation to summed inputs. |
post
experimental.network_dynamics.coupling.LinearCoupling.post(
summed_inputs,
local_states,
params,
)Apply linear transformation to summed inputs.
Parameters
| Name | Type | Description | Default |
|---|---|---|---|
| summed_inputs | jnp.ndarray | Summed coupling inputs with shape [n_inputs, n_nodes] |
required |
| local_states | jnp.ndarray | Local states (not used) | required |
| params | Bunch | Parameters with G (coupling strength) and b (offset) | required |
Returns
| Name | Type | Description |
|---|---|---|
| jnp.ndarray | Transformed coupling with shape [n_inputs, n_nodes] |