13.4. Connection

class Connection(source, target, toric=False)

Bases: object

A connection describes a flow of information between two groups (that can possibly be the same). It is characterized by a source group, a target group and a model describing both how to compute connection output, what state variable of the destination group holds the result and how connection evolves through time (if specified).

Left-hand side of the equation is the name of the state variable while right-hand side is the expression to be evaluated to get the actual output. Any state variable within the right-hand side of the equation refers to the source group if it exists.


>>> src = numpy.ones((3,3))
>>> tgt = numpy.ones((3,3), dtype=[('U',float),('V',float)])
>>> K = np.ones((src.size,))
>>> C = Connection(src, dst('U'), 'U = V*K')
>>> C.setup(), C.propagate()

In the above example, a connection has been created between src and tgt. The state variable holding the result in tgt is named U and the output of the connection is computed by mutliplying src by K.


Propagate activity from source to target


Return output of connection


Update weights relative to connection equation


Setup weights if necessary


Setup weights update equation


Source of the connection.


Target of the connection.


Weights matrix.


Differential equation for weights update