Package cern.jet.random
Class Normal
- java.lang.Object
-
- All Implemented Interfaces:
DoubleFunction
,IntFunction
,java.io.Serializable
,java.lang.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
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected double
cache
protected boolean
cacheFilled
protected double
mean
protected static Normal
shared
protected double
SQRT_INV
protected double
standardDeviation
protected double
variance
-
Fields inherited from class cern.jet.random.AbstractDistribution
randomGenerator
-
Fields inherited from class cern.colt.PersistentObject
serialVersionUID
-
-
Constructor Summary
Constructors Constructor Description Normal(double mean, double standardDeviation, RandomEngine randomGenerator)
Constructs a normal (gauss) distribution.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method 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.java.lang.String
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 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 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
protected void setRandomGenerator(RandomEngine randomGenerator)
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
public java.lang.String toString()
Returns a String representation of the receiver.- Overrides:
toString
in classjava.lang.Object
-
xstaticSetRandomGenerator
private static void xstaticSetRandomGenerator(RandomEngine randomGenerator)
Sets the uniform random number generated shared by all static methods.- Parameters:
randomGenerator
- the new uniform random number generator to be shared.
-
-