CAPD DynSys Library  5.2.0
capd::dynsys::C2DynSys< MatrixT > Class Template Referenceabstract

#include <capd/dynsys/C2DynSys.h>

Public Types

typedef MatrixT MatrixType
 
typedef MatrixType::RowVectorType VectorType
 
typedef MatrixType::ScalarType ScalarType
 
typedef capd::vectalg::Norm< VectorType, MatrixTypeNormType
 
typedef capd::diffAlgebra::Hessian< ScalarType, VectorType::csDim, VectorType::csDim > HessianType
 

Public Member Functions

virtual void encloseC2Map (const ScalarType &t, const VectorType &x, const VectorType &xx, VectorType &o_phi, VectorType &o_rem, VectorType &o_enc, MatrixType &o_jacPhi, MatrixType &o_jacRem, MatrixType &o_jacEnc, HessianType &o_hessianPhi, HessianType &o_hessianRem, HessianType &o_hessianEnc)=0
 
virtual void encloseC1Map (const ScalarType &t, const VectorType &x, const VectorType &xx, VectorType &o_phi, VectorType &o_rem, VectorType &o_enc, MatrixT &o_jacPhi, MatrixT &o_jacRem, MatrixT &o_jacEnc)=0
 
virtual VectorType Phi (const ScalarType &t, const VectorType &iv)=0
 Computes value of function (usually numerical scheme for an ODE) at time t and point iv. More...
 
virtual MatrixType JacPhi (const ScalarType &t, const VectorType &iv)=0
 Computes derivative of function (usually numerical scheme for an ODE) at time t and point iv. More...
 
virtual VectorType Remainder (const ScalarType &t, const VectorType &iv, VectorType &out_enc)=0
 Computes and returns bound for local error of a function (for instance if Phi is finite Taylor series of a map then this method computes bound for Lagrange remainder). If DynSys is an ODE, then out_enc contains enclosure of trajectories over the time step. If the function cannot validate existence of solutions to ODE over the time step, out_enc might be in an inconsistent state. More...
 
virtual ScalarType Lipschitz (const ScalarType &t, const VectorType &iv, NormType &n)
 this function returns Lipschitz contants for maps. It should be overriden in classes implementing flows. More...
 
virtual VectorType enclosure (const ScalarType &t, const VectorType &x)=0
 Used for ODEs. It verifies the existence of solutions to IVP at time t and set of initial conditions x over the time step. If the function succeeds, a rigorous bound for the trajectories is returned. Otherwise, an exception is thrown. More...
 
virtual void encloseC0Map (const ScalarType &t, const VectorType &x, const VectorType &xx, VectorType &o_phi, VectorType &o_rem, VectorType &o_enc, MatrixType &o_jacPhi)=0
 For given set xx, time t and a point x from the set xx It simultaneously computes and returns enclosures for: More...
 
virtual ScalarType getStep () const
 Returns time step of the dynamical system. By default it returns one - time step for discrete DS (maps). Shall be overridden in classes that implement numerical schemes for ODEs. More...
 

Member Typedef Documentation

◆ HessianType

template<typename MatrixT >
typedef capd::diffAlgebra::Hessian<ScalarType,VectorType::csDim,VectorType::csDim> capd::dynsys::C2DynSys< MatrixT >::HessianType

◆ MatrixType

template<typename MatrixT >
typedef MatrixT capd::dynsys::C2DynSys< MatrixT >::MatrixType

◆ NormType

template<typename MatrixT >
typedef capd::vectalg::Norm<VectorType,MatrixType> capd::dynsys::C2DynSys< MatrixT >::NormType

◆ ScalarType

template<typename MatrixT >
typedef MatrixType::ScalarType capd::dynsys::C2DynSys< MatrixT >::ScalarType

◆ VectorType

template<typename MatrixT >
typedef MatrixType::RowVectorType capd::dynsys::C2DynSys< MatrixT >::VectorType

