CAPD::DynSys Library  6.0.0
Main header files

The library consists of a large number of template functions and classes. For user convenience we provide two main header files in which most important types are defined. All defined types are located in the capd namespace.

Note
File "capd/capdlib.h" provides classes for computation in double and long double precision and in interval arithmetics based on double type.
#include "capd/mpcapdlib.h"
Multiple Precision version of CAPD library.
Note
File "capd/mpcapdlib.h" provides classes for computation in multiple precision floating numbers and in interval arithmetics of arbitrary precision.

Basic types and naming convention

In addition to the standard double and long double types, the above header files provide the following arithmetic types

  • capd::interval - interval aritghmetics based on standard double precision.
  • capd::MpFloat - arbitrary floating point arithmetics based of MPFR library
  • capd::MpInterval - interval arithmetics of arbitrary precission based on MpFloat type

On top of these five basic arithmetic types the CAPD library builds data structures such as vectors, matrices, hessians, jets (truncated Taylor series) and algorithms for manipulating them. Other data structures represent functions, solutions to ODEs or Poincaré maps, etc. Most of defined types use the following naming convention pattern

[Prefix]ClassName

where Prefix is one of the following

  • D – computation in floating points based on double standard type
  • LD – computation in floating points based on long double standard type
  • Mp – computation in floating points based on MpFloat
  • I – computation in interval arithmetics based on capd::interval type
  • MpI – computation in interval arithmetics based on capd::MpInterval type

For example

capd::map::Map< IMatrix > IMap
Definition: mapLib.h:24
capd::map::Map< LDMatrix > LDMap
Definition: mapLib.h:30
capd::map::Map< DMatrix > DMap
Definition: mapLib.h:27
capd::dynsys::BasicOdeSolver< capd::LDMap > LDOdeSolver
Definition: typedefs.h:30
capd::vectalg::Vector< MpFloat, 0 > MpVector
Definition: mplib.h:36
capd::map::Map< MpIMatrix > MpIMap
Definition: mplib.h:29
capd::vectalg::Vector< double, CAPD_DEFAULT_DIMENSION > DVector
Definition: typedefs.h:27
capd::dynsys::BasicOdeSolver< capd::DMap > DOdeSolver
Definition: typedefs.h:26
capd::diffAlgebra::Jet< capd::DMatrix, 0 > DJet
Definition: fdlib.h:44
capd::vectalg::Vector< capd::DInterval, CAPD_DEFAULT_DIMENSION > IVector
Definition: typedefs.h:33
capd::vectalg::Matrix< double, CAPD_DEFAULT_DIMENSION, CAPD_DEFAULT_DIMENSION > DMatrix
Definition: typedefs.h:28
capd::diffAlgebra::Jet< capd::MpIMatrix, 0 > MpIJet
Definition: mplib.h:46
capd::dynsys::OdeSolver< capd::IMap > IOdeSolver
Definition: typedefs.h:19
capd::poincare::BasicPoincareMap< capd::LDOdeSolver > LDPoincareMap
Definition: typedefs.h:40
capd::vectalg::Matrix< MpInterval, 0, 0 > MpIMatrix
Definition: mplib.h:41
capd::dynsys::BasicOdeSolver< MpMap, capd::dynsys::DLastTermsStepControl > MpOdeSolver
Definition: mplib.h:42
capd::vectalg::Matrix< MpFloat, 0, 0 > MpMatrix
Definition: mplib.h:40
capd::poincare::PoincareMap< capd::IOdeSolver > IPoincareMap
Definition: typedefs.h:44
capd::poincare::BasicPoincareMap< capd::DOdeSolver > DPoincareMap
Definition: typedefs.h:36
capd::dynsys::OdeSolver< capd::MpIMap > MpIOdeSolver
Definition: mplib.h:37
capd::diffAlgebra::Jet< capd::IMatrix, 0 > IJet
Definition: fdlib.h:46
capd::diffAlgebra::Jet< capd::MpMatrix, 0 > MpJet
Definition: mplib.h:45
capd::vectalg::Matrix< capd::DInterval, CAPD_DEFAULT_DIMENSION, CAPD_DEFAULT_DIMENSION > IMatrix
Definition: typedefs.h:34
capd::map::Map< MpMatrix > MpMap
Definition: mplib.h:32
capd::poincare::PoincareMap< capd::MpITaylor > MpIPoincareMap
Definition: mplib.h:47
capd::diffAlgebra::Jet< capd::LDMatrix, 0 > LDJet
Definition: fdlib.h:45
capd::poincare::PoincareMap< MpTaylor > MpPoincareMap
Definition: poincareLib.h:68
capd::vectalg::Matrix< long double, DIM, DIM > LDMatrix
Definition: vectalgLib.h:46
capd::vectalg::Vector< long double,DIM > LDVector
Definition: vectalgLib.h:45

List of the most important types

Here is (very incomplete) list of types provided for a user in "capd/capdlib.h" and "capd/mpcapdlib.h" header files.

  • [Prefix]Vector – vector or interval vector in Rn
  • [Prefix]Matrix – matrix or interval matrix in Rn×m
  • [Prefix]Hessian – data structure to stores hessians of maps
  • [Prefix]Jet - data structure to stores jets (truncated Taylor series) of maps
  • [Prefix]EuclNorm, [Prefix]SumNorm, [Prefix]MaxNorm - various norms of vectors and matrices (operator norms).
  • [Prefix]Function - represents a multivariate, scalar valued function with vector arguments (can depend on parameters)
  • [Prefix]Map - represents a map $R^n \to R^m$. It can be used to define vector fields
  • [Prefix]OdeSolver - solver to ODEs based on the (high order) Taylor method or implict Hermite-Obreshkov method. The solver can integrate first order variational equations to ODEs.
  • [Prefix]CnOdeSolver - solver to ODEs based on the (high order) Taylor method. It can integrate higher order variational equations to ODEs.
  • [Prefix]TimeMap - computes solutions to ODEs over usually large time interval. It can integrate first order variational equations.
  • [Prefix]CnTimeMap - computes solutions to ODEs over the time interval. It can integrate higher order variational equations.
  • [Prefix]PoincareMap - computes Poincaré maps and their jacobians.
  • [Prefix]CnPoincareMap - computes Poincaré maps and their higher order derivatives.
  • [Prefix]NonlinearSection - most general Poincaré section of the form $ \{x\in R^n : \alpha(x)=0\} $, where $ \alpha:R^n\to R$ is a smooth function
  • [Prefix]AffineSection - Poincaré section that is an affine hyperplane
  • [Prefix]CoordinateSection - Poincaré section that is of the form $ \{(x_1,\ldots,x_n)\in R^n : x_i = const\} $

In the next chapters we will present basic usage of the above types.