Overview | Package | Class | Tree | Deprecated | Index | Help
| SSJ V. 2.1.1.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## umontreal.iro.lecuyer.randvar
Class LogarithmicGen

    java.lang.Object
      umontreal.iro.lecuyer.randvar.RandomVariateGen
          umontreal.iro.lecuyer.randvar.RandomVariateGenInt
              umontreal.iro.lecuyer.randvar.LogarithmicGen

    public class LogarithmicGen

extends RandomVariateGenInt

This class implements random variate generators for the (discrete) logarithmic distribution. Its mass function is

p(x) = for x = 1, 2,…,

where 0 < θ < 1. It uses inversion with the LS chop-down algorithm if θ < θ0 and the LK transformation algorithm if θ >= θ0, as described in. The threshold θ0 can be specified when invoking the constructor. Its default value is θ0 = 0.96, as suggested in.

A local copy of the parameter θ is maintained in this class.

Constructor Summary
`LogarithmicGen(RandomStream s, double theta)` Creates a logarithmic random variate generator with parameters θ = `theta` and default value θ0 = 0.96, using stream `s`.
`LogarithmicGen(RandomStream s, double theta, double theta0)` Creates a logarithmic random variate generator with parameters θ = `theta` and θ0 = theta0, using stream `s`.
`LogarithmicGen(RandomStream s, LogarithmicDist dist)` Creates a new generator with distribution `dist` and stream `s`, with default value θ0 = 0.96.
`LogarithmicGen(RandomStream s, LogarithmicDist dist, double theta0)` Creates a new generator with distribution `dist` and stream `s`, with θ0 = theta0.

Method Summary
`double` | `getTheta()` Returns the θ associated with this object.
`double` | `getTheta0()` Returns the θ0 associated with this object.
`int` | `nextInt()` Generates a random number (an integer) from the discrete distribution contained in this object.
`static int` | `nextInt(RandomStream s, double theta)` Uses stream `s` to generate a new variate from the logarithmic distribution with parameter θ = `theta`.

Methods inherited from class umontreal.iro.lecuyer.randvar.RandomVariateGenInt
`getDistribution, nextArrayOfInt`

Methods inherited from class umontreal.iro.lecuyer.randvar.RandomVariateGen
`getStream, nextArrayOfDouble, nextDouble, setStream`

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

Constructor Detail

### LogarithmicGen

    public LogarithmicGen(RandomStream s,
                          double theta)

  Creates a logarithmic random variate generator with parameters θ = `theta` and default value θ0 = 0.96, using stream `s`.

### LogarithmicGen

    public LogarithmicGen(RandomStream s,
                          double theta,
                          double theta0)

  Creates a logarithmic random variate generator with parameters θ = `theta` and θ0 = theta0, using stream `s`.

### LogarithmicGen

    public LogarithmicGen(RandomStream s,
                          LogarithmicDist dist)

  Creates a new generator with distribution `dist` and stream `s`, with default value θ0 = 0.96.

### LogarithmicGen

    public LogarithmicGen(RandomStream s,
                          LogarithmicDist dist,
                          double theta0)

  Creates a new generator with distribution `dist` and stream `s`, with θ0 = theta0.

Method Detail

### nextInt

    public int nextInt()

  Description copied from class: `RandomVariateGenInt`
  Generates a random number (an integer) from the discrete distribution contained in this object. By default, this method uses inversion by calling the `inverseF` method of the distribution object. Alternative generating methods are provided in subclasses.

  Overrides:
    `nextInt` in class `RandomVariateGenInt`
  Returns:
    the generated value

### nextInt

    public static int nextInt(RandomStream s,
                              double theta)

  Uses stream `s` to generate a new variate from the logarithmic distribution with parameter θ = `theta`.

### getTheta

    public double getTheta()

  Returns the θ associated with this object.

### getTheta0

    public double getTheta0()

  Returns the θ0 associated with this object.

Overview | Package | Class | Tree | Deprecated | Index | Help
| SSJ V. 2.1.1.
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

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