mirror of
				https://github.com/python/cpython.git
				synced 2025-11-03 19:34:08 +00:00 
			
		
		
		
	* \bcode, \ecode added everywhere
	* \label{module-foo} added everywhere
	* A few \seealso sections added.
	* Indentation fixed inside verbatim in lib*tex files
		
	
			
		
			
				
	
	
		
			77 lines
		
	
	
	
		
			3.1 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
			
		
		
	
	
			77 lines
		
	
	
	
		
			3.1 KiB
		
	
	
	
		
			TeX
		
	
	
	
	
	
\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 \code{whrandom} module: \code{choice},
 | 
						|
\code{randint}, \code{random}, \code{uniform}.  See the documentation
 | 
						|
for the \code{whrandom} module for these functions.
 | 
						|
 | 
						|
The following functions specific to the \code{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.
 | 
						|
 | 
						|
\renewcommand{\indexsubitem}{(in module random)}
 | 
						|
\begin{funcdesc}{betavariate}{alpha\, beta}
 | 
						|
Beta distribution.  Conditions on the parameters are \code{alpha>-1}
 | 
						|
and \code{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{mean - arc/2} and \code{mean + 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's also 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{alpha>-1} and \code{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
 | 
						|
\code{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
 | 
						|
\code{2*pi}.
 | 
						|
\end{funcdesc}
 | 
						|
 | 
						|
 | 
						|
\begin{seealso}
 | 
						|
\seemodule{whrandom}{the standard Python random number generator}
 | 
						|
\end{seealso}
 |