public class Normal extends Object
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.
| Modifier and Type | Field and Description |
|---|---|
protected double |
cache |
protected boolean |
cacheFilled |
protected double |
mean |
protected RandomEngine |
randomGenerator |
protected static Normal |
shared |
protected double |
SQRT_INV |
protected double |
standardDeviation |
protected double |
variance |
| Constructor and Description |
|---|
Normal(double mean,
double standardDeviation,
RandomEngine randomGenerator)
Constructs a normal (gauss) distribution.
|
| Modifier and Type | Method and Description |
|---|---|
double |
applyAsDouble(double dummy)
Equivalent to nextDouble().
|
int |
applyAsInt(int dummy)
Equivalent to nextInt().
|
double |
cdf(double x)
Returns the cumulative distribution function.
|
Object |
clone()
Returns a deep copy of the receiver; the copy will produce identical sequences.
|
protected RandomEngine |
getRandomGenerator()
Returns the used uniform random number generator;
|
static RandomEngine |
makeDefaultGenerator()
Constructs and returns a new uniform random number generation engine seeded with the current time.
|
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.
|
int |
nextInt()
Returns a random number from the distribution; returns (int) Math.round(nextDouble()).
|
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.
|
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitandThen, compose, identityandThen, compose, identityprotected double mean
protected double variance
protected double standardDeviation
protected double cache
protected boolean cacheFilled
protected double SQRT_INV
protected static Normal shared
protected RandomEngine randomGenerator
public Normal(double mean,
double standardDeviation,
RandomEngine randomGenerator)
mean - meanstandardDeviation - standard deviationrandomGenerator - generatorpublic double cdf(double x)
x - xpublic double nextDouble()
public double nextDouble(double mean,
double standardDeviation)
mean - meanstandardDeviation - standard deviationpublic double pdf(double x)
x - xprotected void setRandomGenerator(RandomEngine randomGenerator)
randomGenerator - inputpublic void setState(double mean,
double standardDeviation)
mean - meanstandardDeviation - standard deviationpublic static double staticNextDouble(double mean,
double standardDeviation)
mean - meanstandardDeviation - standard deviationpublic String toString()
public double applyAsDouble(double dummy)
applyAsDouble in interface DoubleUnaryOperatorpublic int applyAsInt(int dummy)
applyAsInt in interface IntUnaryOperatorpublic Object clone()
protected RandomEngine getRandomGenerator()
public static RandomEngine makeDefaultGenerator()
MersenneTwister.public int nextInt()
Copyright 2009-Present by OpenGamma Inc. and individual contributors
Apache v2 licensed
Additional documentation can be found at strata.opengamma.io.