Member Function Documentation

◆ encloseC0Map()

template<typename MatrixT >
virtual void capd::dynsys::DynSys< MatrixT >::encloseC0Map ( const ScalarType t,
const VectorType x,
const VectorType xx,
VectorType o_phi,
VectorType o_rem,
VectorType o_enc,
MatrixType o_jacPhi 
)
pure virtualinherited

For given set xx, time t and a point x from the set xx It simultaneously computes and returns enclosures for:

  • numerical scheme Phi(t,x),
  • derivative of numerical scheme D_x Phi(t,xx)
  • error of numerical scheme Remainder(t,xx)
  • an enclosure for the trajectories over the time step (ODEs only) If the function cannot compute any of the output results, an exception is thrown and the output parameters o_* might be in inconsistent state.

◆ encloseC1Map()

virtual void capd::dynsys::C1DynSys< MatrixT >::encloseC1Map ( const ScalarType t,
const VectorType x,
const VectorType xx,
VectorType o_phi,
VectorType o_rem,
VectorType o_enc,
MatrixT &  o_jacPhi,
MatrixT &  o_jacRem,
MatrixT &  o_jacEnc 
)
pure virtualinherited

◆ encloseC2Map()

template<typename MatrixT >
virtual void capd::dynsys::C2DynSys< MatrixT >::encloseC2Map ( const ScalarType t,
const VectorType x,
const VectorType xx,
VectorType o_phi,
VectorType o_rem,
VectorType o_enc,
MatrixType o_jacPhi,
MatrixType o_jacRem,
MatrixType o_jacEnc,
HessianType o_hessianPhi,
HessianType o_hessianRem,
HessianType o_hessianEnc 
)
pure virtual

◆ enclosure()

template<typename MatrixT >
virtual VectorType capd::dynsys::DynSys< MatrixT >::enclosure ( const ScalarType t,
const VectorType x 
)
pure virtualinherited

Used for ODEs. It verifies the existence of solutions to IVP at time t and set of initial conditions x over the time step. If the function succeeds, a rigorous bound for the trajectories is returned. Otherwise, an exception is thrown.

Implemented in capd::dynsys::OdeSolver< MapT, StepControlPolicyT, EnclosurePolicy, CurveT >, capd::dynsys::OdeSolver< typename MapT::MapType >, and capd::dynsys::OdeSolver< MapT, capd::dynsys::ILastTermsStepControl, HighOrderEnclosure, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >.

◆ getStep()

template<typename MatrixT >
virtual ScalarType capd::dynsys::DynSys< MatrixT >::getStep ( ) const
inlinevirtualinherited

Returns time step of the dynamical system. By default it returns one - time step for discrete DS (maps). Shall be overridden in classes that implement numerical schemes for ODEs.

Reimplemented in capd::dynsys::OdeSolver< typename MapT::MapType >, and capd::dynsys::OdeSolver< MapT, capd::dynsys::ILastTermsStepControl, HighOrderEnclosure, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >.

◆ JacPhi()

◆ Phi()

◆ Remainder()

template<typename MatrixT >
virtual VectorType capd::dynsys::DynSys< MatrixT >::Remainder ( const ScalarType t,
const VectorType iv,
VectorType out_enc 
)
pure virtualinherited

Computes and returns bound for local error of a function (for instance if Phi is finite Taylor series of a map then this method computes bound for Lagrange remainder). If DynSys is an ODE, then out_enc contains enclosure of trajectories over the time step. If the function cannot validate existence of solutions to ODE over the time step, out_enc might be in an inconsistent state.

Implemented in capd::dynsys::OdeSolver< MapT, StepControlPolicyT, EnclosurePolicy, CurveT >, capd::dynsys::OdeSolver< typename MapT::MapType >, and capd::dynsys::OdeSolver< MapT, capd::dynsys::ILastTermsStepControl, HighOrderEnclosure, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >.