MicrosoftResearch.Infer.Distributions Namespace 
Class  Description  

AccumulateIntoCollectionT 
An Accumulator that adds each element to a collection.
 
AccumulatorListT 
Wraps a list of accumulators, adding each sample to all of them.
 
Array2DEstimatorItemEstimator, DistributionArray, Distribution 
Estimator for a 2D DistributionArray type, where the samples are distributions
 
Array2DEstimatorItemEstimator, DistributionArray, Distribution, Sample 
Estimator for a 2D DistributionArray type.
 
ArrayEstimator 
Useful static methods relating to array estimators
 
ArrayEstimatorT 
Static class which implements useful functions on estimator arrays.
 
ArrayEstimatorItemEstimator, DistributionArray, Distribution 
Estimator for a DistributionArray type where the sample type is a distribution
 
ArrayEstimatorItemEstimator, DistributionArray, Distribution, Sample 
Estimator for a DistributionArray type.
 
BernoulliEstimator 
Estimates a Bernoulli distribution from samples.
 
BernoulliIntegerSubset 
Represents a sparse list of Bernoulli distributions considered as a distribution over a variablesized list of
integers, which are the indices of elements in the boolean list with value 'true'.
 
BetaEstimator 
Estimates a Beta distribution from samples.
 
BurnInAccumulatorT 
Wraps an accumulator, discarding the first BurnIn samples.
 
CollectionElementMappingInfo 
Element mapping information for the product of collection distributions
 
ConditionalListTDist 
Conditional List
 
ConstantFunction 
Class implementing the constant function. Used as a domain prototype
for distributions over functions
 
Dirichlet 
A Dirichlet distribution on probability vectors.
 
DirichletEstimator 
Estimates a Dirichlet distribution from samples.
 
Discrete 
An arbitrary distribution over integers [0,D1].
 
DiscreteChar 
Represents a distribution over characters.
 
DiscreteEnumTEnum 
A discrete distribution over the values of an enum.
 
DiscreteEstimator 
Estimates a discrete distribution from samples.
 
Distribution 
Static class which implements useful functions on distributions.
 
DistributionT 
Static class which implements useful functions on distributions.
 
DistributionArrayT 
A distribution over an array, where each element is independent and has distribution type T  
DistributionArrayT, DomainType 
A distribution over an array of type DomainType, where each element is independent and has distribution of type T  
DistributionArray2DT 
A distribution over a 2D array, where each element is independent and has distribution type T  
DistributionArray2DT, DomainType 
A distribution over an array of type DomainType, where each element is independent and has distribution of type T  
DistributionFileArrayT, DomainType 
A distribution over an array of type DomainType, where each element is independent and has distribution of type T, all stored in a file.
 
DistributionStructArrayT, DomainType 
A distribution over an array of type DomainType, where each element is independent and has distribution of type T  
DistributionStructArray2DT, DomainType 
A distribution over a 2D array of type DomainType, where each element is independent and has distribution of type T  
EstimatorFactory 
Estimator factor. Given a distribution instance, create a compatible estimator instance
 
GammaEstimator 
Estimates a Gamma distribution from samples.
 
GaussianEstimator 
Estimates a Gaussian distribution from samples.
 
GaussianProcess 
A base class for Gaussian process distributions
 
GenericDiscreteBaseT, TThis 
A generic base class for discrete distributions over a type T.
 
ImproperDistributionException 
Exception thrown when a distribution is improper and its expectations need to be computed.
 
LinearSpline 
Very simple 1D linear spline class which implements IFunction.
Assumes knots at regular positions  given by a start and increment.
The vector of knot values defines how many knots.
 
ListDistributionTElement, TElementDistribution 
Represents a distribution over List<T> that use a weighted finite state automaton as the underlying weight function.
 
ListDistributionTList, TElement, TElementDistribution 
Represents a distribution over lists that use a weighted finite state automaton as the underlying weight function.
 
ListDistributionTList, TElement, TElementDistribution, TThis 
A base class for distributions over lists that use a weighted finite state automaton as the underlying weight function.
 
