Skip to main content

Infer.NET user guide : Factors and Constraints

List of factors and constraints

This screen shot shows a list of factors and constraints available, along with their support when used in different algorithms. In the list, ‘S’ stands for stochastic (unknown) and ‘D’ stands for deterministic (known) - for example (S S)->D denotes calling a factor with two unknown arguments where the result is known. If a pattern has a * next to it, it means it does not support being in a condition block (if, case or switch). If a factor is shown as having full support but is marked with * then it is not supported in a condition block in all cases.

This list can be useful in helping you choose an inference algorithm as described in working with different inference algorithms. You can see the most up-to-date list by calling InferenceEngine.ShowFactorManager(), which will also show user-defined factors and constraints. Factors with generic parameters are not always shown correctly in this list.

Where a factor is described as “Cannot support” it is not possible (or not known) how to support such a factor in the particular algorithm or stochasticity pattern. If you try and use such a factor, then you will get a specific error message explaining why it is not possible to use it with that algorithm.

The background colours for each factor and algorithm give an indication of the Quality Band of the factor as shown in the key below. As there are several different message operator methods for each factor (reflecting stochastic/deterministic values), the colour codes only the maximum quality band for each factor. For example, the Factor.Product factor shows mature support, but there will be some scenarios (for example when the messages are Gaussian and Beta rather than Gaussian and Gaussian) where the quality is experimental. To see this level of detail, you can look at the quality attributes in the source code for the message operators, or you can look at the warning messages given by the Model compiler.

