The class SimpleMatrix is a minimalistic template to implement sparse matrices in Auryn for which rows can be accessed efficiently. The class is designed such that neighboring row elements lie together in memory and therefore CPUs can make efficient use of their caches when for instance propagating a spike from neuron i to all its postsynaptic partners. SimpleMatrix is used directly in SparseConnection using the datatype AurynWeight. This is often referred to as a ForwardMatrix because spikes can be propagated efficiently in forward direction, i.e. from pre to postsynaptic neurons. However, plastic connections such as the ones derived from DuplexConnection also define a BackwardMatrix which uses
*AurynWeight as dataype. This matrix of pointers acts as a cache to allow for fast column access, as it is generally needed by connection classes implementing plasticity such as STDPConnection.