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.randvarmulti
Class DirichletGen

    java.lang.Object
      umontreal.iro.lecuyer.randvarmulti.RandomMultivariateGen
          umontreal.iro.lecuyer.randvarmulti.DirichletGen

    public class DirichletGen

extends RandomMultivariateGen

Extends `RandomMultivariateGen` for a Dirichlet distribution. This distribution uses the parameters α1,..., αk, and has density

f (x1,…, xk) =

where α0 = ∑i=1kαi.

Here, the successive coordinates of the Dirichlet vector are generated via the class `GammaAcceptanceRejectionGen` in package `randvar`, using the same stream for all the uniforms.

Constructor Summary
`DirichletGen(RandomStream stream, double[] alphas)` Constructs a new Dirichlet generator with parameters αi+1 = `alphas[i]`, for i = 0,…, k - 1, and the stream `stream`.

Method Summary
`double` | `getAlpha(int i)` Returns the αi+1 parameter for this Dirichlet generator.
`void` | `nextPoint(double[] p)` Generates a point from the Dirichlet distribution.
`static void` | `nextPoint(RandomStream stream, double[] alphas, double[] p)` Generates a new point from the Dirichlet distribution with parameters `alphas`, using the stream `stream`.

Methods inherited from class umontreal.iro.lecuyer.randvarmulti.RandomMultivariateGen
`getDimension, getStream, nextArrayOfPoints, setStream`

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

Constructor Detail

### DirichletGen

    public DirichletGen(RandomStream stream,
                        double[] alphas)

  Constructs a new Dirichlet generator with parameters αi+1 = `alphas[i]`, for i = 0,…, k - 1, and the stream `stream`.

  Parameters:
    `stream` - the random number stream used to generate uniforms.
    `alphas` - the αi parameters of the generated distribution.
  Throws:
    `IllegalArgumentException` - if one αk is negative or 0.
    `NullPointerException` - if any argument is `null`.

Method Detail

### getAlpha

    public double getAlpha(int i)

  Returns the αi+1 parameter for this Dirichlet generator.

  Parameters:
    `i` - the index of the parameter.
  Returns:
    the value of the parameter.
  Throws:
    `ArrayIndexOutOfBoundsException` - if `i` is negative or greater than or equal to `getDimension`.

### nextPoint

    public static void nextPoint(RandomStream stream,
                                 double[] alphas,
                                 double[] p)

  Generates a new point from the Dirichlet distribution with parameters `alphas`, using the stream `stream`. The generated values are placed into `p`.

  Parameters:
    `stream` - the random number stream used to generate the uniforms.
    `alphas` - the αi parameters of the distribution, for i = 1,…, k.
    `p` - the array to be filled with the generated point.

### nextPoint

    public void nextPoint(double[] p)

  Generates a point from the Dirichlet distribution.

  Specified by:
    `nextPoint` in class `RandomMultivariateGen`
  Parameters:
    `p` - the array to be filled with the generated point.

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.