be.ac.ulg.montefiore.run.distributions
Class MultiGaussianDistribution

java.lang.Object
  extended by be.ac.ulg.montefiore.run.distributions.MultiGaussianDistribution
All Implemented Interfaces:
MultiRandomDistribution, java.io.Serializable

public class MultiGaussianDistribution
extends java.lang.Object
implements MultiRandomDistribution

This class implements a multi-variate Gaussian distribution.

See Also:
Serialized Form

Constructor Summary
MultiGaussianDistribution(double[] mean, double[][] covariance)
          Creates a new pseudo-random, multivariate gaussian distribution.
MultiGaussianDistribution(int dimension)
          Creates a new pseudo-random, multivariate gaussian distribution with zero mean and identity covariance.
 
Method Summary
 double[][] covariance()
          Returns (a copy of) this distribution's covariance matrix.
 double covarianceDet()
          Returns the covariance matrix determinant.
 int dimension()
          Returns the dimension of the vectors handled by this random distribution.
 double[] generate()
          Generates a pseudo-random vector according to this distribution.
 double[] mean()
          Returns (a copy of) this distribution's mean vector.
 double probability(double[] v)
          Returns the probability (density) of a given vector.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MultiGaussianDistribution

public MultiGaussianDistribution(double[] mean,
                                 double[][] covariance)
Creates a new pseudo-random, multivariate gaussian distribution.

Parameters:
mean - The mean vector of the generated numbers. This array is copied.
covariance - The covariance of the generated numbers. This array is copied. covariance[r][c] is the element at row r and column c.

MultiGaussianDistribution

public MultiGaussianDistribution(int dimension)
Creates a new pseudo-random, multivariate gaussian distribution with zero mean and identity covariance.

Parameters:
dimension - This distribution dimension.
Method Detail

dimension

public int dimension()
Description copied from interface: MultiRandomDistribution
Returns the dimension of the vectors handled by this random distribution.

Specified by:
dimension in interface MultiRandomDistribution
Returns:
The generated vectors' dimension.

mean

public double[] mean()
Returns (a copy of) this distribution's mean vector.

Returns:
This distribution's mean vector.

covariance

public double[][] covariance()
Returns (a copy of) this distribution's covariance matrix.

Returns:
This distribution's covariance matrix.

covarianceDet

public double covarianceDet()
Returns the covariance matrix determinant.

Returns:
The covariance matrix determinant.

generate

public double[] generate()
Generates a pseudo-random vector according to this distribution. The vectors are generated using the Cholesky decomposition of the covariance matrix.

Specified by:
generate in interface MultiRandomDistribution
Returns:
A pseudo-random vector.

probability

public double probability(double[] v)
Description copied from interface: MultiRandomDistribution
Returns the probability (density) of a given vector.

Specified by:
probability in interface MultiRandomDistribution
Parameters:
v - A vector.
Returns:
The probability of the vector v.


Copyright © 2004,2005 Jean-Marc François.