Constraints

This page lists the built-in methods for applying constraints. In these methods, you can often pass in random variables as arguments e.g. Variable<double> instead of double. For compactness, this is not shown in the syntax below.
 
These methods provide a convenient short alternative to using Variable.Constrain and passing in the constraint method, as described on this page

Constraint
Syntax
Description
True
Variable.ConstrainTrue(bool v)
Constrains the bool random variable v to be true.
False
Variable.ConstrainFalse(bool v)
Constrains the bool random variable v to be false.
Positivity
Variable.ConstrainPositive(double v)
Constrains the double random variable v to be strictly positive (i.e. such that v>0).
Between limits Variable.ConstrainBetween(double x, double lowerBound, double upperBound) Constrains the double random variable x to be  between the specified limits, such that lowerBound <= x < upperBound. 
Equality Variable.ConstrainEqual<T>(T a, T b)
Constrains the random variables a and b  to have equal values.  The variables must have the same type T.
Stochastic equality Variable.ConstrainEqualRandom<T,TDist>(T a, TDist b) Constrains the random variable a to be equal to a sample from a distribution b. If a has type T, then b must be a distribution with domain type T.
 
©2009-2014 Microsoft Corporation. All rights reserved.  Terms of Use | Trademarks | Privacy Statement