testsuite::test_iaf_ps_dc_accuracy

Command: testsuite::test_iaf_ps_dc_accuracy


Synopsis
(test_iaf_ps_dc_accuracy) run -> comparison with analytical solution

References

[1] Rotter S & Diesmann M (1999) Exact simulation of time-invariant linear
systems with applications to neuronal modeling. Biologial Cybernetics
81:381-402.
[2] Morrison A Straube S Plesser H E & Diesmann M (2007) Exact Subthreshold
Integration with Continuous Spike Times in Discrete Time Neural Network
Simulations. Neural Computation 19:47--79
Description


A DC current is injected for a finite duration. The membrane potential at
the end of the simulated interval is compared to the theoretical value for
different computation step sizes.

Computation step sizes are specified as base 2 values.

Two different intervals are tested. At the end of the first interval the membrane
potential still steeply increases. At the end of the second the membrane
potential has within double precision already reached the limit for large t.

The high accuracy of the neuron models is achieved by the use of Exact Integration [1]
and an appropriate arrangement of the terms [2]. For small computation step sizes the
accuracy at large simulation time decreases because of the accumulation of errors.

The expected output is documented at the end of the script.
Individual simulation results can be inspected by uncommented the call
to function print_details.

File
testsuite/unittests/test_iaf_ps_dc_accuracy.sli
Author
March 2009 Diesmann
Remarks


The script checks whether the kernel can be appropriately configured.
The script can be used to check whether the accuracy has survived optimization
by the C++ compiler.

In case the accuracy is higher than specified by IEEE arithmetics this might
be due to the use of processor registers. The compiler option
-ffloat-store of the gcc compiler ensures that doubles are not stored in
registers.