# Command: correlomatrix_detector

NEST HelpDesk | Command Index | NEST Quick Reference

Name:

    correlomatrix_detector - Device for measuring the covariance matrix
      from several inputs

Description:

    The correlomatrix_detector is a recording device. It is used to
      record 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. The histogram is only recorded for
      non-negative time lags. The negative part can be obtained by the symmetry of
      the covariance matrix C(t) = C^T(-t).
      The result can be obtained via GetStatus 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 C_ij being
      a vector of size 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
      (C(t)=[C[i][j][::-1],C[j][i][1:]]).
      In this case one needs to exclude 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.

Parameters:

      Tstart	 double  	- 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	 double  	- 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  double  	- bin width in ms. This has to be an odd multiple of the
      resolution, to allow the symmetry between positive and
      negative time-lags.
      tau_max   double  	- one-sided width in ms. 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]

      N_channels long		- 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	 matrix of double vectors, read-only	- raw, weighted
      auto/cross
      correlation counts
      count_covariance  matrix of long vectors, read-only  	- raw, auto/cross
      correlation counts
      n_events	 integer vector		- number of events
      from all sources.

Receives:

    SpikeEvent

Remarks:

    This recorder does not record to file, screen or memory in the usual
      sense.

      Example:
      /s1 /spike_generator Create def
      /s2 /spike_generator Create def
      s1 << /spike_times [ 1.0 1.5 2.7 4.0 5.1 ] >> SetStatus
      s2 << /spike_times [ 0.9 1.8 2.1 2.3 3.5 3.8 4.9 ] >> SetStatus
      /cm /correlomatrix_detector Create def
      cm << /N_channels 2 /delta_tau 0.5 /tau_max 2.5 >> SetStatus
      s1 cm << /receptor_type 0 >> Connect
      s2 cm << /receptor_type 1 >> Connect
      10 Simulate
      cm [/n_events] get ==   --> [# 5 7 #]
      cm [/count_covariance] get ==  --> [[<# 5 1 2 2 0 2 #> <# 3 4 1 3 3 0 #>]
      [<# 3 2 6 1 2 2 #> <# 9 3 4 6 1 2 #>]]
      cm << /N_channels 2 >> SetStatus
      cm [/count_covariance] get ==  --> [[<# 0 0 0 0 0 0 #> <# 0 0 0 0 0 0 #>]
      [<# 0 0 0 0 0 0 #> <# 0 0 0 0 0 0 #>]]

Availability:

    NEST

Author:

    Dmytro Grytskyy
      Jakob Jordan

FirstVersion:

    2013/02/27

SeeAlso:

- correlation_detector
- spike_detector
- Device
- PseudoRecordingDevice

Source:

    /opt/conda/conda-bld/nest_1510212701067/work/nest-2.14.0/models/correlomatrix_detector.h

NEST HelpDesk | Command Index | NEST Quick Reference

© 2004 The NEST Initiative