Class GammaProductVmpOp
Provides outgoing messages for Product(Double, Double), given random arguments to the function.
Inherited Members
Namespace: Microsoft.ML.Probabilistic.Factors
Assembly: Microsoft.ML.Probabilistic.dll
Syntax
[FactorMethod(typeof(Factor), "Product", new Type[]{typeof(double), typeof(double)})]
[Quality(QualityBand.Preview)]
public static class GammaProductVmpOp
Methods
AAverageLogarithm(Gamma, Gamma)
VMP message to a.
Declaration
public static Gamma AAverageLogarithm(Gamma Product, Gamma B)
Parameters
| Type | Name | Description |
|---|---|---|
| Gamma | Product | Incoming message from |
| Gamma | B | Incoming message from |
Returns
| Type | Description |
|---|---|
| Gamma | The outgoing VMP message to the |
Remarks
The outgoing message is the exponential of the average log-factor value, where the average is over all arguments except a. Because the factor is deterministic, product is integrated out before taking the logarithm. The formula is exp(sum_(b) p(b) log(sum_product p(product) factor(product,a,b))).
Exceptions
| Type | Condition |
|---|---|
| ImproperMessageException |
|
| ImproperMessageException |
|
AAverageLogarithm(Gamma, Double)
VMP message to a.
Declaration
public static Gamma AAverageLogarithm(Gamma Product, double B)
Parameters
| Type | Name | Description |
|---|---|---|
| Gamma | Product | Incoming message from |
| Double | B | Constant value for |
Returns
| Type | Description |
|---|---|
| Gamma | The outgoing VMP message to the |
Remarks
The outgoing message is the factor viewed as a function of a with product integrated out. The formula is sum_product p(product) factor(product,a,b).
Exceptions
| Type | Condition |
|---|---|
| ImproperMessageException |
|
AAverageLogarithm(GammaPower, Double, GammaPower)
VMP message to a.
Declaration
public static GammaPower AAverageLogarithm(GammaPower Product, double B, GammaPower result)
Parameters
| Type | Name | Description |
|---|---|---|
| GammaPower | Product | Incoming message from |
| Double | B | Constant value for |
| GammaPower | result | Modified to contain the outgoing message. |
Returns
| Type | Description |
|---|---|
| GammaPower |
|
Remarks
The outgoing message is the factor viewed as a function of a with product integrated out. The formula is sum_product p(product) factor(product,a,b).
Exceptions
| Type | Condition |
|---|---|
| ImproperMessageException |
|
AAverageLogarithm(Double, Gamma)
VMP message to a.
Declaration
[NotSupported("Variational Message Passing does not support a Product factor with fixed output and two random inputs.")]
public static Gamma AAverageLogarithm(double Product, Gamma B)
Parameters
| Type | Name | Description |
|---|---|---|
| Double | Product | Constant value for |
| Gamma | B | Incoming message from |
Returns
| Type | Description |
|---|---|
| Gamma | The outgoing VMP message to the |
Remarks
The outgoing message is the exponential of the average log-factor value, where the average is over all arguments except a. The formula is exp(sum_(b) p(b) log(factor(product,a,b))).
Exceptions
| Type | Condition |
|---|---|
| ImproperMessageException |
|
AAverageLogarithm(Double, Double)
VMP message to a.
Declaration
public static Gamma AAverageLogarithm(double Product, double B)
Parameters
| Type | Name | Description |
|---|---|---|
| Double | Product | Constant value for |
| Double | B | Constant value for |
Returns
| Type | Description |
|---|---|
| Gamma | The outgoing VMP message to the |
Remarks
The outgoing message is the factor viewed as a function of a conditioned on the given values.
AAverageLogarithm(Double, Double, GammaPower)
VMP message to a.
Declaration
public static GammaPower AAverageLogarithm(double Product, double B, GammaPower result)
Parameters
| Type | Name | Description |
|---|---|---|
| Double | Product | Constant value for |
| Double | B | Constant value for |
| GammaPower | result | Modified to contain the outgoing message. |
Returns
| Type | Description |
|---|---|
| GammaPower |
|
Remarks
The outgoing message is the factor viewed as a function of a conditioned on the given values.
AverageLogFactor(Gamma)
Declaration
public static double AverageLogFactor(Gamma product)
Parameters
| Type | Name | Description |
|---|---|---|
| Gamma | product |
Returns
| Type | Description |
|---|---|
| Double |
AverageLogFactor(GammaPower)
Declaration
public static double AverageLogFactor(GammaPower product)
Parameters
| Type | Name | Description |
|---|---|---|
| GammaPower | product |
Returns
| Type | Description |
|---|---|
| Double |
AverageLogFactor(Double, Gamma, Double)
Declaration
public static double AverageLogFactor(double product, Gamma a, double b)
Parameters
| Type | Name | Description |
|---|---|---|
| Double | product | |
| Gamma | a | |
| Double | b |
Returns
| Type | Description |
|---|---|
| Double |
AverageLogFactor(Double, GammaPower, Double)
Declaration
public static double AverageLogFactor(double product, GammaPower a, double b)
Parameters
| Type | Name | Description |
|---|---|---|
| Double | product | |
| GammaPower | a | |
| Double | b |
Returns
| Type | Description |
|---|---|
| Double |
AverageLogFactor(Double, Double, Gamma)
Declaration
public static double AverageLogFactor(double product, double a, Gamma b)
Parameters
| Type | Name | Description |
|---|---|---|
| Double | product | |
| Double | a | |
| Gamma | b |
Returns
| Type | Description |
|---|---|
| Double |
AverageLogFactor(Double, Double, GammaPower)
Declaration
public static double AverageLogFactor(double product, double a, GammaPower b)
Parameters
| Type | Name | Description |
|---|---|---|
| Double | product | |
| Double | a | |
| GammaPower | b |
Returns
| Type | Description |
|---|---|
| Double |
BAverageLogarithm(Gamma, Gamma)
VMP message to b.
Declaration
public static Gamma BAverageLogarithm(Gamma Product, Gamma A)
Parameters
| Type | Name | Description |
|---|---|---|
| Gamma | Product | Incoming message from |
| Gamma | A | Incoming message from |
Returns
| Type | Description |
|---|---|
| Gamma | The outgoing VMP message to the |
Remarks
The outgoing message is the exponential of the average log-factor value, where the average is over all arguments except b. Because the factor is deterministic, product is integrated out before taking the logarithm. The formula is exp(sum_(a) p(a) log(sum_product p(product) factor(product,a,b))).
Exceptions
| Type | Condition |
|---|---|
| ImproperMessageException |
|
| ImproperMessageException |
|
BAverageLogarithm(Gamma, Double)
VMP message to b.
Declaration
public static Gamma BAverageLogarithm(Gamma Product, double A)
Parameters
| Type | Name | Description |
|---|---|---|
| Gamma | Product | Incoming message from |
| Double | A | Constant value for |
Returns
| Type | Description |
|---|---|
| Gamma | The outgoing VMP message to the |
Remarks
The outgoing message is the factor viewed as a function of b with product integrated out. The formula is sum_product p(product) factor(product,a,b).
Exceptions
| Type | Condition |
|---|---|
| ImproperMessageException |
|
BAverageLogarithm(GammaPower, Double, GammaPower)
VMP message to b.
Declaration
public static GammaPower BAverageLogarithm(GammaPower Product, double A, GammaPower result)
Parameters
| Type | Name | Description |
|---|---|---|
| GammaPower | Product | Incoming message from |
| Double | A | Constant value for |
| GammaPower | result | Modified to contain the outgoing message. |
Returns
| Type | Description |
|---|---|
| GammaPower |
|
Remarks
The outgoing message is the factor viewed as a function of b with product integrated out. The formula is sum_product p(product) factor(product,a,b).
Exceptions
| Type | Condition |
|---|---|
| ImproperMessageException |
|
BAverageLogarithm(Double, Gamma)
VMP message to b.
Declaration
[NotSupported("Variational Message Passing does not support a Product factor with fixed output and two random inputs.")]
public static Gamma BAverageLogarithm(double Product, Gamma A)
Parameters
| Type | Name | Description |
|---|---|---|
| Double | Product | Constant value for |
| Gamma | A | Incoming message from |
Returns
| Type | Description |
|---|---|
| Gamma | The outgoing VMP message to the |
Remarks
The outgoing message is the exponential of the average log-factor value, where the average is over all arguments except b. The formula is exp(sum_(a) p(a) log(factor(product,a,b))).
Exceptions
| Type | Condition |
|---|---|
| ImproperMessageException |
|
BAverageLogarithm(Double, Double)
VMP message to b.
Declaration
public static Gamma BAverageLogarithm(double Product, double A)
Parameters
| Type | Name | Description |
|---|---|---|
| Double | Product | Constant value for |
| Double | A | Constant value for |
Returns
| Type | Description |
|---|---|
| Gamma | The outgoing VMP message to the |
Remarks
The outgoing message is the factor viewed as a function of b conditioned on the given values.
BAverageLogarithm(Double, Double, GammaPower)
VMP message to b.
Declaration
public static GammaPower BAverageLogarithm(double Product, double A, GammaPower result)
Parameters
| Type | Name | Description |
|---|---|---|
| Double | Product | Constant value for |
| Double | A | Constant value for |
| GammaPower | result | Modified to contain the outgoing message. |
Returns
| Type | Description |
|---|---|
| GammaPower |
|
Remarks
The outgoing message is the factor viewed as a function of b conditioned on the given values.
ProductAverageLogarithm(Gamma, Gamma)
VMP message to product.
Declaration
public static Gamma ProductAverageLogarithm(Gamma A, Gamma B)
Parameters
| Type | Name | Description |
|---|---|---|
| Gamma | A | Incoming message from |
| Gamma | B | Incoming message from |
Returns
| Type | Description |
|---|---|
| Gamma | The outgoing VMP message to the |
Remarks
The outgoing message is a distribution matching the moments of product as the random arguments are varied. The formula is proj[sum_(a,b) p(a,b) factor(product,a,b)].
Exceptions
| Type | Condition |
|---|---|
| ImproperMessageException |
|
| ImproperMessageException |
|
ProductAverageLogarithm(Gamma, Double)
VMP message to product.
Declaration
public static Gamma ProductAverageLogarithm(Gamma A, double B)
Parameters
| Type | Name | Description |
|---|---|---|
| Gamma | A | Incoming message from |
| Double | B | Constant value for |
Returns
| Type | Description |
|---|---|
| Gamma | The outgoing VMP message to the |
Remarks
The outgoing message is a distribution matching the moments of product as the random arguments are varied. The formula is proj[sum_(a) p(a) factor(product,a,b)].
Exceptions
| Type | Condition |
|---|---|
| ImproperMessageException |
|
ProductAverageLogarithm(GammaPower, Double)
VMP message to product.
Declaration
public static GammaPower ProductAverageLogarithm(GammaPower A, double B)
Parameters
| Type | Name | Description |
|---|---|---|
| GammaPower | A | Incoming message from |
| Double | B | Constant value for |
Returns
| Type | Description |
|---|---|
| GammaPower | The outgoing VMP message to the |
Remarks
The outgoing message is a distribution matching the moments of product as the random arguments are varied. The formula is proj[sum_(a) p(a) factor(product,a,b)].
Exceptions
| Type | Condition |
|---|---|
| ImproperMessageException |
|
ProductAverageLogarithm(Double, Gamma)
VMP message to product.
Declaration
public static Gamma ProductAverageLogarithm(double A, Gamma B)
Parameters
| Type | Name | Description |
|---|---|---|
| Double | A | Constant value for |
| Gamma | B | Incoming message from |
Returns
| Type | Description |
|---|---|
| Gamma | The outgoing VMP message to the |
Remarks
The outgoing message is a distribution matching the moments of product as the random arguments are varied. The formula is proj[sum_(b) p(b) factor(product,a,b)].
Exceptions
| Type | Condition |
|---|---|
| ImproperMessageException |
|
ProductAverageLogarithm(Double, GammaPower)
VMP message to product.
Declaration
public static GammaPower ProductAverageLogarithm(double A, GammaPower B)
Parameters
| Type | Name | Description |
|---|---|---|
| Double | A | Constant value for |
| GammaPower | B | Incoming message from |
Returns
| Type | Description |
|---|---|
| GammaPower | The outgoing VMP message to the |
Remarks
The outgoing message is a distribution matching the moments of product as the random arguments are varied. The formula is proj[sum_(b) p(b) factor(product,a,b)].
Exceptions
| Type | Condition |
|---|---|
| ImproperMessageException |
|