//////////////////////////////////////////////////////////////////////////////
//   Package:          CAPD

// ///////////////////////////////////////////////////////////////////////////
/// @file main.dox
/// @brief  Main documentation file for CAPD package
///
/// @author Tomasz Kapela   @date 2009-12-17
// ///////////////////////////////////////////////////////////////////////////

// Copyright (C) Tomasz Kapela 2009
//
// This file constitutes a part of the CAPD library,
// distributed under the terms of the GNU General Public License.
// Consult  http://capd.ii.uj.edu.pl/ for details.

/*!
\mainpage

The CAPD library is a collection of flexible C++ modules which are mainly designed for nonrigorous and validated numerics for dynamical systems
and computation of homology of sets and maps.

- \subpage capd_news

- \subpage capd_requirements "Requirements"
- \subpage capd_compilation
- \subpage user_programs 

- \subpage capd_useful_info

For developers
- \subpage capd_repositories
- \subpage devel_new_files
- \subpage devel_documentation
*/



















/*

---- OLD ---

The list of modules is pretty long, but the most important are:

Basic modules:
- \ref capd::krak "krak" - a portable graphics kernel for very primitive drawing in the graphical window. Very easy to start with.
- \ref capd::intervals "interval"- template written interval arithmetic, supports double, long double and multiprecision. It can be extended to any arithmetic type for which we can implement arithmetic operations and rounding.
- \ref capd::vectalg "vectalg" and \ref capd::matrixAlgorithms "matrixAlgorithms" - a flexible template implementation of basic operations and algorithms for dense vectors and matrices (with integer, floating points and various interval coefficients).

Modules for dynamical systems:
- \ref capd::map "map" - computation of values and derivatives of maps. It is also the core for the solvers in dynsys module.
- \ref capd::dynsys "dynsys" - various nonrigorous and rigorous solvers to ODEs, for computations of the solutions and partial derivatives wrt initial conditions up to arbitrary order.
- \subpage geomset_module "geomset", \subpage dynset_module "dynset" - various representations of sets and Lohner-type algorithms.
- \ref capd::poincare "poincare" - computation of Poincare maps and their derivatives; both rigorous and nonrigorous.
- \ref capd::diffIncl "diffIncl" - rigorous computations of the solutions to differential inclusions.

Modules for computation of homology:
- \ref homologicalAlgebra "homologicalAlgebra" - cubical homology algorithms based on the bitmap representation of cubical sets, programmed by Marian Mrozek
- \ref capd::homology "homology" - data structures and algorithms for homology computation (as well as some auxiliary code), programmed by Pawel Pilarczyk
- \ref multiEngHom "multiEngHom", \ref capd::homengin "homengin" - a common interface to several cubical homology algorithms (the latter one used in the program "chomp")

Facades:

The source code of the CAPD library heavily uses advanced template techniques.
If you are beginner in the C++ programming, the facade module is for you.
This module might be a bit slower (up to 10%) than the regular classes
but it provides non-template interfaces for most often used classes from the CAPD library.
It can be also recommended for a user who just would like to try the CAPD library.

*/