MixtureTDist, TDomain, TThis 
A mixture of distributions of the same type
 
MixtureEstimatorTDist 
An estimator which is a mixture of distributions of the same type
 
PointMassT 
A point mass, which is the 'distribution' you get for an observed variable.
All the probability mass is at the point given by observed value.
 
PoissonEstimator 
Estimates a Poisson distribution from samples.
 
Rank1Pot 
Rank 1 potential for a sparse GP. This low rank parameterisation
is used for messages flowing from a SparseGP evaluation factor to
a function variable.
 
SampleListT 
Sample List
 
SequenceDistributionTSequence, TElement, TElementDistribution, TSequenceManipulator, TWeightFunction, TThis 
A base class for implementations of distributions over sequences.
 
SequenceDistributionFormats 
A collection of sequence distribution formats.
 
SparseBernoulliList 
Represents a sparse list of Bernoulli distributions, optimized for the case where many share
the same parameter value. The class supports
an approximation tolerance which allows elements close to the common value to be
automatically reset to the common value.
 
SparseBetaList 
Represents a sparse list of Beta distributions, optimized for the case where many share
the same parameter value. The class supports
an approximation tolerance which allows elements close to the common value to be
automatically reset to the common value.
 
SparseDistributionListTDist, TDomain, TThis 
Abstract base class for a homogeneous sparse list of distributions. The class supports
an approximation tolerance which allows elements close to the common value to be
automatically reset to the common value. The list implements the
interfaces which allow these distributions to participate in message passing.
 
SparseGammaList 
Represents a sparse list of Gamma distributions, optimized for the case where many share
the same parameter value. The class supports
an approximation tolerance which allows elements close to the common value to be
automatically reset to the common value.
 
SparseGaussianList 
Represents a sparse list of Gaussian distributions, optimized for the case where many share
the same parameter value. The class supports
an approximation tolerance which allows elements close to the common value to be
automatically reset to the common value.
 
SparseGP 
A Gaussian Process distribution over functions, represented by a GP prior times a set of regression likelihoods on basis points.
 
SparseGPFixed 
This class maintains all the fixed parameters for a sparse GP
 i.e. parameters which the inference does not change.
All SparseGP messages can refer to a single SparseGPFixed
class, and cloning of SparseGP instances will just copy the
reference
 
StringDistribution 
Represents a distribution over strings that uses a weighted finite state automaton as the underlying weight function.
 
TruncatedGaussianEstimator 
Estimates a TruncatedGaussian distribution from samples.
 
UnnormalizedDiscrete 
Represents a discrete distribution in the log domain without explicit normalization.
 
VectorGaussian 
Represents a multivariate Gaussian distribution.
 
VectorGaussianEstimator 
Estimates a Gaussian distribution from samples.
 
VectorGaussianMoments 
Represents a multivariate Gaussian distribution.
 
Wishart 
A Wishart distribution on positive definite matrices.
 
WishartEstimator 
Estimates a Wishart distribution from samples.

Structure  Description  

Bernoulli 
Represents a distribution on a binary variable.
 
Beta 
A Beta distribution over the interval [0,1].
 
Binomial 
Binomial distribution over the integers [0,n]
 
ConjugateDirichlet 
Represents the distribution proportion to x^{Shape1} exp(Rate*x) / B(x,D)^K
where B(x,D)=Gamma(x)^D/Gamma(D*x)
 
DiscreteCharCharRange 
Represents a range of characters, with an associated probability.
 
Gamma 
A Gamma distribution on positive reals.
 
GammaPower 
The distribution of a Gamma variable raised to a power. The Weibull distribution is a special case.
 
Gaussian 
Represents a onedimensional Gaussian distribution.
 
NonconjugateGaussian 
Nonconjugate Gaussian messages for VMP. The mean has a Gaussian distribution and the variance a Gamma distribution.
 
Pareto 
A Pareto distribution over the real numbers from lowerBound to infinity.
 
