Frames No Frames Cognitoware API v2009512
Cognitoware.Robotics.dll

Class GaussianCanonical
System.Object
Cognitoware.Mathematics.Probability.RandomDistribution<Vector>
Cognitoware.Mathematics.Probability.Continuous.GaussianCanonical

## Summary

A canonical representation of a Gaussian.

## Constructor Summary

GaussianCanonical(Vector, Matrix)
Creates a Gaussian with the specified information and precision.

## Method Summary

AliasAs()
Inherited from Cognitoware.Mathematics.Probability.RandomDistribution
Create(GaussianMoment<X>)
Creates a canonical Gaussian from a moment Gaussian.
Equals(Object)
Inherited from System.Object
Finalize()
Inherited from System.Object
GetEntropy(IEnumerable<Vector>)
Inherited from Cognitoware.Mathematics.Probability.RandomDistribution
GetHashCode()
Inherited from System.Object
GetType()
Inherited from System.Object
MemberwiseClone()
Inherited from System.Object
Mu()
Returns mean of the Gaussian. This function calculates the precision inverse and multiplies the result by the information.
ProbabilityOf(Vector)
Not implemented in GaussianCanonical.
Sample(Random)
Not implemented in GaussianCanonical.
ToString()
Inherited from System.Object

## Details

Instead of using mean and covariance, the canonical parameterization uses information and precision to represent the distribution. The canonical form makes some calculations easier to perform. For this reason, it is used in Information Filter algorithm. The canonical form of a Gaussian is simple to convert to the moment form of the Gaussian. Information does not directly represent a x like the mean does in the moment form. For this reason, the canonical form uses an abstract Vector as its data type.

## Constructor Details

public GaussianCanonical(Vector xi, Matrix omega)
Creates a Gaussian with the specified information and precision.

### Parameters:

`xi` - The information Vector.
`omega` - The precision Matrix.

## Method Details

public static GaussianCanonical Create(GaussianMoment<X> x)
Creates a canonical Gaussian from a moment Gaussian.

### Parameters:

`x` - The moment based Gaussian distribution to convert.

### Returns:

A new canonical based Gaussian that represents the same distribution as the parameter.

public X Mu()
Returns mean of the Gaussian.

### Returns:

The mean of the moment form of this Gaussian.

public override Double ProbabilityOf(Vector t)
Implements the abstract method in RandomDistribution. Threows a NotImplementedException.

public override Vector Sample(Random select)
Implements the abstract method in RandomDistribution. Threows a NotImplementedException.