/*
* test_poisson_ps_min_interval.sli
*
* This file is part of NEST.
*
* Copyright (C) 2004 The NEST Initiative
*
* NEST is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* NEST is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with NEST. If not, see <http://www.gnu.org/licenses/>.
*
*/
/* BeginDocumentation
Name: testsuite::test_poisson_ps_min_interval - checks that intervals are independent of tic size
Synopsis: (test_poisson_ps_min_interval) run -> minimum interal close to 0
Description:
The inter spike interval (ISI) distribution of a Poisson process is
exponential. The test verifies that the minimum interval is arbitrarily
small and not constrained by the ms_per_tic property of the simlation kernel.
Remarks:
Even a correct implementation generates with low probability spike trains where the
minimal interval is larger than ms_per_tic. The seed set in the default configuration
of NEST avoids this problem. Therefore, failure of this script indicates that the
configuration is not portable.
FirstVersion: February 2009
Author: Diesmann
*/
/unittest (6688) require
/unittest using
M_ERROR setverbosity
10000.0 /T Set
0 << /resolution 0.1 >> SetStatus
/spike_detector Create /sp Set
sp << /precise_times true >> SetStatus
/poisson_generator_ps Create /pn Set
pn << /rate 12892.25 >> SetStatus
pn sp Connect
T Simulate
sp [/events /times] get cva % spike train
2 1 Partition Transpose {sub neg} MapThread % inter spike intervals
Min
0 /ms_per_tic get 10.0 div lt assert_or_die % should converge to 0