gstools.random.RNG

class gstools.random.RNG(seed=None)[source]

Bases: object

A random number generator for different distributions and multiple streams.

Parameters:

seed (int or None, optional) – The seed of the master RNG, if None, a random seed is used. Default: None

Attributes:
random

numpy.random.RandomState: Randomstate.

seed

int: Seed of the master RNG.

Methods

sample_dist([pdf, cdf, ppf, size])

Sample from a distribution given by pdf, cdf and/or ppf.

sample_ln_pdf(ln_pdf[, size, sample_around, ...])

Sample from a distribution given by ln(pdf).

sample_sphere(dim[, size])

Uniform sampling on a d-dimensional sphere.

sample_dist(pdf=None, cdf=None, ppf=None, size=None, **kwargs)[source]

Sample from a distribution given by pdf, cdf and/or ppf.

Parameters:
  • pdf (callable or None, optional) – Probability density function of the given distribution, that takes a single argument Default: None

  • cdf (callable or None, optional) – Cumulative distribution function of the given distribution, that takes a single argument Default: None

  • ppf (callable or None, optional) – Percent point function of the given distribution, that takes a single argument Default: None

  • size (int or None, optional) – sample size. Default: None

  • **kwargs – Keyword-arguments that are forwarded to scipy.stats.rv_continuous.

Returns:

samples – the samples from the given distribution

Return type:

float or numpy.ndarray

Notes

At least pdf or cdf needs to be given.

sample_ln_pdf(ln_pdf, size=None, sample_around=1.0, nwalkers=50, burn_in=20, oversampling_factor=10)[source]

Sample from a distribution given by ln(pdf).

This algorithm uses the emcee.EnsembleSampler

Parameters:
  • ln_pdf (callable) – The logarithm of the Probability density function of the given distribution, that takes a single argument

  • size (int or None, optional) – sample size. Default: None

  • sample_around (float, optional) – Starting point for initial guess Default: 1.

  • nwalkers (int, optional) – The number of walkers in the mcmc sampler. Used for the emcee.EnsembleSampler class. Default: 50

  • burn_in (int, optional) – Number of burn-in runs in the mcmc algorithm. Default: 20

  • oversampling_factor (int, optional) – To guess the sample number needed for proper results, we use a factor for oversampling. The intern used sample-size is calculated by

    sample_size = max(burn_in, (size/nwalkers)*oversampling_factor)

    So at least, as much as the burn-in runs. Default: 10

sample_sphere(dim, size=None)[source]

Uniform sampling on a d-dimensional sphere.

Parameters:
  • dim (int) – Dimension of the sphere. Just 1, 2, and 3 supported.

  • size (int, optional) – sample size

Returns:

coord – x[, y[, z]] coordinates on the sphere with shape (dim, size)

Return type:

numpy.ndarray

property random

Randomstate.

Get a stream to the numpy Random number generator. You can use this, to call any provided distribution from numpy.random.RandomState.

Type:

numpy.random.RandomState

property seed

Seed of the master RNG.

The setter property not only saves the new seed, but also creates a new master RNG function with the new seed.

Type:

int