Package cern.jet.random
Class Normal
- All Implemented Interfaces:
DoubleFunction
,IntFunction
,Serializable
,Cloneable
Normal (aka Gaussian) distribution; See the math definition
and animated definition.
Static methods operate on a default uniform random number generator; they are synchronized.
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.
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
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected double
protected boolean
protected double
protected static Normal
protected double
protected double
protected double
Fields inherited from class cern.jet.random.AbstractDistribution
randomGenerator
Fields inherited from class cern.colt.PersistentObject
serialVersionUID
-
Constructor Summary
ConstructorsConstructorDescriptionNormal
(double mean, double standardDeviation, RandomEngine randomGenerator) Constructs a normal (gauss) distribution. -
Method Summary
Modifier and TypeMethodDescriptiondouble
cdf
(double x) Returns the cumulative distribution function.double
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.toString()
Returns a String representation of the receiver.private static void
xstaticSetRandomGenerator
(RandomEngine randomGenerator) Sets the uniform random number generated shared by all static methods.Methods inherited from class cern.jet.random.AbstractDistribution
apply, apply, clone, getRandomGenerator, makeDefaultGenerator, nextInt
-
Field Details
-
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
-
-
Constructor Details
-
Normal
Constructs a normal (gauss) distribution. Example: mean=0.0, standardDeviation=1.0.
-
-
Method Details
-
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 classAbstractDistribution
-
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. -
setRandomGenerator
Sets the uniform random generator internally used.- Overrides:
setRandomGenerator
in classAbstractDistribution
-
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
Returns a String representation of the receiver. -
xstaticSetRandomGenerator
Sets the uniform random number generated shared by all static methods.- Parameters:
randomGenerator
- the new uniform random number generator to be shared.
-