| \section{Standard Module \sectcode{random}} |
| \label{module-random} |
| \stmodindex{random} |
| |
| This module implements pseudo-random number generators for various |
| distributions: on the real line, there are functions to compute normal |
| or Gaussian, lognormal, negative exponential, gamma, and beta |
| distributions. For generating distribution of angles, the circular |
| uniform and von Mises distributions are available. |
| |
| The module exports the following functions, which are exactly |
| equivalent to those in the \module{whrandom} module: |
| \function{choice()}, \function{randint()}, \function{random()} and |
| \function{uniform()}. See the documentation for the \module{whrandom} |
| module for these functions. |
| |
| The following functions specific to the \module{random} module are also |
| defined, and all return real values. Function parameters are named |
| after the corresponding variables in the distribution's equation, as |
| used in common mathematical practice; most of these equations can be |
| found in any statistics text. |
| |
| \setindexsubitem{(in module random)} |
| \begin{funcdesc}{betavariate}{alpha, beta} |
| Beta distribution. Conditions on the parameters are |
| \code{\var{alpha}>-1} and \code{\var{beta}>-1}. |
| Returned values will range between 0 and 1. |
| \end{funcdesc} |
| |
| \begin{funcdesc}{cunifvariate}{mean, arc} |
| Circular uniform distribution. \var{mean} is the mean angle, and |
| \var{arc} is the range of the distribution, centered around the mean |
| angle. Both values must be expressed in radians, and can range |
| between 0 and \code{pi}. Returned values will range between |
| \code{\var{mean} - \var{arc}/2} and \code{\var{mean} + \var{arc}/2}. |
| \end{funcdesc} |
| |
| \begin{funcdesc}{expovariate}{lambd} |
| Exponential distribution. \var{lambd} is 1.0 divided by the desired |
| mean. (The parameter would be called ``lambda'', but that is a |
| reserved word in Python.) Returned values will range from 0 to |
| positive infinity. |
| \end{funcdesc} |
| |
| \begin{funcdesc}{gamma}{alpha, beta} |
| Gamma distribution. (\emph{Not} the gamma function!) Conditions on |
| the parameters are \code{\var{alpha}>-1} and \code{\var{beta}>0}. |
| \end{funcdesc} |
| |
| \begin{funcdesc}{gauss}{mu, sigma} |
| Gaussian distribution. \var{mu} is the mean, and \var{sigma} is the |
| standard deviation. This is slightly faster than the |
| \function{normalvariate()} function defined below. |
| \end{funcdesc} |
| |
| \begin{funcdesc}{lognormvariate}{mu, sigma} |
| Log normal distribution. If you take the natural logarithm of this |
| distribution, you'll get a normal distribution with mean \var{mu} and |
| standard deviation \var{sigma}. \var{mu} can have any value, and \var{sigma} |
| must be greater than zero. |
| \end{funcdesc} |
| |
| \begin{funcdesc}{normalvariate}{mu, sigma} |
| Normal distribution. \var{mu} is the mean, and \var{sigma} is the |
| standard deviation. |
| \end{funcdesc} |
| |
| \begin{funcdesc}{vonmisesvariate}{mu, kappa} |
| \var{mu} is the mean angle, expressed in radians between 0 and pi, |
| and \var{kappa} is the concentration parameter, which must be greater |
| then or equal to zero. If \var{kappa} is equal to zero, this |
| distribution reduces to a uniform random angle over the range 0 to |
| $2\pi$. |
| \end{funcdesc} |
| |
| \begin{funcdesc}{paretovariate}{alpha} |
| Pareto distribution. \var{alpha} is the shape parameter. |
| \end{funcdesc} |
| |
| \begin{funcdesc}{weibullvariate}{alpha, beta} |
| Weibull distribution. \var{alpha} is the scale parameter and |
| \var{beta} is the shape parameter. |
| \end{funcdesc} |
| |
| \begin{seealso} |
| \seemodule{whrandom}{the standard Python random number generator} |
| \end{seealso} |