manual:complexmatrix
no way to compare when less than two revisions
Differences
This shows you the differences between two versions of the page.
— | manual:complexmatrix [2016/06/16 17:43] (current) – created zenke | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== Complex Matrix class ====== | ||
+ | As of Auryn v0.8 the library comes with a complex matrix class which generalizes [[SimpleMatrix]] to synaptic connections which can have more than just a single scalar value per connection. [[ComplexMatrix]] is essentially a rank three tensor class optimized for sparse synaptic transmission. | ||
+ | |||
+ | More specifically, | ||
+ | spikes. Memory has to be reserved when the class is defined and elements can | ||
+ | only be inserted row by row starting from "top left to bottom right" | ||
+ | related data fields to reside in memory next to each other. | ||
+ | |||
+ | ComplexMatrix generalizes SimpleMatrix to a rank 3 tensor in which each | ||
+ | synaptic connection can have more than one value (third tensor mode -- | ||
+ | corresponding to a synaptic state). This allows to efficiently implement state | ||
+ | based complex synaptic models which have their own internal dynamics. | ||
+ | Instead of storing all synaptic data values in one long array the synaptic | ||
+ | state values are stored in multiple state vectors which can be manipulated | ||
+ | efficiently in a vector based manner. | ||
+ | |||
+ | For instance, suppose '' | ||
+ | '' | ||
+ | three state variables of type AurynWeight per synaptic connection. | ||
+ | Now, decaying all elements of, say, state 3 by a factor '' | ||
+ | '' | ||
+ | Adding two of the states for all synapses | ||
+ | becomes | ||
+ | < | ||
+ | w-> | ||
+ | </ | ||
+ | |||
+ | As you imagine these expressions can quickly become rather lengthy. | ||
+ | It is therefore nice to declare shortcuts in your plastic Connection class such as: | ||
+ | < | ||
+ | AurynSynStateVector * w_val = w-> | ||
+ | AurynSynStateVector * tagging_val | ||
+ | AurynSynStateVector * scaffold_val = w-> | ||
+ | </ | ||
+ | |||
+ | You can now work with these as you are used with AurynVector or | ||
+ | AurynStateVector instances '' |
manual/complexmatrix.txt · Last modified: 2016/06/16 17:43 by zenke