Skip to main content
`Ctrl`+`K`

# Random Number Generators (`scipy.stats.sampling`)

This module contains a collection of random number generators to sample from univariate continuous and discrete distributions. It uses the implementation of a C library called “UNU.RAN”. The only exception is RatioUniforms, which is a pure Python implementation of the Ratio-of-Uniforms method.

## Generators Wrapped

### For continuous distributions

`NumericalInverseHermite`(dist, *[, domain, ...]) | Hermite interpolation based INVersion of CDF (HINV).
`NumericalInversePolynomial`(dist, *[, mode, ...]) | Polynomial interpolation based INVersion of CDF (PINV).
`TransformedDensityRejection`(dist, *[, mode, ...]) | Transformed Density Rejection (TDR) Method.
`SimpleRatioUniforms`(dist, *[, mode, ...]) | Simple Ratio-of-Uniforms (SROU) Method.
`RatioUniforms`(pdf, *, umax, vmin, vmax[, c, ...]) | Generate random samples from a probability density function using the ratio-of-uniforms method.

### For discrete distributions

`DiscreteAliasUrn`(dist, *[, domain, ...]) | Discrete Alias-Urn Method.
`DiscreteGuideTable`(dist, *[, domain, ...]) | Discrete Guide Table method.

### Warnings / Errors used in `scipy.stats.sampling`

`UNURANError` | Raised when an error occurs in the UNU.RAN library.

## Generators for pre-defined distributions

To easily apply the above methods for some of the continuous distributions in `scipy.stats`, the following functionality can be used:

`FastGeneratorInversion`(dist, *[, domain, ...]) | Fast sampling by numerical inversion of the CDF for a large class of continuous distributions in `scipy.stats`.