Poisson 
A Poisson distribution over the integers [0,infinity).
 
TruncatedGamma 
A distribution over real numbers between an upper and lower bound. If LowerBound=0 and UpperBound=Inf, it reduces to an ordinary Gamma distribution.
 
TruncatedGaussian 
A distribution over real numbers between an upper and lower bound. If both bounds are infinite, it reduces to an ordinary Gaussian distribution.
 
WrappedGaussian 
A Gaussian distribution on a periodic domain, such as angles between 0 and 2*pi.

Interface  Description  

AccumulatorT 
Indicates support for adding an item to a distribution estimator
 
CanEnumerateSupportT 
Whether the distribution supports enumeration over the support  i.e. enumeration
over the domain values with nonzero mass.
 
CanGetAverageLogT 
Whether the distribution supports the expected logarithm of one instance under another
 
CanGetLogAverageOfT 
Whether the distribution can compute the expectation of another distribution's value.
 
CanGetLogAverageOfPowerT 
Whether the distribution can compute the expectation of another distribution raised to a power.
 
CanGetLogNormalizer 
Whether the distribution can compute its normalizer.
 
CanGetLogProbT 
Whether the distribution supports evaluation of its density
 
CanGetLogProbPrepDistributionType, T 
Whether the distribution supports preallocation of a workspace for density evaluation
 
CanGetMeanMeanType 
Whether the distribution supports retrieval of a mean value
 
CanGetMeanAndVarianceMeanType, VarType 
Whether the distribution supports the joint getting of mean and variance
where the mean and variance are reference types
 
CanGetMeanAndVarianceOutMeanType, VarType 
Whether the distribution supports the joint getting of mean and variance
where the mean and variance are returned as 'out' argiments
 
CanGetModeModeType 
Whether the distribution supports retrieval of the most probable value
 
CanGetVarianceVarType 
Whether the distribution supports retrieval of a variance value
 
CanSamplePrepDistributionType, T 
Whether the distribution supports preallocation of a workspace for sampling
 
CanSetMeanMeanType 
Whether the distribution supports setting of its mean value
 
CanSetMeanAndVarianceMeanType, VarType 
Whether the distribution supports the joint setting of mean and variance
 
EstimatorT 
Indicates support for retrieving an estimated distribution
 
HasPointT 
Whether the distribution supports being a point mass
 
ICollectionDistribution 
Interface to allow untyped access to collection distribution
 
ICollectionDistributionTElement, TElementDist 
Collection distribution interface
 
IDistributionT  Distribution interface  
IFunction 
Function interface  used for distributions over a function domain
 
IGaussianProcess 
Basic GP interface
 
IsDistributionWrapper 
Marker interface for classes which wrap distributions
 
SampleableT 
Whether the distribution supports sampling
 
SettableToPartialUniformTDist 
Whether the distribution can be set to be uniform over the support of another distribution.
 
SettableToUniform 
Whether the distribution can be set to uniform

Delegate  Description  

EvaluatorDistributionType, T 
Delegate type for evaluating log densities. This is used for distributions such as
VectorGaussian which have a large memory footprint. If a distribution
supports CanGetLogProbPrepDistributionType, T, then it can return a delegate of this type
to do evaluations without recreating a workspace each time.
 
SamplerT 
Delegate type for sampling
 
SamplerDistributionType, T 
Delegate type for sampling a distribution. This is used for distributions such as
VectorGaussian which have a large memory footprint. If a distribution
supports CanSamplePrepDistributionType, T, then it can return a delegate of this type
to do successive sampling without recreating a workspace each time.

Enumeration  Description  

ConjugateDirichletApproximationMethod 
Approximation method to use for nonanalytic expectations.
Asymptotic: use expectations under the approximating Gamma distribution
GaussHermiteQuadrature: Use GaussHermite quadrature with 32 quadrature points
ClenshawCurtisQuadrature: Use Clenshaw Curtis quadrature with an adaptive number of quadrature points
 
DiscreteCharCharClasses 