SSJ
V. 1.2.5.

## umontreal.iro.lecuyer.probdist Class NormalDist

```java.lang.Object
umontreal.iro.lecuyer.probdist.ContinuousDistribution
umontreal.iro.lecuyer.probdist.NormalDist
```
All Implemented Interfaces:
Distribution
Direct Known Subclasses:
NormalDistQuick

`public class NormalDistextends ContinuousDistribution`

Extends the class `ContinuousDistribution` for the normal distribution (e.g.,). It has mean μ and variance σ2. Its density function is

f (x) = e-(x-μ)2/(2σ2)/((2π)1/2σ)        for - ∞ < x < ∞,

where σ > 0. When μ = 0 and σ = 1, we have the standard normal distribution, with corresponding distribution function

F(x) = Φ(x) = ∫-∞xe-t2/2 dt/(2π)1/2        for - ∞ < x < ∞.

The non-static methods cdf, barF, and inverseF are implemented via `cdf01`, `barF01`, and `inverseF01`, respectively.

Field Summary

Fields inherited from class umontreal.iro.lecuyer.probdist.ContinuousDistribution
`decPrec`

Constructor Summary
`NormalDist()`
Constructs a NormalDist object with default parameters μ = 0 and σ = 1.
```NormalDist(double mu, double sigma)```
Constructs a NormalDist object with parameters μ = mu and σ = sigma.

Method Summary
` double` `barF(double x)`
Returns bar(F)(x) = 1 - F(x).
`static double` ```barF(double mu, double sigma, double x)```
Computes the complementary normal distribution function bar(F)(x) = 1 - Φ((x - μ)/σ), with mean μ and variance σ.
`static double` `barF01(double x)`
Same as `barF` (0.0, 1.0, x).
` double` `cdf(double x)`
Computes and returns the distribution function F(x).
`static double` ```cdf(double mu, double sigma, double x)```
Computes the normal distribution function with mean μ and variance σ2.
`static double` `cdf01(double x)`
Same as `cdf` (0.0, 1.0, x).
` double` `density(double x)`
Returns f (x), the density of X evaluated at x.
`static double` ```density(double mu, double sigma, double x)```
Computes the normal density function.
`static NormalDist` ```getInstanceFromMLE(double[] x, int n)```
Creates a new instance of a normal distribution with parameters μ and σ estimated using the maximum likelihood method based on the n observations in table x[i], i = 0, 1,…, n - 1.
`static double[]` ```getMaximumLikelihoodEstimate(double[] x, int n)```
Estimates and returns the parameters [hat(μ), hat(σ)] of the normal distribution using the maximum likelihood method based on the n observations in table x[i], i = 0, 1,…, n - 1.
` double` `getMean()`
Returns the mean of the distribution function.
`static double` ```getMean(double mu, double sigma)```
Computes and returns the mean E[X] = μ of the normal distribution with parameters μ and σ.
` double` `getMu()`
Returns the parameter μ.
` double` `getSigma()`
Returns the parameter σ.
` double` `getStandardDeviation()`
Returns the standard deviation of the distribution function.
`static double` ```getStandardDeviation(double mu, double sigma)```
Computes and returns the standard deviation σ of the normal distribution with parameters μ and σ.
` double` `getVariance()`
Returns the variance of the distribution function.
`static double` ```getVariance(double mu, double sigma)```
Computes and returns the variance Var[X] = σ2 of the normal distribution with parameters μ and σ.
` double` `inverseF(double u)`
Computes and returns the inverse distribution function F-1(u), defined in.
`static double` ```inverseF(double mu, double sigma, double u)```
Computes the inverse normal distribution function with mean μ and variance σ2.
`static double` `inverseF01(double u)`
Same as `inverseF` (0.0, 1.0, u).
` void` ```setParams(double mu, double sigma)```
Sets the parameters μ and σ of this object.

