/**
 \mainpage Comprehensive Documentation of Functions and Classes
<br><center>
\image html admb-logo-notext-72.png
</center><br>
<H1>
<CENTER>
Documentation of mathematical functions can be found on the 
Modules tab.
</CENTER>
</H1>
<br>
<br>
Partial documentation of some of the AUTODIF Library and ADMB classes can
found on the "Classes" tab. No class is 
fully documented, but class \ref dvector for an example of 
how it might look.
<br>
<br>
This preliminary version of the API documentation is a work in progress.
If you would like ton contribute your expertize to the enterprize please 
contact developers@admb-project.org.

For up-to-date information and download and installation instructions
consult the 
<a href=" http://admb-project.org/documentation/readme.txt">ADMB README</a>.

*/

/*
Comments on groupings
*/

/**  \defgroup matop Vector and Matrix Operations. 
\details The syntax of ADMB Matrix and vector operations follows normal
mathematical conventions as much as possible. If \c u and \c v are
vectors and \c M is a matrix, \code u*M \endcode is a normal matrix
multiplication and \code u*v \endcode is a dot product. 
Element-wise multiplications and divisions are accomplished by
\ref elem_prod and \ref elem_div respectively. 
If the arguments to these operations are not conformable for the appropriate
type and operation, the application will exit with an error message.

These operations have been overloaded for appropriate combinations of
constant and variable objects. 
The overloaded versions with variable
types are optimized for efficient derivative computation. 
Only the constant types are currently documented here.
*/

/**  \defgroup PDF Probability Density Functions.
*/

/**  \defgroup RNG Random Numbers.
*/

/**  \defgroup misc "Helper" Functions
\details ADMB functions to perform common operations. These functions are
typically optimized for automatic differentiation and automatically
invoke custom adjoint code.
*/

/** \defgroup DEVEL Development Utilities
\details ADMB functions of use to developers of ADMB code.
*/

/**
 * \defgroup gammafunc Gamma and related functions.
 */

/**
 * \defgroup eigen Eigenvalues and eigenvectors.
 */

/**
 * \defgroup cub_spline Class and methods for cubic splines.
 */

/**
  \defgroup RA Cautions for functions that return variable objects.
   \details
  These functions must be called in any function that returns
  a "variable" object, ie dvariable, dvar_vector, ... Failure to do so
  may generate an error message related to an overflow in the 
  RETURN_ARRAYS stack, or even worse cause derivatives to be incorrect.
 */

/**
  \defgroup AD Classes for Automatic Differentiation.
   \details
   The algorithms for AD  in ADMB are invoked by declaring variables to be
   instances of specific classes, usually of type dvariable. Operations on instances of these classes invoke specialized overloaded 
   operators and functions to the required computations and to automatically 
   compute the required deravitives.
*/

/** \defgroup BAD Reverse mode Automatic Differentiation.
    \ingroup AD
*/

/** \defgroup FAD Forward mode Automatic Differentiation.
     \ingroup AD
*/

/** \defgroup CONTRIB User-Contributed Libraries.
    \details 
     Collections of C++ and source code for implementing specialized
     models in ADMB. These modules are maintained by the original authors.
*/

/** \defgroup STATLIB Statistical Fuctions.
    \ingroup CONTRIB
    \details Contributed by Steven Martell.
*/

/** \defgroup ECOL Functions Useful in Ecology.
    \ingroup CONTRIB
    \details Contributed by Mollie Brooks.
*/

/** \defgroup QFC
    \ingroup CONTRIB
    \details Contributed by Weihai Liu
*/
