public class DirichletGen extends RandomMultivariateGen
RandomMultivariateGen for a
Dirichlet distribution. This distribution uses the
parameters
α1,..., αk, and has density
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 and Description |
|---|
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.
|
| Modifier and Type | Method and Description |
|---|---|
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.
|
getDimension, getStream, nextArrayOfPoints, setStreampublic DirichletGen(RandomStream stream, double[] alphas)
stream - the random number stream used to generate uniforms.alphas - the αi parameters of the generated distribution.java.lang.IllegalArgumentException - if one αk is negative or 0.java.lang.NullPointerException - if any argument is null.public double getAlpha(int i)
i - the index of the parameter.java.lang.ArrayIndexOutOfBoundsException - if i is
negative or greater than or equal to getDimension.public static void nextPoint(RandomStream stream, double[] alphas, double[] p)
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.public void nextPoint(double[] p)
nextPoint in class RandomMultivariateGenp - the array to be filled with the generated point.To submit a bug or ask questions, send an e-mail to Pierre L'Ecuyer.