

In Nengo, you build models directly in the Nengo Workspace (or through scripting) by creating ensembles of neurons: groups of neurons that represent a value. As the pattern of activity of these neurons changes, the value being represented changes, as can be viewed in the Nengo Interactive Plots. The value being represented can be a single number, a vector (multiple numbers), or even a function. This approach to representation is highly distributed and robust to noise.
To implement an algorithm, you connect these ensembles of neurons. For each connection, you define a computation that should be performed. Unlike traditional neural modelling, Nengo does not require the use of a learning rule to find connection weights between neurons. Instead, Nengo uses the Neural Engineering Framework (NEF) to find the connection weights that will approximate that computation.
This approach extends to recurrent connections as well. This allows for the implementation of any dynamical system, such as memory, since networks can have dynamics that maintain a representation in the absence of input.
By adapting the formalisms of control theory, complex dynamical systems can be implemented, including oscillators, chaotic attractors, and Kalman filters.
These basic tools allow for the creation of a vast variety of models, including the world's largest functional brain model, and: