Statistical package

Package Information

Version0.1.7 (2015-Aug-16)
CopyrightCopyright © 2014-2015 Ilya Yaroshenko
AuthorsIlya Yaroshenko
Registered byIlya Yaroshenko





To use this package, put the following dependency into your project's dependencies section:




Atmosphere contains Maximum Likelihood Estimation algorithms, density functions, random observations generators, etc.

Travis-CI Status

Join the chat at Coverage Status


  1. Normal variance-mean mixtures
  • Generalized hyperbolic distribution
  • Generalized variance-gamma distribution
  1. Separating mixtures of probability distributions
  • Grid methods
  • Likelihood maximization
  • Optimization over sliding window
  1. Generalized probability distributions
  • Density functions
  • Cumulative functions
  • Quantiles
  • Random observations generators
  • Maximum Likelihood Estimations (MLE)

<img src="" alt="Generalized hyperbolic distribution" width="280" /> <img src="" alt="Generalized variance-gamma distribution" width="280" />

What can I use this package for?

Atmosphere can be used for risk management in economics, finance and thermonuclear reactors ;-)

#Documentation Documentation (API) can be found here.



You need BLAS and LAPACK libraries to be installed.

If you're on Ubuntu, you can install default packages

sudo apt-get update
sudo apt-get install libblas-dev liblapack-dev 

OS X comes with the Accelerate framework built in.

There is no instruction for Windows. You are welcome to create it.

Intro to D

  1. Install D compiler.
  2. Install DUB registry
  3. Read about DUB
  4. Read about DUB package format


To use this package put the dependency into your project's dub.json into the dependencies section and the following imports into your program

import atmosphere;

If you want to write a library use detailed imports

import atmosphere.pdf;
import atmosphere.estimate.generalized_inverse_gaussian;
import atmosphere.finitemixture;
import atmosphere.mixture : MixtureOptimizer, MixtureOptimizerException;

Compilers and optimization

The DMD compiler is an easy way to start. To compile your program in release mode use the following build options

dub build --build=release


It is suggested the LLVM D Compiler be used for benchmarks. To compile your program in release mode with LDC use the following build options

dub build --build=release --compiler=ldc2

To fine-tune your program for native CPU add the following code into your dub.json:

	"dflags-ldc": ["-mcpu=native"],

For more options run ldc2 -help.

See also Atmosphere GM Test.

TODO & Contribution

Contribution is welcome.

TODO list
  • Windows instruction for BLAS & LAPACK installation.
  • MLEs for generalized gamma distribution.
  • Publication references
  • More unittests
  • Examples
  • ReadTheDocs documentation.

Available versions

0.1.7 0.1.6 0.1.5 ~master