gov.sandia.cognition.statistics.distribution

## Class DirichletDistribution

• ### Nested Class Summary

Nested Classes
Modifier and Type Class and Description
`static class ` `DirichletDistribution.PDF`
PDF of the Dirichlet distribution.
• ### Field Summary

Fields
Modifier and Type Field and Description
`protected Vector` `parameters`
Parameters of the Dirichlet distribution, must be at least 2-dimensional and each element must be positive.
• ### Constructor Summary

Constructors
Constructor and Description
`DirichletDistribution()`
Creates a new instance of DirichletDistribution
`DirichletDistribution(DirichletDistribution other)`
Copy Constructor.
`DirichletDistribution(int dimensionality)`
Creates a new instance of DirichletDistribution
`DirichletDistribution(Vector parameters)`
Creates a new instance of DirichletDistribution
• ### Method Summary

All Methods
Modifier and Type Method and Description
`DirichletDistribution` `clone()`
This makes public the clone method on the `Object` class and removes the exception that it throws.
`void` `convertFromVector(Vector parameters)`
Converts the object from a Vector of parameters.
`Vector` `convertToVector()`
Converts the object to a vector.
`Vector` `getMean()`
Gets the arithmetic mean, or "first central moment" or "expectation", of the distribution.
`Vector` `getParameters()`
Getter for parameters
`DirichletDistribution.PDF` `getProbabilityFunction()`
Gets the distribution function associated with this Distribution, either the PDF or PMF.
`Vector` `sample(java.util.Random random)`
Draws a single random sample from the distribution.
`void` ```sampleInto(java.util.Random random, int numSamples, java.util.Collection<? super Vector> output)```
Draws multiple random samples from the distribution and puts the result into the given collection.
`void` `setParameters(Vector parameters)`
Setter for parameters
• ### Methods inherited from class gov.sandia.cognition.statistics.AbstractDistribution

`sample`
• ### Methods inherited from class java.lang.Object

`equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
• ### Methods inherited from interface gov.sandia.cognition.statistics.Distribution

`sample`
• ### Field Detail

• #### parameters

`protected Vector parameters`
Parameters of the Dirichlet distribution, must be at least 2-dimensional and each element must be positive.
• ### Constructor Detail

• #### DirichletDistribution

`public DirichletDistribution()`
Creates a new instance of DirichletDistribution
• #### DirichletDistribution

`public DirichletDistribution(int dimensionality)`
Creates a new instance of DirichletDistribution
Parameters:
`dimensionality` - Dimensionality of the distribution
• #### DirichletDistribution

`public DirichletDistribution(Vector parameters)`
Creates a new instance of DirichletDistribution
Parameters:
`parameters` - Parameters of the Dirichlet distribution, must be at least 2-dimensional and each element must be positive.
• #### DirichletDistribution

`public DirichletDistribution(DirichletDistribution other)`
Copy Constructor.
Parameters:
`other` - DirichletDistribution to copy.
• ### Method Detail

• #### clone

`public DirichletDistribution clone()`
Description copied from class: `AbstractCloneableSerializable`
This makes public the clone method on the `Object` class and removes the exception that it throws. Its default behavior is to automatically create a clone of the exact type of object that the clone is called on and to copy all primitives but to keep all references, which means it is a shallow copy. Extensions of this class may want to override this method (but call `super.clone()` to implement a "smart copy". That is, to target the most common use case for creating a copy of the object. Because of the default behavior being a shallow copy, extending classes only need to handle fields that need to have a deeper copy (or those that need to be reset). Some of the methods in `ObjectUtil` may be helpful in implementing a custom clone method. Note: The contract of this method is that you must use `super.clone()` as the basis for your implementation.
Specified by:
`clone` in interface `Vectorizable`
Specified by:
`clone` in interface `CloneableSerializable`
Overrides:
`clone` in class `AbstractCloneableSerializable`
Returns:
A clone of this object.
• #### getMean

`public Vector getMean()`
Description copied from interface: `DistributionWithMean`
Gets the arithmetic mean, or "first central moment" or "expectation", of the distribution.
Specified by:
`getMean` in interface `DistributionWithMean<Vector>`
Returns:
Mean of the distribution.
• #### sample

`public Vector sample(java.util.Random random)`
Description copied from interface: `Distribution`
Draws a single random sample from the distribution.
Specified by:
`sample` in interface `Distribution<Vector>`
Overrides:
`sample` in class `AbstractDistribution<Vector>`
Parameters:
`random` - Random-number generator to use in order to generate random numbers.
Returns:
Sample drawn according to this distribution.
• #### sampleInto

```public void sampleInto(java.util.Random random,
int numSamples,
java.util.Collection<? super Vector> output)```
Description copied from interface: `Distribution`
Draws multiple random samples from the distribution and puts the result into the given collection.
Specified by:
`sampleInto` in interface `Distribution<Vector>`
Parameters:
`random` - Random number generator to use.
`numSamples` - The number of samples to draw. Cannot be negative.
`output` - The collection to add the samples into.
• #### convertToVector

`public Vector convertToVector()`
Description copied from interface: `Vectorizable`
Converts the object to a vector.
Specified by:
`convertToVector` in interface `Vectorizable`
Returns:
The Vector form of the object.
• #### convertFromVector

`public void convertFromVector(Vector parameters)`
Description copied from interface: `Vectorizable`
Converts the object from a Vector of parameters.
Specified by:
`convertFromVector` in interface `Vectorizable`
Parameters:
`parameters` - The parameters to incorporate.
• #### getParameters

`public Vector getParameters()`
Getter for parameters
Returns:
Parameters of the Dirichlet distribution, must be at least 2-dimensional and each element must be positive.
• #### setParameters

`public void setParameters(Vector parameters)`
Setter for parameters
Parameters:
`parameters` - Parameters of the Dirichlet distribution, must be at least 2-dimensional and each element must be positive.
• #### getProbabilityFunction

`public DirichletDistribution.PDF getProbabilityFunction()`
Description copied from interface: `ComputableDistribution`
Gets the distribution function associated with this Distribution, either the PDF or PMF.
Specified by:
`getProbabilityFunction` in interface `ComputableDistribution<Vector>`
Returns:
Distribution function associated with this Distribution.