These distributions can be used in any place that Nengo distributions can be used.

nengo_extras.dists.Concatenate(distributions) Concatenate distributions to form an independent multivariate
nengo_extras.dists.MultivariateCopula(…[, rho]) Generalized multivariate distribution.
nengo_extras.dists.Mixture(distributions[, p])
nengo_extras.dists.Tile(values) Choose values in order from an array
nengo_extras.dists.gaussian_icdf(mean, std)
nengo_extras.dists.loggaussian_icdf(…[, base])
nengo_extras.dists.uniform_icdf(low, high)
class nengo_extras.dists.Concatenate(distributions)[source]

Concatenate distributions to form an independent multivariate

class nengo_extras.dists.MultivariateCopula(marginal_icdfs, rho=None)[source]

Generalized multivariate distribution.

Uses the copula method to sample from a general multivariate distribution, given marginal distributions and copula covariances [R1111].


marginal_icdfs : iterable

List of functions, each one being the inverse CDF of the marginal distribution across that dimension.

rho : array_like (optional)

Array of copula covariances [R1111] between parameters. Defaults to the identity matrix (independent parameters).


[R1111](1, 2, 3) Copula (probability theory). Wikipedia. https://en.wikipedia.org/wiki/Copula_(probability_theory%29
class nengo_extras.dists.MultivariateGaussian(mean, cov)[source]
class nengo_extras.dists.Mixture(distributions, p=None)[source]
class nengo_extras.dists.Tile(values)[source]

Choose values in order from an array

This distribution is not random, but rather tiles an array to be a particular size. This is useful for example if you want to pass an array for a neuron parameter, but are not sure how many neurons there will be.


values : array_like

The values to tile.

nengo_extras.dists.gaussian_icdf(mean, std)[source]
nengo_extras.dists.loggaussian_icdf(log_mean, log_std, base=2.718281828459045)[source]
nengo_extras.dists.uniform_icdf(low, high)[source]