From 0c7ffd6aa73748e7cf1d446657f859737596fb0f Mon Sep 17 00:00:00 2001 From: mohamed82008 Date: Mon, 23 Sep 2019 01:43:21 +1000 Subject: [PATCH] update README --- README.md | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 65 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index b44f3085..c2cd18c6 100644 --- a/README.md +++ b/README.md @@ -1 +1,65 @@ -# DistributionsAD.jl \ No newline at end of file +# DistributionsAD.jl + +This package defines the necessary functions to enable automatic differentiation (AD) of the `logpdf` function from [Distributions.jl](https://github.com/JuliaStats/Distributions.jl) using the packages [Tracker.jl](https://github.com/FluxML/Tracker.jl) and [ForwardDiff.jl](https://github.com/JuliaDiff/ForwardDiff.jl). The goal of this package is to make the output of `logpdf` differentiable wrt all continuous parameters of a distribution as well as the random variable in the case of continuous distributions. + +AD of `logpdf` is fully supported and tested for the following distributions wrt all combinations of continuous variables (distribution parameters and/or the random variable) and using all defined distribution constructors: +- Univariate discrete + - `Bernoulli` + - `BetaBinomial` + - `Binomial` + - `Categorical` + - `Geometric` + - `NegativeBinomial` + - `Poisson` + - `PoissonBinomial` + - `Skellam` +- Univariate continuous + - `Arcsine` + - `Beta` + - `BetaPrime` + - `Biweight` + - `Cauchy` + - `Chernoff` + - `Chi` + - `Chisq` + - `Cosine` + - `Epanechnikov` + - `Erlang` + - `Exponential` + - `FDist` + - `Frechet` + - `Gamma` + - `GeneralizedExtremeValue` + - `GeneralizedPareto` + - `Gumbel` + - `InverseGamma` + - `InverseGaussian` + - `Kolmogorov` + - `Laplace` + - `Levy` + - `LocationScale` + - `Logistic` + - `LogitNormal` + - `LogNormal` + - `Normal` + - `NormalCanon` + - `NormalInverseGaussian` + - `Pareto` + - `PGeneralizedGaussian` + - `Rayleigh` + - `Semicircle` + - `SymTriangularDist` + - `TDist` + - `TriangularDist` + - `Triweight` + - `Uniform` + - `Weibull` +- Multivariate continuous + - `MvLogNormal` + - `MvNormal` +- Matrix-variate continuous + - `MatrixBeta` + +# Get Involved + +A number of distributions are still either broken or not fully supported for various reasons. See [this issue](https://github.com/TuringLang/DistributionsAD.jl/issues/2). If you can fix any of the broken ones, a PR is welcome!