package prbnmcn-dagger
Install
Dune Dependency
Authors
Maintainers
Sources
md5=304d489ed3e9605fcd7fe3f86c2e9dca
sha512=f8f632e381c6b1d111ee8a03e142994f2c59ddabdbb5c3fef86c7c41a95ad4835c4ea4a893fa18e2f6522b92be8fd9b499c12b21a008bc647a85277ba5bccc5e
README.md.html
dagger†: a probabilistic programming library
The dagger library for probabilistic programming in OCaml. Currently implements:
Single-site Metropolis-Hastings, a.k.a. lightweight Metropolis-Hastings
Incrementalized single-site MH, similar to that implemented in Hakaru10
The main package is prbnmcn-dagger
. Packages prbnmcn-dagger-gsl
and prbnmcn-dagger-stats
provide distributions implemented respectively through the GSL (GPL-licensed) and prbnmcn-stats
(MIT-licensed).
Look no further for the documentation.
Examples will be made available in the examples
subdirectory. For now, you'll find an implementation of a 2d ising model and a toy study of its behaviour around its critical temperature.
Contributing
Contributions and issue reports are welcome. Development currently happen on https://gitlab.com/igarnier/monorepo/ but I can take care of cherry-picking pull requests submitted here.
Trivia
The name dagger refers to two things:
a good mathematical framework for giving a semantics to probabilistic programming is a certain dagger category of Markov kernels, see eg this or that paper; Bayesian inversion corresponds to a particular symmetry of a mathematical structure and this symmetry is denoted using the † symbol.
the underlying representation of the probabilistic model when using the incrementalized backend is as a directed acyclic graph (ie a DAG, which sounds exactly like the French translation of dagger)