Perturbation sensitivity implies high noise and suggests rate coding in cortex (London et al. 2010)

Accession:144027
"... The network simulations were also based on a previously published model(Latham et al. 2000), but with modifications to allow the addition and detection of extra spikes (see Supplementary Information, section 7)."
Reference:
1 . London M, Roth A, Beeren L, Häusser M, Latham PE (2010) Sensitivity to perturbations in vivo implies high noise and suggests rate coding in cortex. Nature 466:123-7 [PubMed]
Model Information (Click on a link to find other models with that property)
 Model Type: Realistic Network; Brain Region(s)/Organism: Neocortex; Cell Type(s): Channel(s): Gap Junctions: Receptor(s): Gene(s): Transmitter(s): Simulation Environment: C or C++ program; Model Concept(s): Activity Patterns; Implementer(s):  /   LondonEtAl2010    .hg    readme.html    derivs.c    derivs.h    dpoisson.c    float2.c    float2.h    input    lib.c    lib.h    main.c    Makefile    network.c    network.h    params.c    params.h    rgauss.c    rgauss.h    runge_kutta.c    runge_kutta.h    screenshot.png    screenshot_v.png    setgauss.c
/*
cumulative probability for poisson distribution. returns
a variable q[i] such that prob(q[i]=k) = p^k exp(-p)/k!.
q[i] has n elements, ordered from smallest to largest.
*/

#include <math.h>
#include <stdlib.h>

double* dpoisson(float p, int n)
{
/*
INPUT:
p	- probability.
n	- number of points in q: q runs from 0 to n-1.

RETURNS:
q[i]	- probability that q[i]=k is p^k exp(-p)/k!. q[i] is ordered
from smallest to largest.
*/
// ---reserve space
double* q = (double*) calloc(n, sizeof(double));

// ---set everybody to zero if p=0.
if (p <= 0)
{
for (int i=0; i < n; i++) q[i]=0.0;
return q;
}

// ---constants
double logp = log(p);

// --- up
int j1, j2=0;
double  logfac=0, qacc=0;
for (int i=0;; i++)
{
double q0 = exp(i*logp - p - logfac);

j1=j2;
j2=(int) (n*(qacc+q0));
for (int j=j1; j < j2; j++) q[j]=i;

qacc += q0;
logfac += log(1+i);

if (j2 == n-1) break;
}
q[n-1]=q[n-2]+1;

return q;
}