Quality Band Color
Mature green
Stable light green
Preview yellow
Experimental red
Not supported white
Factor
Arguments
ExpectationPropagation
VariationalMessagePassing
GibbsSampling
MaxProductBP
Bernoulli.Sample
double probTrue
Full support
Full support
(S)->D, (D)->D Cannot support:(S)->S, (D)->S
BernoulliIntegerSubset.Sample
ISparseList<double> probTrue
Full support
Full support
(S)->D, (D)->D, (D)->S Cannot support:(S)->S
Beta.Sample
double trueCount, double falseCount
(D D)->S, (D D)->D
(D D)->S, (D D)->D
(D D)->S, (D D)->D
Beta.SampleFromMeanAndVariance
double mean, double variance
(D D)->S, (D D)->D
(D D)->S, (D D)->D
(D D)->S, (D D)->D
Constrain.Equal<T>
T A, T B
Full support
(S D), (D D)
Full support
[(S S):2/3]*, [(D S):0/2]*, [(S D):0/2]*, [(D D):0/1]*
Constrain.EqualRandom<TDomain, TDistribution>
TDomain value, TDistribution dist
(S D), (D D)
(S D), (D D)
(S D), (D D)
Dirichlet.SampleFromPseudoCounts
Vector pseudoCount
(D)->S, (D)->D
(D)->S, (D)->D
(D)->S, (D)->D
Discrete.Sample
Vector probs
Full support
Full support
(S)->D, (D)->D Cannot support:(S)->S, (D)->S
EnumSupport.AreEqual<TEnum>
TEnum a, TEnum b
(S S)->S, (S S)->D, [(D S)->S:1/3], [(S D)->S:1/3], [(D S)->D:1/2], [(S D)->D:1/2], (D D)->D
(S D)->S, (S D)->D, (D D)->D
(S S)->S, (S S)->D, [(D S)->S:1/3], [(S D)->S:1/3], [(D S)->D:1/2], [(S D)->D:1/2], (D D)->D
EnumSupport.DiscreteEnum<TEnum>
Vector probs
Full support
Full support
(S)->D, (D)->D Cannot support:(S)->S, (D)->S
EnumSupport.EnumToInt<TEnum>
TEnum en
(S)->S, (S)->D, (D)->D
(S)->S, (S)->D, (D)->D
(S)->S, (S)->D, (D)->D
Factor.AllTrue
IList<bool> array
(S)->S, (S)->D, (D)->D
(S)->S, (D)->D Cannot support:(S)->D
(D)->D Cannot support:(S)->S, (S)->D
Factor.And
bool a, bool b
(S S)->S, (S S)->D, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D
(S S)->S, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D Cannot support:(S S)->D
(S S)->S, (S S)->D, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D
Factor.AreEqual
bool a, bool b
(S S)->S, (S S)->D, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D
(S S)->S, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D Cannot support:(S S)->D
(S S)->S, (S S)->D, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D
Factor.AreEqual
int a, int b
(S S)->S, (S S)->D, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D
(S S)->S, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D Cannot support:(S S)->D
(S S)->S, (S S)->D, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D
Factor.AreEqual
String str1, String str2
(S S)->S, (S S)->D, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D
(S S)->S, (S S)->D, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D
Factor.ArrayFromVector
Vector vector
(S)->S, (S)->D, (D)->D
(S)->S, (S)->D, (D)->D
(S)->D, (D)->D Cannot support:(S)->S
Factor.Bernoulli
double probTrue
Full support
Full support
(S)->D, (D)->D Cannot support:(S)->S, (D)->S
Factor.BernoulliFromLogOdds
double logOdds
Full support
Full support
(D)->D, (D)->S Cannot support:(S)->S, (S)->D
Factor.BetaFromMeanAndTotalCount
double mean, double totalCount
[(D D)->S:1/2]*, [(D D)->D:0/1]*
(D D)->D
[(D D)->S:1/2]*, [(D D)->D:0/1]*
Factor.Char
Vector probabilities
Full support
(S)->D, (D)->S, (D)->D Cannot support:(S)->S
Factor.Concat
String str1, String str2
(S S)->S, (S S)->D, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D
(S S)->S, (S S)->D, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D
Factor.Concat
String str, Char ch
(S S)->S, (S S)->D, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D
(S S)->S, (S S)->D, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D
Factor.Concat
Char ch, String str
(S S)->S, (S S)->D, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D
(S S)->S, (S S)->D, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D
Factor.CountTrue
bool[] array
(S)->S, (S)->D, (D)->D
(D)->D Cannot support:(S)->S, (S)->D
Factor.Difference
int a, int b
(S S)->S, (S S)->D, (D S)->S, (S D)->S, (D S)->D, [(S D)->D:1/2], (D D)->D
(S S)->S, (S S)->D, (D S)->S, (S D)->S, (D S)->D, [(S D)->D:1/2], (D D)->D
Factor.Difference
double a, double b
(S S)->S, (S S)->D, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D
(S S)->S, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D Cannot support:(S S)->D
(S S)->S, (S S)->D, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D
Factor.DirichletFromMeanAndTotalCount
Vector mean, double totalCount
(D D)->D
Full support
(D D)->D
Factor.DirichletSymmetric
int K, double alpha
(C D)->S, (C D)->D
(C S)->S, (C S)->D, (C D)->S, (C D)->D
(C D)->S, (C D)->D
Factor.Discrete
Vector probs
Full support
Full support
(S)->D, (D)->D Cannot support:(S)->S, (D)->S
Factor.DiscreteUniform
int size
Full support
Full support
Full support
Factor.Double
int integer
(S)->S, (S)->D, (D)->D
(S)->D, (D)->D Cannot support:(S)->S
Factor.FunctionEvaluate
IFunction func, Vector x
(S D)->S, (S D)->D, (D D)->D
(D D)->D Cannot support:(S D)->S, (S D)->D
Factor.GammaFromShapeAndRate
double shape, double rate
(D S)->S, (D S)->D, (D D)->D, (D D)->S
Full support
(D S)->D, (D D)->D, (D D)->S Cannot support:(D S)->S
Factor.Gaussian
double mean, double precision
Full support
Full support
(S D)->S, (D S)->D, (S D)->D, (D D)->S, (D D)->D Cannot support:(S S)->S, (S S)->D, (D S)->S
Factor.GaussianFromMeanAndVariance
double mean, double variance
Full support
(S D)->S, (S D)->D, (D D)->S, (D D)->D
(D D)->S, (D D)->D, (S D)->S, (S D)->D Cannot support:(S S)->S, (S S)->D, (D S)->S, (D S)->D
Factor.InnerProduct
double[] a, Vector b
(S S)->S, (S S)->D, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D
Factor.InnerProduct
double[] a, double[] b
(D S)->S, (D D)->D Cannot support:(D S)->D
(S S)->S, (D S)->S, (S D)->S, (D D)->D Cannot support:(S S)->D, (D S)->D, (S D)->D
(D D)->D Cannot support:(D S)->S, (D S)->D
Factor.IsBetween
double x, double lowerBound, double upperBound
(S S S)->S, (S S S)->D, (D S S)->S, (S D S)->S, (S S D)->S, (D S S)->D, (S D S)->D, (S S D)->D, (D D S)->S, (D S D)->S, (S D D)->S, (S D D)->D, (D D D)->D, (D D S)->D, (D S D)->D
(S D D)->D, (D D D)->D
(S S S)->D, (D S S)->S, (S D S)->S, (S S D)->S, (D S S)->D, (S D S)->D, (S S D)->D, (D D S)->S, (D S D)->S, (D D D)->D, (D D S)->D, (D S D)->D Cannot support:(S S S)->S, (S D D)->S, (S D D)->D
Factor.IsGreaterThan
int a, int b
(S S)->S, (S S)->D, (D S)->S, (D S)->D, (S D)->S, (S D)->D, (D D)->D
(S S)->S, (D S)->S, (D S)->D, (S D)->S, (S D)->D, (D D)->D Cannot support:(S S)->D
(S S)->S, (S S)->D, (D S)->S, (D S)->D, (S D)->S, (S D)->D, (D D)->D
Factor.IsGreaterThan
double a, double b
[(S D)->S:2/3]*, [(S D)->D:1/2]*, [(D D)->D:0/1]*
[(S D)->S:2/3]*, [(D D)->D:0/1]* Cannot support:(S D)->D
Factor.IsPositive
double x
(S)->S, (S)->D, (D)->D
(S)->S, (S)->D, (D)->D
(D)->D Cannot support:(S)->S, (S)->D
Factor.MatrixMultiply
double[,] A, double[,] B
(D S)->S, (D D)->D Cannot support:(D S)->D
(S S)->S, (D S)->S, (S D)->S, (D D)->D Cannot support:(S S)->D, (D S)->D, (S D)->D
(D D)->D Cannot support:(D S)->S, (D S)->D
Factor.MaxOfOthers
double[] array
[(S)->S:2/3]*, [(S)->D:0/2]*, [(D)->D:0/1]*
[(S)->D:0/2]*, [(D)->D:0/1]* Cannot support:(S)->S
Factor.MultinomialList
int trialCount, Vector probs
(D S)->D, (D D)->D
(D S)->D, (D D)->D
(D S)->D, (D D)->D
Factor.Not
bool b
(S)->S, (S)->D, (D)->D
(S)->S, (S)->D, (D)->D
(S)->S, (S)->D, (D)->D
Factor.Or
bool a, bool b
(S S)->S, (S S)->D, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D
(S S)->S, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D Cannot support:(S S)->D
(S S)->S, (S S)->D, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D
Factor.Plus
Vector a, Vector b
(S D)->S, (S D)->D, (D D)->D
(S S)->S, (S S)->D, (S D)->S, (S D)->D, (D S)->S, (D S)->D, (D D)->D
(S D)->S, (S D)->D, (D D)->D
Factor.Plus
double a, double b
(S S)->S, (S S)->D, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D
(S S)->S, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D Cannot support:(S S)->D
(S S)->S, (S S)->D, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D
Factor.Plus
int a, int b
(S S)->S, (S S)->D, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D
(S S)->S, (S S)->D, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D
Factor.Poisson
double mean
Full support
Full support
(S)->D, (D)->D, (D)->S Cannot support:(S)->S
Factor.Product
double[,] a, Vector b
[(S C)->S:2/3], [(S D)->D:1/2], [(D D)->D:0/1]*
[(S C)->S:2/3], [(D S)->D:0/2]*, [(S D)->D:1/2], [(D D)->D:0/1]* Cannot support:(S S)->D
[(S C)->S:2/3], [(S D)->D:1/2], [(D D)->D:0/1]*
Factor.Product
double a, PositiveDefiniteMatrix b
(D S)->S, (D S)->D, (D D)->D
(S S)->S, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D Cannot support:(S S)->D
(D S)->S, (D S)->D, (D D)->D
Factor.Product
PositiveDefiniteMatrix a, double b
(S D)->S, (S D)->D, (D D)->D
(S S)->S, (D S)->S, (S D)->S, (D S)->D, (D D)->D, (S D)->D Cannot support:(S S)->D
(S D)->S, (S D)->D, (D D)->D
Factor.Product
Vector a, double b
[(S S)->S:3/4]*, [(S S)->D:2/3]*, [(D S)->S:2/3]*, [(S D)->S:2/3]*, [(D S)->D:1/2]*, [(S D)->D:1/2]*, [(D D)->D:0/1]*
[(S S)->D:2/3]*, [(D S)->S:2/3]*, [(S D)->S:2/3]*, [(D S)->D:1/2]*, [(S D)->D:1/2]*, [(D D)->D:0/1]* Cannot support:(S S)->S
Factor.Product
Matrix a, Vector b
(D S)->S, (D D)->D Cannot support:(D S)->D
(D S)->S, (D D)->D Cannot support:(D S)->D
(D S)->S, (D D)->D Cannot support:(D S)->D
Factor.Product
double a, double b
(S S)->S, (S S)->D, (D S)->S, (S D)->S, (D S)->D, (D D)->D, (S D)->D
(S S)->S, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D Cannot support:(S S)->D
(S S)->D, (D S)->S, (S D)->S, (D S)->D, (D D)->D, (S D)->D Cannot support:(S S)->S
Factor.Product_SHG09
double a, double b
(S S)->S, (S S)->D, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D
(S S)->S, (S S)->D, (D S)->S, (S D)->S, (D S)->D, (S D)->D, (D D)->D
Factor.ProductExp
double a, double b
[(S S)->S:3/4]*, [(D S)->S:2/3]*, [(S D)->S:2/3]*, [(D S)->D:1/2]*, [(D D)->D:0/1]* Cannot support:(S S)->D, (S D)->D
Factor.Ratio
double a, double b
(S S)->S, (S S)->D, (D S)->D, (S D)->D, (D D)->D, (D S)->S, (S D)->S
(S S)->S, (D S)->S, (S D)->S, (S D)->D, (D D)->D Cannot support:(S S)->D, (D S)->D
(S S)->D, (D S)->D, (S D)->D, (D D)->D, (D S)->S, (S D)->S Cannot support:(S S)->S
Factor.Rotate
double x, double y, double angle
(S S S)->S, (S S S)->D, (D S S)->S, (S D S)->S, (S S D)->S, (S S D)->D, (D S D)->S, (S D D)->S, (D S S)->D, (S D S)->D, (D D S)->S, (D D S)->D, (D S D)->D, (S D D)->D, (D D D)->D
Factor.Single
String str
[(S)->S:2/3]*, [(S)->D:1/2]*, [(D)->D:0/1]*
[(S)->S:2/3]*, [(S)->D:1/2]*, [(D)->D:0/1]*
Factor.String
int minLength, int maxLength, DiscreteChar allowedChars
[(D D D)->S:1/2]*, [(D D D)->D:0/1]*
[(D D D)->S:1/2]*, [(D D D)->D:0/1]*
Factor.String
int minLength, DiscreteChar allowedChars
[(D D)->S:1/2]*, [(D D)->D:0/1]*
[(D D)->S:1/2]*, [(D D)->D:0/1]*
Factor.StringCapitalized
int minLength, int maxLength
[(D D)->S:1/2]*, [(D D)->D:0/1]*
[(D D)->S:1/2]*, [(D D)->D:0/1]*
Factor.StringCapitalized
int minLength
[(D)->S:1/2]*, [(D)->D:0/1]*
[(D)->S:1/2]*, [(D)->D:0/1]*
Factor.StringFormat
String format, String[] args
(S S)->S, (S S)->D, (D S)->S, (S D)->S, (S D)->D, (D S)->D, (D D)->D
(S S)->D, (D S)->S, (S D)->S, (S D)->D, (D S)->D, (D D)->D Cannot support:(S S)->S
Factor.StringFromArray
Char[] characters
(S)->S, (S)->D, [(D)->D:0/1]*
(S)->D, [(D)->D:0/1]* Cannot support:(S)->S
Factor.StringOfLength
int length, DiscreteChar allowedChars
(S D)->S, (S D)->D, [(D D)->S:1/2]*, (D D)->D
(S D)->S, (S D)->D, [(D D)->S:1/2]*, (D D)->D
Factor.Substring
String str, int start, int length
(S D D)->S, (S D D)->D, (D D D)->D
(S D D)->S, (S D D)->D, (D D D)->D
Factor.Sum
IList<double> array
(S)->S, (S)->D, (D)->D
(S)->S, (S)->D, (D)->D
(D)->D Cannot support:(S)->S, (S)->D
Factor.Sum
IList<Vector> array
(S)->S, (S)->D, (D)->D
(S)->S, (S)->D, (D)->D
(D)->D Cannot support:(S)->S, (S)->D
Factor.SumExcept
double[] array, int index
(S D)->S, (S D)->D, (D D)->D
(S D)->D, (D D)->D Cannot support:(S D)->S
Factor.TruncatedGammaFromShapeAndRate
double shape, double rate, double lowerBound, double upperBound
[(D S D D)->D:1/2]*, [(D D D D)->D:0/1]*
[(D S D D)->D:1/2]*, [(D D D D)->D:0/1]*
[(D S D D)->D:1/2]*, [(D D D D)->D:0/1]*
Factor.UniformPlusMinus
double upperBound
(S)->D, [(D)->D:0/1]*
[(S)->D:1/2]*, [(D)->D:0/1]*
(S)->D, [(D)->D:0/1]*
Factor.VectorGaussian
Vector mean, PositiveDefiniteMatrix precision
Full support
Full support
(S S)->D, (D S)->S, (S D)->S, (S D)->D, (D D)->S, (D D)->D, (D S)->D Cannot support:(S S)->S
Gamma.Sample
double shape, double scale
(D D)->S, (D D)->D
(D D)->S, (D D)->D
(D D)->S, (D D)->D
Gamma.SampleFromMeanAndVariance
double mean, double variance
(D D)->D
(D D)->D
(D D)->D
Gaussian.Sample
double mean, double precision
Full support
Full support
(S D)->S, (D S)->D, (S D)->D, (D D)->S, (D D)->D Cannot support:(S S)->S, (S S)->D, (D S)->S
Math.Exp
double d
(S)->S, (S)->D, (D)->D
(S)->S, (S)->D, (D)->D
(S)->D, (D)->D Cannot support:(S)->S
Math.Log
double d
(S)->S, (S)->D, (D)->D
(S)->S, (S)->D, (D)->D
(S)->D, (D)->D Cannot support:(S)->S
Math.Max
double val1, double val2
(S S)->S, (S S)->D, (D S)->S, (D S)->D, (S D)->S, (S D)->D, (D D)->D
(D D)->D Cannot support:(S S)->S, (S S)->D, (D S)->S, (D S)->D, (S D)->S, (S D)->D
Math.Min
double val1, double val2
[(S D)->S:2/3]*, [(S D)->D:1/2]*, [(D D)->D:0/1]*
[(S D)->S:2/3]*, [(S D)->D:1/2]*, [(D D)->D:0/1]*
Math.Pow
double x, double y
[(S D)->S:2/3]*, [(S D)->D:1/2]*, [(D D)->D:0/1]*
[(S D)->S:2/3]*, [(S D)->D:0/2]*, [(D D)->D:0/1]*
[(S D)->D:1/2]*, [(D D)->D:0/1]* Cannot support:(S D)->S
MMath.IndexOfMaximumDouble
IList<double> list
(S)->S, [(S)->D:1/2], [(D)->D:0/1]*
[(S)->D:1/2], [(D)->D:0/1]* Cannot support:(S)->S
MMath.Logistic
double x
(S)->S, (S)->D, (D)->D
(S)->S, (S)->D, (D)->D
(S)->D, (D)->D Cannot support:(S)->S
MMath.Softmax
IList<double> x
(S)->S, (S)->D, (D)->D
Rand.Binomial
int n, double p
(D S)->S, (D S)->D, (D D)->S, (D D)->D
(S S)->D, (D S)->D, (D D)->D, (S D)->D
(D S)->S, (D S)->D, (D D)->S, (D D)->D
Rand.Multinomial
int trialCount, Vector probs
(D S)->D, (D D)->D
(D S)->D, (D D)->D
(D S)->D, (D D)->D
SparseBernoulliList.Sample
ISparseList<double> probTrue
Full support
Full support
(S)->D, (D)->D, (D)->S Cannot support:(S)->S
SparseGaussianList.Sample
ISparseList<double> means, ISparseList<double> precs
Full support
Full support
(S D)->S, (S D)->D, (D D)->D, (D D)->S, (D S)->D Cannot support:(S S)->S, (S S)->D, (D S)->S
Undirected.Linear
int a, int b, double logUnitCost
[(S S D):2/3]*, [(D S D):0/2]*, [(S D D):0/2]*, [(D D D):0/1]*
Undirected.LinearTrunc
int a, int b, double logUnitCost, double maxCost
[(S S D D):2/3]*, [(D S D D):0/2]*, [(S D D D):0/2]*, [(D D D D):0/1]*
Undirected.Potts
int a, int b, double logCost
[(S S D):2/3]*, [(D S D):0/2]*, [(S D D):0/2]*, [(D D D):0/1]*
Undirected.Potts
bool a, bool b, double logCost
[(S S D):2/3]*, [(D S D):1/2]*, [(S D D):1/2]*, [(D D D):0/1]*
Vector.Concat
Vector first, Vector second
(S S)->S, (S S)->D, (D S)->S, (S D)->S, (D S)->D, (D D)->D, (S D)->D
(S S)->S, (S S)->D, (D S)->S, (S D)->S, (D S)->D, (D D)->D, (S D)->D
(S S)->S, (S S)->D, (D S)->S, (S D)->S, (D S)->D, (D D)->D, (S D)->D
Vector.FromArray
double[] data
(S)->S, (S)->D, (D)->D
(S)->S, (S)->D, (D)->D
(S)->D, (D)->D Cannot support:(S)->S
Vector.InnerProduct
Vector a, Vector b
(S D)->S, (D D)->D Cannot support:(S D)->D
(S S)->S, (D S)->S, (S D)->S, (D D)->D Cannot support:(S S)->D, (D S)->D, (S D)->D
(S D)->S, (D D)->D Cannot support:(S D)->D
Vector.Subvector
Vector source, int startIndex, int count
(S D C)->S, (S D C)->D, (D D C)->D
(S D C)->S, (S D C)->D, (D D C)->D
(S D C)->S, (S D C)->D, (D D C)->D
VectorGaussian.Sample
Vector mean, PositiveDefiniteMatrix precision
Full support
Full support
(S S)->D, (D S)->S, (S D)->S, (S D)->D, (D D)->S, (D D)->D, (D S)->D Cannot support:(S S)->S
VectorGaussian.SampleFromMeanAndVariance
Vector mean, PositiveDefiniteMatrix variance
(S D)->S, (S D)->D, (D D)->D, (D D)->S
(D D)->S, (D D)->D
(S D)->S, (S D)->D, (D D)->D, (D D)->S
Wishart.SampleFromShapeAndRate
double shape, PositiveDefiniteMatrix rate
(D S)->S, (D S)->D, (D D)->D, (D D)->S
(D S)->S, (D S)->D, (D D)->S, (D D)->D
(D S)->D, (D D)->D, (D D)->S Cannot support:(D S)->S
Wishart.SampleFromShapeAndScale
double shape, PositiveDefiniteMatrix scale
(D D)->S, (D D)->D
(D D)->S, (D D)->D
(D D)->S, (D D)->D