def row_func(i): pyrandom.seed(initseed + int(i)) scirandom.seed(initseed + int(i)) k = scirandom.binomial(N, p, 1)[0] cur_row[:] = 0.0 cur_row[pyrandom.sample(myrange, k)] = weight return cur_row
def random_matrix(self, i_start, i_end, m, offset, p): for i in xrange(i_start, i_end): k = random.binomial(m, p, 1)[0] r = offset + array(sample(xrange(m), k), dtype=int) self.rows[i] = r
def row_func(i): pyrandom.seed(initseed + int(i)) scirandom.seed(initseed + int(i)) k = scirandom.binomial(N, p, 1)[0] return (pyrandom.sample(myrange, k), weight)
def get_random_indices(self, i): pyrandom.seed(self.initseed + int(i)) scirandom.seed(self.initseed + int(i)) k = scirandom.binomial(self.m, self.p, 1)[0] return self.offset + array(pyrandom.sample(xrange(self.m), k), dtype=int)
P.v=-60*mV+10*mV*rand(len(P)) """ S[0, :] = rand(N) * (Vt - Vr) + Vr # Potential: uniform between reset and threshold """ Connectivity matrices --------------------- Pe=P.subgroup(3200) # excitatory group Pi=P.subgroup(800) # inhibitory group Ce=Connection(Pe,P,'ge',weight=1.62*mV,sparseness=p) Ci=Connection(Pi,P,'gi',weight=-9*mV,sparseness=p) """ We_target = [] We_weight = [] for _ in range(Ne): k = scirandom.binomial(N, p, 1)[0] target = sample(xrange(N), k) target.sort() We_target.append(target) We_weight.append([1.62 * mV] * k) Wi_target = [] Wi_weight = [] for _ in range(Ni): k = scirandom.binomial(N, p, 1)[0] target = sample(xrange(N), k) target.sort() Wi_target.append(target) Wi_weight.append([-9 * mV] * k) """ Spike monitor -------------
def draw(self): """ :return: payout with probability p, 0 with probability (1 - p) """ return random.binomial(1, p=self.p) * self.payout
P.v=-60*mV+10*mV*rand(len(P)) """ S[0, :] = rand(N) * (Vt - Vr) + Vr # Potential: uniform between reset and threshold """ Connectivity matrices --------------------- Pe=P.subgroup(3200) # excitatory group Pi=P.subgroup(800) # inhibitory group Ce=Connection(Pe,P,'ge',weight=1.62*mV,sparseness=p) Ci=Connection(Pi,P,'gi',weight=-9*mV,sparseness=p) """ We_target = [] We_weight = [] for _ in range(Ne): k = scirandom.binomial(N, p, 1)[0] target = sample(xrange(N), k) target.sort() We_target.append(array(target)) We_weight.append(array([1.62 * mV] * k)) Wi_target = [] Wi_weight = [] for _ in range(Ni): k = scirandom.binomial(N, p, 1)[0] target = sample(xrange(N), k) target.sort() Wi_target.append(array(target)) Wi_weight.append(array([-9 * mV] * k)) """ Spike monitor