correlomatrix_detector – Device for measuring the covariance matrix from several inputs ======================================================================================= Description +++++++++++ The ``correlomatrix_detector`` is a device that receives spikes from several pools of spike inputs and calculates the covariance matrix of inter-spike intervals (raw auto and cross correlation) binned to bins of duration ``delta_tau``, which defaults to 5 times the simulation resolution. The histogram is only recorded for non-negative time lags. The negative part can be obtained by the symmetry of the covariance matrix :math:` C(t) = C^T(-t)`. The result can be obtained from the node's status dictionary under the key ``count_covariance``. In parallel it records a weighted histogram, where the connection weight are used to weight every count, which is available under the key ``/covariance``. Both are matrices of size ``N_channels x N_channels``, with each entry :math:`C_{ij}` being a vector of size :math:`\tau_{max}/\delta_\tau + 1` containing the (weighted) histogram for non-negative time lags. The bins are centered around the time difference they represent, and are left-closed and right-open in the lower triangular part of the matrix. On the diagonal and in the upper triangular part the intervals are left-open and right-closed. This ensures proper counting of events at the border of bins, allowing consistent integration of a histogram over negative and positive time lags by stacking two parts of the histogram .. math:: (C(t)=[C[i][j][::-1],C[j][i][1:]]). In this case one needs to exclude :math:`C[j][i][0]` to avoid counting the zero-lag bin twice. The ``correlomatrix_detector`` has a variable number of inputs which can be set via ``SetStatus`` under the key ``N_channels``. All incoming connections to a specified receptor will be pooled. Correlomatrix detectors ignore any connection delays. Parameters ++++++++++ ================ ========= ==================================================== Tstart real Time when to start counting events. This time should be set to at least start + tau_max in order to avoid edge effects of the correlation counts. Tstop real Time when to stop counting events. This time should be set to at most Tsim - tau_max, where Tsim is the duration of simulation, in order to avoid edge effects of the correlation counts. delta_tau ms Bin width. This has to be an odd multiple of the resolution, to allow the symmetry between positive and negative time-lags. Defaults to 5 times the simulation resolution. tau_max ms One-sided width. In the lower triagnular part events with differences in [0, tau_max+delta_tau/2) are counted. On the diagonal and in the upper triangular part events with differences in (0, tau_max+delta_tau/2]. Defaults to 10 times the value of delta_tau. N_channels integer The number of pools. This defines the range of receptor_type. Default is 1. Setting N_channels clears count_covariance, covariance and n_events. covariance 3D matrix of read-only -raw, weighted, auto/cross matrix of correlation integers count_covariance 3D matrix of read-only -raw, auto/cross correlation matrix of counts integers n_events list of number of events from all sources integers ================ ========= ==================================================== Receives ++++++++ SpikeEvent See also ++++++++ :doc:`Device `, :doc:`Detector `