cern.jet.random

Class Normal

• All Implemented Interfaces:
DoubleFunction, IntFunction, Serializable, Cloneable

public class Normal
extends AbstractContinousDistribution
Normal (aka Gaussian) distribution; See the math definition and animated definition.

1                       2
pdf(x) = ---------    exp( - (x-mean) / 2v )
sqrt(2pi*v)

x
-
1        | |                 2
cdf(x) = ---------    |    exp( - (t-mean) / 2v ) dt
sqrt(2pi*v)| |
-
-inf.

where v = variance = standardDeviation^2.

Instance methods operate on a user supplied uniform random number generator; they are unsynchronized.

Static methods operate on a default uniform random number generator; they are synchronized.

Implementation: Polar Box-Muller transformation. See G.E.P. Box, M.E. Muller (1958): A note on the generation of random normal deviates, Annals Math. Statist. 29, 610-611.

Version:
1.0, 09/24/99
Author:
wolfgang.hoschek@cern.ch
Serialized Form
• Constructor Summary

Constructors
Constructor and Description
Normal(double mean, double standardDeviation, RandomEngine randomGenerator)
Constructs a normal (gauss) distribution.
• Method Summary

Methods
Modifier and Type Method and Description
double cdf(double x)
Returns the cumulative distribution function.
double nextDouble()
Returns a random number from the distribution.
double nextDouble(double mean, double standardDeviation)
Returns a random number from the distribution; bypasses the internal state.
double pdf(double x)
Returns the probability distribution function.
protected void setRandomGenerator(RandomEngine randomGenerator)
Sets the uniform random generator internally used.
void setState(double mean, double standardDeviation)
Sets the mean and variance.
static double staticNextDouble(double mean, double standardDeviation)
Returns a random number from the distribution with the given mean and standard deviation.
String toString()
Returns a String representation of the receiver.
• Field Detail

• mean

protected double mean
• variance

protected double variance
• standardDeviation

protected double standardDeviation
• cache

protected double cache
• cacheFilled

protected boolean cacheFilled
• SQRT_INV

protected double SQRT_INV
• shared

protected static Normal shared
• Constructor Detail

• Normal

public Normal(double mean,
double standardDeviation,
RandomEngine randomGenerator)
Constructs a normal (gauss) distribution. Example: mean=0.0, standardDeviation=1.0.
• Method Detail

• cdf

public double cdf(double x)
Returns the cumulative distribution function.
• nextDouble

public double nextDouble()
Returns a random number from the distribution.
Specified by:
nextDouble in class AbstractDistribution
• nextDouble

public double nextDouble(double mean,
double standardDeviation)
Returns a random number from the distribution; bypasses the internal state.
• pdf

public double pdf(double x)
Returns the probability distribution function.
• setState

public void setState(double mean,
double standardDeviation)
Sets the mean and variance.
• staticNextDouble

public static double staticNextDouble(double mean,
double standardDeviation)
Returns a random number from the distribution with the given mean and standard deviation.
• toString

public String toString()
Returns a String representation of the receiver.
Overrides:
toString in class Object