SSJ
V. 2.6.

umontreal.iro.lecuyer.probdist Class LognormalDist

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

`public class LognormalDistextends ContinuousDistribution`

Extends the class `ContinuousDistribution` for the lognormal distribution. (See also the Johnson SL distribution JohnsonSLDist in this package.) It has scale parameter μ and shape parameter σ > 0. The density is

f (x) = ((2π)1/2σx)-1e-(ln(x)-μ)2/(2σ2)        for x > 0,

and 0 elsewhere. The distribution function is

F(x) = Φ((ln(x)-μ)/σ)        for x > 0,

where Φ is the standard normal distribution function. Its inverse is given by

F-1(u) = eμ+σΦ-1(u)        for 0 <= u < 1.

If ln(Y) has a normal distribution, then Y has a lognormal distribution with the same parameters.

This class relies on the methods `NormalDist.cdf01` and `NormalDist.inverseF01` of `NormalDist` to approximate Φ and Φ-1.

Field Summary

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

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

Method Summary
` double` `barF(double x)`
Returns the complementary distribution function.
`static double` ```barF(double mu, double sigma, double x)```
Computes the lognormal complementary distribution function bar(F)(x), using `NormalDist.barF01`.
` double` `cdf(double x)`
Returns the distribution function F(x).
`static double` ```cdf(double mu, double sigma, double x)```
Computes the lognormal distribution function, using `NormalDist.cdf01`.
` double` `density(double x)`
Returns f (x), the density evaluated at x.
`static double` ```density(double mu, double sigma, double x)```
Computes the lognormal density function f (x).
`static LognormalDist` ```getInstanceFromMLE(double[] x, int n)```
Creates a new instance of a lognormal distribution with parameters μ and σ estimated using the maximum likelihood method based on the n observations x[i], i = 0, 1,…, n - 1.
` double` `getMean()`
Returns the mean.
`static double` ```getMean(double mu, double sigma)```
Computes and returns the mean E[X] = eμ+σ2/2 of the lognormal distribution with parameters μ and σ.
`static double[]` ```getMLE(double[] x, int n)```
Estimates the parameters (μ, σ) of the lognormal distribution using the maximum likelihood method, from the n observations x[i], i = 0, 1,…, n - 1.
` double` `getMu()`
Returns the parameter μ of this object.
` double[]` `getParams()`
Returns a table containing the parameters of the current distribution, in the order: [μ, σ].
` double` `getSigma()`
Returns the parameter σ of this object.
` double` `getStandardDeviation()`
Returns the standard deviation.
`static double` ```getStandardDeviation(double mu, double sigma)```
Computes and returns the standard deviation of the lognormal distribution with parameters μ and σ.
` double` `getVariance()`
Returns the variance.
`static double` ```getVariance(double mu, double sigma)```
Computes and returns the variance Var[X] = e2μ+σ2(eσ2 - 1) of the lognormal distribution with parameters μ and σ.
` double` `inverseF(double u)`
Returns the inverse distribution function x = F-1(u).
`static double` ```inverseF(double mu, double sigma, double u)```
Computes the inverse of the lognormal distribution function, using `NormalDist.inverseF01`.
` void` ```setParams(double mu, double sigma)```
Sets the parameters μ and σ of this object.
` String` `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

LognormalDist

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

LognormalDist

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

Method Detail

density

`public double density(double x)`
Description copied from class: `ContinuousDistribution`
Returns f (x), the density 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`
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 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 `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 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 `ContinuousDistribution`
Parameters:
`u` - value at which the inverse distribution function is evaluated
Returns:
the inverse distribution function evaluated at u

getMean

`public double getMean()`
Description copied from class: `ContinuousDistribution`
Returns the mean.

Specified by:
`getMean` in interface `Distribution`
Overrides:
`getMean` in class `ContinuousDistribution`
Returns:
the mean

getVariance

`public double getVariance()`
Description copied from class: `ContinuousDistribution`
Returns the variance.

Specified by:
`getVariance` in interface `Distribution`
Overrides:
`getVariance` in class `ContinuousDistribution`
Returns:
the variance

getStandardDeviation

`public double getStandardDeviation()`
Description copied from class: `ContinuousDistribution`
Returns the standard deviation.

Specified by:
`getStandardDeviation` in interface `Distribution`
Overrides:
`getStandardDeviation` in class `ContinuousDistribution`
Returns:
the standard deviation

density

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

cdf

```public static double cdf(double mu,
double sigma,
double x)```
Computes the lognormal distribution function, using `NormalDist.cdf01`.

barF

```public static double barF(double mu,
double sigma,
double x)```
Computes the lognormal complementary distribution function bar(F)(x), using `NormalDist.barF01`.

inverseF

```public static double inverseF(double mu,
double sigma,
double u)```
Computes the inverse of the lognormal distribution function, using `NormalDist.inverseF01`.

getMLE

```public static double[] getMLE(double[] x,
int n)```
Estimates the parameters (μ, σ) of the lognormal distribution using the maximum likelihood method, from the n observations x[i], i = 0, 1,…, n - 1. The estimates are returned in a two-element array, in regular order: [μ, σ].

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(σ)]

getInstanceFromMLE

```public static LognormalDist getInstanceFromMLE(double[] x,
int n)```
Creates a new instance of a lognormal distribution with parameters μ and σ estimated using the maximum likelihood method based on the n observations 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

getMean

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

Returns:
the mean of the lognormal distribution

getVariance

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

Returns:
the variance of the lognormal distribution

getStandardDeviation

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

Returns:
the standard deviation of the lognormal distribution

getMu

`public double getMu()`
Returns the parameter μ of this object.

getSigma

`public double getSigma()`
Returns the parameter σ of this object.

setParams

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

getParams

`public double[] getParams()`
Returns a table containing the parameters of the current distribution, in the order: [μ, σ].

toString

`public String toString()`
Overrides:
`toString` in class `Object`

SSJ
V. 2.6.

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