/// <summary> /// Evidence message for EP /// </summary> /// <param name="vector">Incoming message from 'fromArray'.</param> /// <param name="to_vector">Outgoing message to 'vector'.</param> /// <returns>Logarithm of the factor's average value across the given argument distributions</returns> /// <remarks><para> /// The formula for the result is <c>log(sum_(fromArray) p(fromArray) factor(fromArray,data))</c>. /// </para></remarks> public static double LogAverageFactor(VectorGaussian vector, [Fresh] VectorGaussian to_vector) { return(to_vector.GetLogAverageOf(vector)); }
/// <include file='FactorDocs.xml' path='factor_docs/message_op_class[@name="SumVectorGaussianOp"]/message_doc[@name="LogAverageFactor(VectorGaussian, VectorGaussian)"]/*'/> public static double LogAverageFactor([SkipIfUniform] VectorGaussian sum, [Fresh] VectorGaussian to_sum) { return(to_sum.GetLogAverageOf(sum)); }
/// <summary>Evidence message for EP.</summary> /// <param name="array">Incoming message from <c>array</c>.</param> /// <param name="vector">Incoming message from <c>vector</c>.</param> /// <param name="to_vector">Outgoing message to <c>vector</c>.</param> /// <returns>Logarithm of the factor's average value across the given argument distributions.</returns> /// <remarks> /// <para>The formula for the result is <c>log(sum_(array,vector) p(array,vector) factor(array,vector))</c>.</para> /// </remarks> public static double LogAverageFactor(IList <Gaussian> array, VectorGaussian vector, [Fresh] VectorGaussian to_vector) { return(vector.GetLogAverageOf(to_vector)); }
/// <summary>Evidence message for EP.</summary> /// <param name="concat">Incoming message from <c>concat</c>.</param> /// <param name="to_concat">Outgoing message to <c>concat</c>.</param> /// <returns>Logarithm of the factor's average value across the given argument distributions.</returns> /// <remarks> /// <para>The formula for the result is <c>log(sum_(concat) p(concat) factor(concat,first,second))</c>.</para> /// </remarks> public static double LogAverageFactor(VectorGaussian concat, [Fresh] VectorGaussian to_concat) { return(to_concat.GetLogAverageOf(concat)); }
/// <summary>Evidence message for EP.</summary> /// <param name="product">Incoming message from <c>product</c>.</param> /// <param name="to_product">Outgoing message to <c>product</c>.</param> /// <returns>Logarithm of the factor's average value across the given argument distributions.</returns> /// <remarks> /// <para>The formula for the result is <c>log(sum_(product) p(product) factor(product,a,b))</c>.</para> /// </remarks> public static double LogAverageFactor(VectorGaussian product, [Fresh] VectorGaussian to_product) { return(to_product.GetLogAverageOf(product)); }