SSJ
V. 2.6.

umontreal.iro.lecuyer.probdist
Class NormalDistQuick

java.lang.Object
  extended by umontreal.iro.lecuyer.probdist.ContinuousDistribution
      extended by umontreal.iro.lecuyer.probdist.NormalDist
          extended by umontreal.iro.lecuyer.probdist.NormalDistQuick
All Implemented Interfaces:
Distribution

public class NormalDistQuick
extends NormalDist

A variant of the class NormalDist (for the normal distribution with mean μ and variance σ2). The difference is in the implementation of the methods cdf01, barF01 and inverseF01, which are faster but less accurate than those of the class NormalDist.


Field Summary
 
Fields inherited from class umontreal.iro.lecuyer.probdist.ContinuousDistribution
decPrec
 
Constructor Summary
NormalDistQuick()
          Constructs a NormalDistQuick object with default parameters μ = 0 and σ = 1.
NormalDistQuick(double mu, double sigma)
          Constructs a NormalDistQuick object with mean μ = mu and standard deviation σ = sigma.
 
Method Summary
 double barF(double x)
          Returns the complementary distribution function.
static double barF(double mu, double sigma, double x)
          Returns an approximation of 1 - Φ(x), where Φ is the standard normal distribution function, with mean 0 and variance 1.
static double barF01(double x)
          Same as barF (0.0, 1.0, x).
 double cdf(double x)
          Returns the distribution function F(x).
static double cdf(double mu, double sigma, double x)
          Returns an approximation of Φ(x), where Φ is the standard normal distribution function, with mean 0 and variance 1.
static double cdf01(double x)
          Same as cdf (0.0, 1.0, x).
 double inverseF(double u)
          Returns the inverse distribution function x = F-1(u).
static double inverseF(double mu, double sigma, double u)
          Returns an approximation of Φ-1(u), where Φ is the standard normal distribution function, with mean 0 and variance 1.
static double inverseF01(double u)
          Same as inverseF (0.0, 1.0, u).
 
Methods inherited from class umontreal.iro.lecuyer.probdist.NormalDist
density, density, density01, getInstanceFromMLE, getMean, getMean, getMLE, getMu, getParams, getSigma, getStandardDeviation, getStandardDeviation, getVariance, getVariance, setParams, toString
 
Methods inherited from class umontreal.iro.lecuyer.probdist.ContinuousDistribution
getXinf, getXsup, inverseBisection, inverseBrent, setXinf, setXsup
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

NormalDistQuick

public NormalDistQuick()
Constructs a NormalDistQuick object with default parameters μ = 0 and σ = 1.


NormalDistQuick

public NormalDistQuick(double mu,
                       double sigma)
Constructs a NormalDistQuick object with mean μ = mu and standard deviation σ = sigma.

Method Detail

cdf

public double cdf(double x)
Description copied from interface: Distribution
Returns the distribution function F(x).

Specified by:
cdf in interface Distribution
Overrides:
cdf in class NormalDist
Parameters:
x - value at which the distribution function is evaluated
Returns:
distribution function evaluated at x

barF

public double barF(double x)
Description copied from class: ContinuousDistribution
Returns the complementary distribution function. The default implementation computes bar(F)(x) = 1 - F(x).

Specified by:
barF in interface Distribution
Overrides:
barF in class NormalDist
Parameters:
x - value at which the complementary distribution function is evaluated
Returns:
complementary distribution function evaluated at x

inverseF

public double inverseF(double u)
Description copied from class: ContinuousDistribution
Returns the inverse distribution function x = F-1(u). Restrictions: u∈[0, 1].

Specified by:
inverseF in interface Distribution
Overrides:
inverseF in class NormalDist
Parameters:
u - value at which the inverse distribution function is evaluated
Returns:
the inverse distribution function evaluated at u

cdf01

public static double cdf01(double x)
Same as cdf (0.0, 1.0, x).


cdf

public static double cdf(double mu,
                         double sigma,
                         double x)
Returns an approximation of Φ(x), where Φ is the standard normal distribution function, with mean 0 and variance 1. Uses Marsaglia et al's fast method with table lookups. Returns 15 decimal digits of precision. This method is approximately 60% faster than NormalDist.cdf.


barF01

public static double barF01(double x)
Same as barF (0.0, 1.0, x).


barF

public static double barF(double mu,
                          double sigma,
                          double x)
Returns an approximation of 1 - Φ(x), where Φ is the standard normal distribution function, with mean 0 and variance 1. Uses Marsaglia et al's fast method with table lookups. Returns 15 decimal digits of precision. This method is approximately twice faster than NormalDist.barF.


inverseF01

public static double inverseF01(double u)
Same as inverseF (0.0, 1.0, u).


inverseF

public static double inverseF(double mu,
                              double sigma,
                              double u)
Returns an approximation of Φ-1(u), where Φ is the standard normal distribution function, with mean 0 and variance 1. Uses the method of Marsaglia, Zaman, and Marsaglia, with table lookups. Returns 6 decimal digits of precision. This method is approximately 20% faster than NormalDist.inverseF.


SSJ
V. 2.6.

To submit a bug or ask questions, send an e-mail to Pierre L'Ecuyer.