Coupling Networks

Loose neurons and weights can communicate with other workspace components via scalar couplings, while neuron groups and synapse groups can communicate with other workspace components using vector couplings. The image below uses the graphical notation set up on the couplings page.

As with other attributes, some features of the naming can be confusing. For example, a neuron producer is labeled "getActivation". That is because, relative to the neuron, we are calling a getter function on it, then "producing" this value for the sake of some other workspace component.

Scalar couplings to and from loose elements

Neurons produce scalar activations to send elsewhere, and consume activations from elsewhere. Easy! Same idea with synapses. In both cases, a quick way to set up the coupling is to right click (on the neuron, or synapse) and use the coupling menus that appear at the bottom of the menu.

Vector couplings to and from groups

Neuron groups consume vector activations from elsewhere in a simulation (e.g a table), and produce vectors of activations or spike indices to send elsewhere in a simulation (e.g. to a chart). Similarly with synapse groups.

The spike indices attribute will send a list of spike indices to an array consumer, (e.g. a raster plot). For example, if a neuron group has 9 neurons, and neurons 1 and 4 just spiked, the producer will send the list (1,0,0,4,0,0,0,0,0).

Here again, a quick way to set up the coupling is to right click on the relevant interaction box (the yellow rectangle) and use the coupling menus that appear at the bottom of the menu.