# Networks¶

nengo_extras.networks.MatrixMult(n_neurons, shape_left, shape_right, net=None)[source]

Computes the matrix product A*B.

Both matrices need to be two dimensional.

See the Matrix Multiplication example for a description of the network internals.

Parameters: n_neurons : int Number of neurons used per product of two scalars. Note If an odd number of neurons is given, one less neuron will be used per product to obtain an even number. This is due to the implementation the Product network. shape_left : tuple Shape of the A input matrix. shape_right : tuple Shape of the B input matrix. net : Network, optional (Default: None) A network in which the network components will be built. This is typically used to provide a custom set of Nengo object defaults through modifying net.config. net : Network The newly built matrix multiplication network, or the provided net.
nengo_extras.networks.Product(n_neurons, dimensions, input_magnitude=1, net=None)[source]

Computes the element-wise product of two equally sized vectors.

## Utilities¶

nengo_extras.probe.probe_all(net, recursive=False, probe_options=None, **probe_args)[source]

Probes all objects in a network.

Parameters: net : nengo.Network recursive : bool, optional (Default: False) Probe subnetworks recursively. probe_options: dict, optional (Default: None) A dict of the form {nengo_object_class: [attributes_to_probe]}. If None, every probeable attribute of every object will be probed. A dictionary that maps objects and their attributes to their probes.

Examples

Probe the decoded output and spikes in all ensembles in a network and its subnetworks:

with nengo.Network() as model:
ens1 = nengo.Ensemble(n_neurons=1, dimensions=1)
node1 = nengo.Node(output=[0])
conn = nengo.Connection(node1, ens1)
subnet = nengo.Network(label='subnet')
with subnet:
ens2 = nengo.Ensemble(n_neurons=1, dimensions=1)
node2 = nengo.Node(output=[0])
probe_options = {nengo.Ensemble: ['decoded_output', 'spikes']}
probes = probe_all(model, recursive=True, probe_options=probe_options)