// The following text is included in the main documentation page by doxygen
/*! \mainpage pdf1d : Univariate Probability Density Function Library
* \section sec_intro Introduction
* Provides several classes for representing and using univariate probability
* density functions (PDFs).
*
* Each PDF comes as a builder-model-sampler triplet of objects.
*
* e.g. The abstract PDF base classes
* - pdf1d_pdf (Represents a PDF)
* - pdf1d_sampler (Generate random samples from a pdf)
* - pdf1d_builder (Build a pdf from some data)
*
* For instance, the univariate Gaussian PDF classes
* - pdf1d_gaussian
* - pdf1d_gaussian_sampler
* - pdf1d_gaussian_builder
*
* A variety of types of simple PDF are implemented:
* - pdf1d_flat (Flat distribution over a range)
* - pdf1d_gaussian
* - pdf1d_exponential (Exponential distribution $p(x)=\lambda exp(-\lambda x)$)
*
* The models are used to calculate densities, cumulative probabilities, gradients, etc.
*
* \section sec_kernel Kernel Estimates
* The classes
* - pdf1d_kernel_pdf
* - pdf1d_kernel_pdf_builder
*
* Are kernel PDFs, ie representing a PDF by placing a kernel at every point in
* a sample.
* The builder includes a variety of algorithms taken from "Density Estimation"
* by B.W.Silverman (Pub. Chapman and Hall, 1986), including a recommended
* choice of kernel width and an implementation of the adaptive kernel estimate.
*
* Examples of kernels available include
* - pdf1d_gaussian_kernel_pdf
* - pdf1d_epanech_kernel_pdf  (Epanechnikov kernel - quadratic)
*
* \section sec_mixture Mixture Models
* Mixture models are represented using the pdf1d_mixture class.
* The pdf1d_mixture_builder uses the EM algorithm to estimate the
* parameters of the mixtures.
*/
