edu.cmu.minorthird.classify.algorithms.random
Class Normal

java.lang.Object
  extended by edu.cmu.minorthird.classify.algorithms.random.Normal

public class Normal
extends java.lang.Object

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

Field Summary
protected  double cache
           
protected  boolean cacheFilled
           
protected  RandomElement gen
           
protected  double mean
           
protected  double SQRT_INV
           
protected  double standardDeviation
           
protected  double variance
           
 
Constructor Summary
Normal()
           
 
Method Summary
 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.
 void setState(double mean, double standardDeviation)
          Sets the mean and variance.
 java.lang.String toString()
          Returns a String representation of the receiver.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

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

gen

protected RandomElement gen
Constructor Detail

Normal

public Normal()
Method Detail

nextDouble

public double nextDouble()
Returns a random number from the distribution.


nextDouble

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


setState

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


toString

public java.lang.String toString()
Returns a String representation of the receiver.

Overrides:
toString in class java.lang.Object