brainpy.connect.GaussianProb
brainpy.connect.GaussianProb#
- class brainpy.connect.GaussianProb(sigma, encoding_values=None, normalize=True, include_self=True, periodic_boundary=False, seed=None)[source]#
Builds a Gaussian connectivity pattern within a population of neurons, where the connection probability decay according to the gaussian function.
Specifically, for any pair of neurons \((i, j)\),
\[p(i, j)=\exp(-\frac{\sum_{k=1}^n |v_k^i - v_k^j|^2 }{2\sigma^2})\]where \(v_k^i\) is the $i$-th neuron’s encoded value at dimension $k$.
- Parameters
sigma (float) – Width of the Gaussian function.
encoding_values (optional, list, tuple, int, float) –
The value ranges to encode for neurons at each axis.
If values is not provided, the neuron only encodes each positional information, i.e., \((i, j, k, ...)\), where \(i, j, k\) is the index in the high-dimensional space.
If values is a single tuple/list of int/float, neurons at each dimension will encode the same range of values. For example, values=(0, np.pi), neurons at each dimension will encode a continuous value space [0, np.pi].
If values is a tuple/list of list/tuple, it means the value space will be different for each dimension. For example, values=((-np.pi, np.pi), (10, 20), (0, 2 * np.pi)).
periodic_boundary (bool) – Whether the neuron encode the value space with the periodic boundary.
normalize (bool) – Whether normalize the connection probability .
include_self (bool) – Whether create the conn at the same position.
seed (int) – The random seed.
- __init__(sigma, encoding_values=None, normalize=True, include_self=True, periodic_boundary=False, seed=None)[source]#
Methods
__init__
(sigma[, encoding_values, ...])build_conn
()build connections with certain data type.
check
(structures)make_returns
(structures, conn_data[, csr, ...])Make the desired synaptic structures and return them.
require
(*structures)requires
(*structures)