Build Status

ClosedFormExpectations.jl is a Julia package that provides closed-form expressions for computing the expectation of a function (e.g pdfs) with respect to another distribution, i.e., $E_q[f(x)].$


You can install ClosedFormExpectations.jl using the Julia package manager. From the Julia REPL, type ] to enter the Pkg REPL mode and run:

pkg> add ClosedFormExpectations

The package exports the following:

ClosedFormExpectation: A struct representing the closed-form expectation

ClosedWilliamsProduct: A struct representing the closed-form expectation of the product of score function and a target function (the gradient of the ClosedFormExpectation)

Logpdf: A struct to represent the logpdf function of a distribution


using ClosedFormExpectations
using Distributions
mean(ClosedFormExpectation(), log, Exponential(10))
mean(ClosedFormExpectation(), Logpdf(LogNormal(1, 10)), Exponential(10))
mean(ClosedFormExpectation(), Base.Fix1(logpdf, Exponential(1)), Exponential(10))