cern.jet.random

## Class Normal

- java.lang.Object
- - cern.colt.PersistentObject
  - - cern.jet.random.AbstractDistribution
    - - cern.jet.random.AbstractContinousDistribution
      - - cern.jet.random.Normal

- 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 inherited from class cern.colt.PersistentObject

      `serialVersionUID`

  - ### 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.
    `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.

    - ### Methods inherited from class cern.jet.random.AbstractDistribution

      `apply, apply, clone, makeDefaultGenerator, nextInt`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- - ### 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 java.lang.String toString()

      Returns a String representation of the receiver.
      Overrides:
        `toString` in class `java.lang.Object`

Jump to the Colt Homepage