// The following text is included in the main documentation page by doxygen
/*! \mainpage bsta : Brown Statistical Library
* This library is primarily template library for probability distributions.  
* Some older statistical code also exists here which does not fit into the framework of this library.
* Expect this older code to be deprecated soon. 
*
* \section imesh_overview Overview
*
* This library uses the generic programming paradigm for statistical distributions.
* The class hierarchy is for code reuse and type definitions as
* opposed to polymorphism.  The base class for distributions,
* bsta_distribution, contains no functions or member variables.  
* Each distribution has template parameters for the scalar type 
* (typically float or double) and dimension.
*
* \subsection Typedefs
* 
* The bsta_distribution defines the following typedefs
* - \c dimension (integer with enum hack) the dimensionality of the
*   space
* - \c math_type the type used in mathmatical operations (expects double
*   or float)
* - \c vector_type the type used to represent a vector \c math_type of
*   size \c dimension 
*
*  The \c vector_type is defined as
*  \c vnl_vector_fixed<math_type,dimension> by default.  Using
*  template partial specialization, \c vector_type is redefined to
*  be the same as \c math_type when \dimension equals 1.  Using the
*  \c vector_type typedef allow much of the same code to be used both
*  univariate and multivariate distributions without the overhead of
*  of a 1 dimensional vector or other wrapper classes.
*
* \section Distributions
* 
* The Gaussian (aka Normal) distribution is provided with several
* variants. Each variant has a different restriction on the
* parameters.  These Gaussians share a base class named bsta_gaussian
* which adds member variable for the mean (stored as a \c vector_type)
* and functions to access it.  Each variant of the Gaussian also
* defines the typedef \c covar_type to specifiy the data type used
* to represent covariance.
* - bsta_guassian_sphere has a single variance parameter and is
*   spherically symmetric (\c covar_type is \c math_type )
* - bsta_gaussian_indep has independent variance in each of its
*   principal axes.  The covariance matrix is diagonal and is
*   stored as a vector (\c covar_type is \c vector_type )
* - bsta_gaussian_full is the most general form Gassian with
*   a full covariance matrix (\c covar_type is 
*   \c vnl_matrix_fixed<math_type,dimension,dimension> )  
* 
*/
