nest / nest-simulator

The NEST simulator
http://www.nest-simulator.org
GNU General Public License v2.0
544 stars 370 forks source link
cpp nest nest-simulator neurons point-neurons python simulation-toolkit simulator

The Neural Simulation Tool - NEST

Documentation CII Best Practices OpenSSF Scorecard License DOI

Latest release GitHub contributors GitHub commit activity

Ubuntu version Fedora package Conda version Homebrew version Docker Image Version Virtual applicance

YouTube Video Views Twitter Follow

NEST is a simulator for spiking neural network models that focuses on the dynamics, size and structure of neural systems rather than on the exact morphology of individual neurons. The development of NEST is coordinated by the NEST Initiative. General information on the NEST Initiative can be found at its homepage at https://www.nest-initiative.org.

NEST is ideal for networks of spiking neurons of any size, for example:

For copyright information please refer to the LICENSE file and to the information header in the source files.

How do I use NEST?

You can use NEST either via Python (PyNEST) or as a stand-alone application (nest). PyNEST provides a set of commands to the Python interpreter which give you access to NEST's simulation kernel. With these commands, you describe and run your network simulation. You can also complement PyNEST with PyNN, a simulator-independent set of Python commands to formulate and run neural simulations. While you define your simulations in Python, the actual simulation is executed within NEST's highly optimized simulation kernel which is written in C++.

A NEST simulation tries to follow the logic of an electrophysiological experiment that takes place inside a computer with the difference, that the neural system to be investigated must be defined by the experimenter.

The neural system is defined by a possibly large number of neurons and their connections. In a NEST network, different neuron and synapse models can coexist. Any two neurons can have multiple connections with different properties. Thus, the connectivity can in general not be described by a weight or connectivity matrix but rather as an adjacency list.

To manipulate or observe the network dynamics, the experimenter can define so-called devices which represent the various instruments (for measuring and stimulation) found in an experiment. These devices write their data either to memory or to file.

NEST is extensible and new models for neurons, synapses, and devices can be added.

To get started with NEST, please see the Documentation Page for Tutorials.

Why should I use NEST?

To learn more about the capabilities of NEST, please read the complete feature summary.

License

NEST is open source software and is licensed under the GNU General Public License v2 or later.

Installing NEST

Please see the online NEST Installation Instructions to find out how to install NEST.

Getting help

Citing NEST

Please cite NEST if you use it in your work.