Methods inherited from class umontreal.iro.lecuyer.probdist.ContinuousDistribution
`inverseBisection, inverseBrent`

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### NormalDist

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

### NormalDist

```public NormalDist(double mu,
double sigma)```
Constructs a NormalDist object with parameters μ = mu and σ = sigma.

Method Detail

### density

`public double density(double x)`
Description copied from class: `ContinuousDistribution`
Returns f (x), the density of X evaluated at x.

Specified by:
`density` in class `ContinuousDistribution`
Parameters:
`x` - value at which the density is evaluated
Returns:
density function evaluated at x

### cdf

`public double cdf(double x)`
Description copied from interface: `Distribution`
Computes and returns the distribution function F(x).

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 interface: `Distribution`
Returns bar(F)(x) = 1 - F(x).

Specified by:
`barF` in interface `Distribution`
Overrides:
`barF` in class `ContinuousDistribution`
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 interface: `Distribution`
Computes and returns the inverse distribution function F-1(u), defined in.

Specified by:
`inverseF` in interface `Distribution`
Overrides:
`inverseF` in class `ContinuousDistribution`
Parameters:
`u` - value in the interval (0, 1) for which the inverse distribution function is evaluated
Returns:
the inverse distribution function evaluated at u

### getMean

`public double getMean()`
Description copied from interface: `Distribution`
Returns the mean of the distribution function.

### getVariance

`public double getVariance()`
Description copied from interface: `Distribution`
Returns the variance of the distribution function.

### getStandardDeviation

`public double getStandardDeviation()`
Description copied from interface: `Distribution`
Returns the standard deviation of the distribution function.

### density

```public static double density(double mu,
double sigma,
double x)```
Computes the normal density function.

### 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)```
Computes the normal distribution function with mean μ and variance σ2. Uses the Chebyshev approximation , which gives 16 decimals of precision.

### 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)```
Computes the complementary normal distribution function bar(F)(x) = 1 - Φ((x - μ)/σ), with mean μ and variance σ. Uses a Chebyshev series giving 16 decimal digits of precision.

### 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)```
Computes the inverse normal distribution function with mean μ and variance σ2. Uses rational Chebyshev approximations giving at least 16 decimal digits of precision.

### getInstanceFromMLE

```public static NormalDist getInstanceFromMLE(double[] x,
int n)```
Creates a new instance of a normal distribution with parameters μ and σ estimated using the maximum likelihood method based on the n observations in table x[i], i = 0, 1,…, n - 1.

Parameters:
`x` - the list of observations to use to evaluate parameters
`n` - the number of observations to use to evaluate parameters

### getMaximumLikelihoodEstimate

```public static double[] getMaximumLikelihoodEstimate(double[] x,
int n)```
Estimates and returns the parameters [hat(μ), hat(σ)] of the normal distribution using the maximum likelihood method based on the n observations in table x[i], i = 0, 1,…, n - 1.

Parameters:
`x` - the list of observations used to evaluate parameters
`n` - the number of observations used to evaluate parameters
Returns:
returns the parameters [hat(μ), hat(σ)]

### getMean

```public static double getMean(double mu,
double sigma)```
Computes and returns the mean E[X] = μ of the normal distribution with parameters μ and σ.

Returns:
the mean of the normal distribution E[X] = μ

### getVariance

```public static double getVariance(double mu,
double sigma)```
Computes and returns the variance Var[X] = σ2 of the normal distribution with parameters μ and σ.

Returns:
the variance of the normal distribution Var[X] = σ2

### getStandardDeviation

```public static double getStandardDeviation(double mu,
double sigma)```
Computes and returns the standard deviation σ of the normal distribution with parameters μ and σ.

Returns:
the standard deviation of the normal distribution

### getMu

`public double getMu()`
Returns the parameter μ.

### getSigma

`public double getSigma()`
Returns the parameter σ.

### setParams

```public void setParams(double mu,
double sigma)```
Sets the parameters μ and σ of this object.

SSJ
V. 1.2.5.

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