SSJ
V. 2.6.

## umontreal.iro.lecuyer.probdist Class LogarithmicDist

```java.lang.Object
umontreal.iro.lecuyer.probdist.DiscreteDistributionInt
umontreal.iro.lecuyer.probdist.LogarithmicDist
```
All Implemented Interfaces:
Distribution

`public class LogarithmicDistextends DiscreteDistributionInt`

Extends the class `DiscreteDistributionInt` for the logarithmic distribution. It has shape parameter θ, where 0 < θ < 1. Its mass function is

p(x) = - θx/(x log(1 - θ)        for x = 1, 2, 3,...

Its distribution function is

F(x) = -1/log(1-θ)∑i=1xθi/i, & for x > 0.

Field Summary

Fields inherited from class umontreal.iro.lecuyer.probdist.DiscreteDistributionInt
`EPSILON`

Constructor Summary
`LogarithmicDist(double theta)`
Constructs a logarithmic distribution with parameter θ = theta.

Method Summary
`static double` ```barF(double theta, int x)```
Computes the complementary distribution function.
` double` `barF(int x)`
Returns bar(F)(x), the complementary distribution function.
`static double` ```cdf(double theta, int x)```
Computes the distribution function F(x).
` double` `cdf(int x)`
Returns the distribution function F evaluated at x (see).
`static LogarithmicDist` ```getInstanceFromMLE(int[] x, int n)```
Creates a new instance of a logarithmic distribution with parameter θ estimated using the maximum likelihood method based on the n observations x[i], i = 0, 1,…, n - 1.
` double` `getMean()`
Returns the mean of the distribution function.
`static double` `getMean(double theta)`
Computes and returns the mean of the logarithmic distribution with parameter θ = theta.
`static double[]` ```getMLE(int[] x, int n)```
Estimates the parameter θ of the logarithmic distribution using the maximum likelihood method, from the n observations x[i], i = 0, 1,…, n - 1.
` double[]` `getParams()`
Return a table containing the parameters of the current distribution.
` double` `getStandardDeviation()`
Returns the standard deviation of the distribution function.
`static double` `getStandardDeviation(double theta)`
Computes and returns the standard deviation of the logarithmic distribution with parameter θ = theta.
` double` `getTheta()`
Returns the θ associated with this object.
` double` `getVariance()`
Returns the variance of the distribution function.
`static double` `getVariance(double theta)`
Computes and returns the variance of the logarithmic distribution with parameter θ = theta.
`static int` ```inverseF(double theta, double u)```

` int` `inverseFInt(double u)`
Returns the inverse distribution function F-1(u), where 0 <= u <= 1.
`static double` ```prob(double theta, int x)```
Computes the logarithmic probability p(x).
` double` `prob(int x)`
Returns p(x), the probability of x.
` void` `setTheta(double theta)`
Sets the θ associated with this object.
` String` `toString()`

Methods inherited from class umontreal.iro.lecuyer.probdist.DiscreteDistributionInt
`barF, cdf, getXinf, getXsup, inverseF`

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

Constructor Detail

### LogarithmicDist

`public LogarithmicDist(double theta)`
Constructs a logarithmic distribution with parameter θ = theta.

Method Detail

### prob

`public double prob(int x)`
Description copied from class: `DiscreteDistributionInt`
Returns p(x), the probability of x.

Specified by:
`prob` in class `DiscreteDistributionInt`
Parameters:
`x` - value at which the mass function must be evaluated
Returns:
the mass function evaluated at x

### cdf

`public double cdf(int x)`
Description copied from class: `DiscreteDistributionInt`
Returns the distribution function F evaluated at x (see).

Specified by:
`cdf` in class `DiscreteDistributionInt`
Parameters:
`x` - value at which the distribution function must be evaluated
Returns:
the distribution function evaluated at x

### barF

`public double barF(int x)`
Description copied from class: `DiscreteDistributionInt`
Returns bar(F)(x), the complementary distribution function. See the WARNING above.

Overrides:
`barF` in class `DiscreteDistributionInt`
Parameters:
`x` - value at which the complementary distribution function must be evaluated
Returns:
the complementary distribution function evaluated at x

### inverseFInt

`public int inverseFInt(double u)`
Description copied from class: `DiscreteDistributionInt`
Returns the inverse distribution function F-1(u), where 0 <= u <= 1. The default implementation uses binary search.

Overrides:
`inverseFInt` in class `DiscreteDistributionInt`
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.

### prob

```public static double prob(double theta,
int x)```
Computes the logarithmic probability p(x).

### cdf

```public static double cdf(double theta,
int x)```
Computes the distribution function F(x).

### barF

```public static double barF(double theta,
int x)```
Computes the complementary distribution function. WARNING: The complementary distribution function is defined as bar(F)(x) = P[X >= x].

### inverseF

```public static int inverseF(double theta,
double u)```

### getMLE

```public static double[] getMLE(int[] x,
int n)```
Estimates the parameter θ of the logarithmic distribution using the maximum likelihood method, from the n observations x[i], i = 0, 1,…, n - 1. The estimate is returned in element 0 of the returned array.

Parameters:
`x` - the list of observations used to evaluate parameters
`n` - the number of observations used to evaluate parameters
Returns:
returns the parameter [ hat(&thetas;)]

### getInstanceFromMLE

```public static LogarithmicDist getInstanceFromMLE(int[] x,
int n)```
Creates a new instance of a logarithmic distribution with parameter θ 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 theta)`
Computes and returns the mean of the logarithmic distribution with parameter θ = theta.

Returns:
the mean of the logarithmic distribution E[X] = - θ/((1 - θ)ln(1 - θ))

### getVariance

`public static double getVariance(double theta)`
Computes and returns the variance of the logarithmic distribution with parameter θ = theta.

Returns:
the variance of the logarithmic distribution Var[X] = - θ(θ + ln(1 - θ))/((1 - θ)2(ln(1 - θ))2)

### getStandardDeviation

`public static double getStandardDeviation(double theta)`
Computes and returns the standard deviation of the logarithmic distribution with parameter θ = theta.

Returns:
the standard deviation of the logarithmic distribution

### getTheta

`public double getTheta()`
Returns the θ associated with this object.

### setTheta

`public void setTheta(double theta)`
Sets the θ associated with this object.

### getParams

`public double[] getParams()`
Return a table containing the parameters of the current distribution.

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