/ExpFamily.jl

A package to handle Exponential Family distributions

Primary LanguageJuliaMIT LicenseMIT

ExpFamily

stability-wip

Unix Windows CodeCov License
Travis AppVeyor CodeCov License: MIT

ExpFamily.jl is a package designed to provide efficient manipulation of objects belonging in an exponential family (e.g.: Gaussians). This is expected to be particularly useful for methods such as Nonparametric BP or Expected Propagation where one needs to manipulate such distributions at every step of the algorithm.

Some of this code is drawn from our code supporting Distributed Bayesian Learning with Stochastic Natural-gradient Expectation Propagation and the Posterior Server.

This is WIP as of May 2017. If you have comments or are interested, send me an email tlienart σ turing ξ ac ξ uk.

Requirements:

  • Julia >= 0.5
  • 64bit architecture (Int==Int64)

Conventions

Matrices are p x N with p the dimensions and N the number of points (in particular rand, loglikelihood)

Remarks

  • The gaussian objects require the covariance to be symmetric but not positive definite this is because in some cases (e.g. in EP) it may be desirable to have an object which looks like a Gaussian but is not a valid one (e.g.: cavity distribution)