AdditionalDistributions.jlExtended probability distributions for Julia
Continuous, discrete, and multivariate distributions with a familiar Distributions.jl interface.
Continuous, discrete, and multivariate distributions with a familiar Distributions.jl interface.

AdditionalDistributions.jl is a Julia package for additional probability distributions built on top of the Distributions.jl interface.
The package extends the Julia statistics ecosystem with univariate and multivariate probability distributions that are useful in statistics, actuarial science, reliability analysis, risk modeling, Bayesian modeling, simulation, and applied probability.
Additional continuous distributions, including heavy-tailed and reliability models.
Additional discrete count distributions, including zero-inflated and heavy-tailed models.
Multivariate Gaussian and Student-t distributions.
Rectangular CDF utilities for multivariate Gaussian and Student-t distributions.
Compatibility with the standard Distributions.jl API.
Ecosystem examples with HypothesisTests.jl, Copulas.jl, and Turing.jl.
using Pkg
Pkg.add("AdditionalDistributions")Use the guide pages to get started, browse the distribution index, and explore examples of integration with the Julia statistics ecosystem.
using AdditionalDistributions
using Distributions
x = Lomax(2.0, 3.0)
pdf(x, 1.5)
cdf(x, 1.5)
z = ZIP(2.0, 0.3)
pdf(z, 0)
cdf(z, 4)See the Distribution index for the public API documented in this package.
For a multivariate distribution, the package evaluates probabilities of rectangles:
using AdditionalDistributions
using LinearAlgebra
using Random
d = 5
Σ = fill(0.5, d, d)
Σ[diagind(Σ)] .= 1.0
lower = fill(-1.0, d)
upper = fill( 1.0, d)
mvnormal = MvGaussian(zeros(d), Σ)
res = cdf_result(mvnormal, lower, upper;
m = 100_000,
rng = MersenneTwister(1234),
)
res.value
res.error
res.informThe randomized QMC engine is reproducible when the RNG is fixed. The reported error is an estimate, and inform = 1 means the requested tolerance was not reached with the current integration budget.
Benchmark scripts are available in the repository under benchmark/. They compare selected multivariate Gaussian cases against MvNormalCDF.jl and provide reproducible performance diagnostics.
Student-t reference values are checked against selected values generated with R's mvtnorm::pmvt using the GenzBretz algorithm.
See Benchmarks and Accuracy and Reproducibility for details.
If you use AdditionalDistributions.jl in your research, please cite it as:
S. Jiménez (2025). AdditionalDistributions.jl — Advanced and Extended Probability Distributions in Julia. Available at: https://github.com/Santymax98/AdditionalDistributions.jl
BibTeX:
@misc{Jimenez2025AdditionalDistributions,
author = {Santiago Jimenez},
title = {AdditionalDistributions.jl --- Advanced and Extended Probability Distributions in Julia},
year = {2025},
url = {https://github.com/Santymax98/AdditionalDistributions.jl},
note = {Julia package}
}If the package has been useful in your work, consider starring the repository. It helps the project gain visibility and supports future development.