Search Results for

    Show / Hide Table of Contents

    Class RotateOp

    Provides outgoing messages for Rotate(Double, Double, Double), given random arguments to the function.

    Inheritance
    Object
    RotateOp
    Inherited Members
    Object.Equals(Object)
    Object.Equals(Object, Object)
    Object.GetHashCode()
    Object.GetType()
    Object.MemberwiseClone()
    Object.ReferenceEquals(Object, Object)
    Object.ToString()
    Namespace: Microsoft.ML.Probabilistic.Factors
    Assembly: Microsoft.ML.Probabilistic.dll
    Syntax
    [FactorMethod(typeof(Factor), "Rotate", new Type[]{typeof(double), typeof(double), typeof(double)})]
    [Quality(QualityBand.Experimental)]
    public static class RotateOp

    Methods

    AngleAverageLogarithm(VectorGaussian, Gaussian, Gaussian)

    VMP message to angle.

    Declaration
    public static WrappedGaussian AngleAverageLogarithm(VectorGaussian rotate, Gaussian x, Gaussian y)
    Parameters
    Type Name Description
    VectorGaussian rotate

    Incoming message from rotate. Must be a proper distribution. If any element is uniform, the result will be uniform.

    Gaussian x

    Incoming message from x. Must be a proper distribution. If uniform, the result will be uniform.

    Gaussian y

    Incoming message from y. Must be a proper distribution. If uniform, the result will be uniform.

    Returns
    Type Description
    WrappedGaussian

    The outgoing VMP message to the angle argument.

    Remarks

    The outgoing message is the exponential of the average log-factor value, where the average is over all arguments except angle. Because the factor is deterministic, rotate is integrated out before taking the logarithm. The formula is exp(sum_(x,y) p(x,y) log(sum_rotate p(rotate) factor(rotate,x,y,angle))).

    Exceptions
    Type Condition
    ImproperMessageException

    rotate is not a proper distribution.

    ImproperMessageException

    x is not a proper distribution.

    ImproperMessageException

    y is not a proper distribution.

    AngleAverageLogarithm(VectorGaussian, Double, Double)

    VMP message to angle.

    Declaration
    public static WrappedGaussian AngleAverageLogarithm(VectorGaussian rotate, double x, double y)
    Parameters
    Type Name Description
    VectorGaussian rotate

    Incoming message from rotate. Must be a proper distribution. If any element is uniform, the result will be uniform.

    Double x

    Constant value for x.

    Double y

    Constant value for y.

    Returns
    Type Description
    WrappedGaussian

    The outgoing VMP message to the angle argument.

    Remarks

    The outgoing message is the factor viewed as a function of angle with rotate integrated out. The formula is sum_rotate p(rotate) factor(rotate,x,y,angle).

    Exceptions
    Type Condition
    ImproperMessageException

    rotate is not a proper distribution.

    AverageLogFactor(VectorGaussian)

    Evidence message for VMP.

    Declaration
    public static double AverageLogFactor(VectorGaussian rotate)
    Parameters
    Type Name Description
    VectorGaussian rotate

    Incoming message from rotate.

    Returns
    Type Description
    Double

    Zero.

    Remarks

    In Variational Message Passing, the evidence contribution of a deterministic factor is zero. Adding up these values across all factors and variables gives the log-evidence estimate for VMP.

    RotateAverageLogarithm(Gaussian, Gaussian, WrappedGaussian, VectorGaussian)

    VMP message to rotate.

    Declaration
    public static VectorGaussian RotateAverageLogarithm(Gaussian x, Gaussian y, WrappedGaussian angle, VectorGaussian result)
    Parameters
    Type Name Description
    Gaussian x

    Incoming message from x. Must be a proper distribution. If uniform, the result will be uniform.

    Gaussian y

    Incoming message from y. Must be a proper distribution. If uniform, the result will be uniform.

    WrappedGaussian angle

    Incoming message from angle. Must be a proper distribution. If uniform, the result will be uniform.

    VectorGaussian result

    Modified to contain the outgoing message.

    Returns
    Type Description
    VectorGaussian

    result

    Remarks

    The outgoing message is a distribution matching the moments of rotate as the random arguments are varied. The formula is proj[sum_(x,y,angle) p(x,y,angle) factor(rotate,x,y,angle)].

    Exceptions
    Type Condition
    ImproperMessageException

    x is not a proper distribution.

    ImproperMessageException

    y is not a proper distribution.

    ImproperMessageException

    angle is not a proper distribution.

    RotateAverageLogarithm(Gaussian, Gaussian, Double, VectorGaussian)

    VMP message to rotate.

    Declaration
    public static VectorGaussian RotateAverageLogarithm(Gaussian x, Gaussian y, double angle, VectorGaussian result)
    Parameters
    Type Name Description
    Gaussian x

    Incoming message from x. Must be a proper distribution. If uniform, the result will be uniform.

    Gaussian y

    Incoming message from y. Must be a proper distribution. If uniform, the result will be uniform.

    Double angle

    Constant value for angle.

    VectorGaussian result

    Modified to contain the outgoing message.

    Returns
    Type Description
    VectorGaussian

    result

    Remarks

    The outgoing message is a distribution matching the moments of rotate as the random arguments are varied. The formula is proj[sum_(x,y) p(x,y) factor(rotate,x,y,angle)].

    Exceptions
    Type Condition
    ImproperMessageException

    x is not a proper distribution.

    ImproperMessageException

    y is not a proper distribution.

    RotateAverageLogarithm(Double, Double, WrappedGaussian, VectorGaussian)

    VMP message to rotate.

    Declaration
    public static VectorGaussian RotateAverageLogarithm(double x, double y, WrappedGaussian angle, VectorGaussian result)
    Parameters
    Type Name Description
    Double x

    Constant value for x.

    Double y

    Constant value for y.

    WrappedGaussian angle

    Incoming message from angle. Must be a proper distribution. If uniform, the result will be uniform.

    VectorGaussian result

    Modified to contain the outgoing message.

    Returns
    Type Description
    VectorGaussian

    result

    Remarks

    The outgoing message is a distribution matching the moments of rotate as the random arguments are varied. The formula is proj[sum_(angle) p(angle) factor(rotate,x,y,angle)].

    Exceptions
    Type Condition
    ImproperMessageException

    angle is not a proper distribution.

    RotateAverageLogarithmInit()

    Declaration
    public static VectorGaussian RotateAverageLogarithmInit()
    Returns
    Type Description
    VectorGaussian
    Remarks

    XAverageLogarithm(VectorGaussian, WrappedGaussian)

    VMP message to x.

    Declaration
    public static Gaussian XAverageLogarithm(VectorGaussian rotate, WrappedGaussian angle)
    Parameters
    Type Name Description
    VectorGaussian rotate

    Incoming message from rotate. Must be a proper distribution. If any element is uniform, the result will be uniform.

    WrappedGaussian angle

    Incoming message from angle. Must be a proper distribution. If uniform, the result will be uniform.

    Returns
    Type Description
    Gaussian

    The outgoing VMP message to the x argument.

    Remarks

    The outgoing message is the exponential of the average log-factor value, where the average is over all arguments except x. Because the factor is deterministic, rotate is integrated out before taking the logarithm. The formula is exp(sum_(angle) p(angle) log(sum_rotate p(rotate) factor(rotate,x,y,angle))).

    Exceptions
    Type Condition
    ImproperMessageException

    rotate is not a proper distribution.

    ImproperMessageException

    angle is not a proper distribution.

    XAverageLogarithm(VectorGaussian, Double)

    VMP message to x.

    Declaration
    public static Gaussian XAverageLogarithm(VectorGaussian rotate, double angle)
    Parameters
    Type Name Description
    VectorGaussian rotate

    Incoming message from rotate. Must be a proper distribution. If any element is uniform, the result will be uniform.

    Double angle

    Constant value for angle.

    Returns
    Type Description
    Gaussian

    The outgoing VMP message to the x argument.

    Remarks

    The outgoing message is the factor viewed as a function of x with rotate integrated out. The formula is sum_rotate p(rotate) factor(rotate,x,y,angle).

    Exceptions
    Type Condition
    ImproperMessageException

    rotate is not a proper distribution.

    YAverageLogarithm(VectorGaussian, WrappedGaussian)

    VMP message to y.

    Declaration
    public static Gaussian YAverageLogarithm(VectorGaussian rotate, WrappedGaussian angle)
    Parameters
    Type Name Description
    VectorGaussian rotate

    Incoming message from rotate. Must be a proper distribution. If any element is uniform, the result will be uniform.

    WrappedGaussian angle

    Incoming message from angle. Must be a proper distribution. If uniform, the result will be uniform.

    Returns
    Type Description
    Gaussian

    The outgoing VMP message to the y argument.

    Remarks

    The outgoing message is the exponential of the average log-factor value, where the average is over all arguments except y. Because the factor is deterministic, rotate is integrated out before taking the logarithm. The formula is exp(sum_(angle) p(angle) log(sum_rotate p(rotate) factor(rotate,x,y,angle))).

    Exceptions
    Type Condition
    ImproperMessageException

    rotate is not a proper distribution.

    ImproperMessageException

    angle is not a proper distribution.

    YAverageLogarithm(VectorGaussian, Double)

    VMP message to y.

    Declaration
    public static Gaussian YAverageLogarithm(VectorGaussian rotate, double angle)
    Parameters
    Type Name Description
    VectorGaussian rotate

    Incoming message from rotate. Must be a proper distribution. If any element is uniform, the result will be uniform.

    Double angle

    Constant value for angle.

    Returns
    Type Description
    Gaussian

    The outgoing VMP message to the y argument.

    Remarks

    The outgoing message is the factor viewed as a function of y with rotate integrated out. The formula is sum_rotate p(rotate) factor(rotate,x,y,angle).

    Exceptions
    Type Condition
    ImproperMessageException

    rotate is not a proper distribution.

    In This Article
    Back to top Copyright © .NET Foundation. All rights reserved.