CAPD DynSys Library  5.2.0
capd::dynsys::CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT > Class Template Referenceabstract

#include <capd/dynsys/CnOdeSolver.h>

Public Types

typedef MapT VectorFieldType
 
typedef StepControlT StepControlPolicy
 
typedef EnclosurePolicyT EnclosurePolicy
 
typedef BasicCnOdeSolver< MapT, StepControlPolicy, CurveT > BaseTaylor
 
typedef VectorFieldType::ScalarType ScalarType
 
typedef VectorFieldType::VectorType VectorType
 
typedef VectorFieldType::MatrixType MatrixType
 
typedef VectorFieldType::HessianType HessianType
 
typedef VectorFieldType::FunctionType FunctionType
 
typedef BaseTaylor::JetType JetType
 
typedef MatrixType::size_type size_type
 
typedef diffAlgebra::C1TimeJet< MatrixTypeC1TimeJetType
 
typedef diffAlgebra::C2TimeJet< MatrixTypeC2TimeJetType
 
typedef diffAlgebra::CnTimeJet< MatrixType, 0 > CnTimeJetType
 
typedef CurveT SolutionCurve
 
typedef capd::vectalg::Norm< VectorType, MatrixTypeNormType
 
typedef capd::dynsys::IEncFoundStepControl StepControlType
 
typedef JetType::Multipointer Multipointer
 
typedef JetType::Multiindex Multiindex
 
typedef TypeTraits< ScalarType >::Real Real
 
typedef __difference_type difference_type
 

Public Member Functions

template<typename SetType >
void operator() (SetType &set)
 This operator computes image of the set (in given representation) using set.move function, see capd/dynsys/Move.h for details This template together with SetTraits prevent usage of various types of jets with incompatible solvers. The user will get an exception at runtime with clear message instead of unreadable compiler error. In this case a specialization CnSetMove is used meaning that this solver can integrate C^0, C^1 and C^2 sets only. Moreover, it cannot integrate nonrigorous jets (for user safety). More...
 
template<typename SetType >
void operator() (SetType &set, SetType &result)
 
 CnOdeSolver (VectorFieldType &vectorField, size_type order, const StepControlT &stepControl=StepControlT())
 
VectorType Phi (const ScalarType &t, const VectorType &iv)
 
MatrixType JacPhi (const ScalarType &t, const VectorType &iv)
 
VectorType enclosure (const ScalarType &t, const VectorType &x)
 
VectorType Remainder (const ScalarType &t, const VectorType &iv, VectorType &o_enc)
 
void encloseC0Map (const ScalarType &t, const VectorType &x0, const VectorType &x, VectorType &o_phi, VectorType &o_rem, VectorType &o_enc, MatrixType &o_jacPhi)
 
void JacRemainder (const ScalarType &t, const VectorType &vecEnclosure, const MatrixType &jacEnclosure, VectorType &Remainder, MatrixType &jacRemainder)
 
void encloseC1Map (const ScalarType &t, const VectorType &x0, const VectorType &x, VectorType &o_phi, VectorType &o_rem, VectorType &o_enc, MatrixType &o_jacPhi, MatrixType &o_jacRem, MatrixType &o_jacEnc)
 
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)
 
void c2Remainder (const VectorType &Enc, const MatrixType &jacEnc, const HessianType &hessianEnc, VectorType &o_Rem, MatrixType &o_jacRem, HessianType &o_hessianRem)
 
template<class JetT >
VectorType encloseCnMap (const ScalarType &t, const VectorType &x, const VectorType &xx, JetT &phi, JetT &rem, JetT &enc)
 
template<class JetT >
VectorType cnEnclosure (const ScalarType &t, const VectorType &x, JetT &result)
 
template<class JetT >
void cnRemainder (const JetT &enc, JetT &result)
 
ScalarType getStep () const
 
ScalarType getCoeffNorm (size_type i, size_type degree) const
 
void computeRemainderCoefficients (const VectorType &x)
 
void computeRemainderCoefficients (const VectorType &x, const MatrixType &M)
 
void computeRemainderCoefficients (ScalarType t, const VectorType &x)
 
void computeRemainderCoefficients (ScalarType t, const VectorType &x, const MatrixType &M)
 
virtual void computeRemainder (ScalarType t, const VectorType &xx, VectorType &o_enc, VectorType &o_rem)
 
virtual void computeRemainder (ScalarType t, const VectorType &xx, C1TimeJetType &o_enc, C1TimeJetType &o_rem)
 
virtual void computeRemainder (ScalarType t, const VectorType &xx, C2TimeJetType &o_enc, C2TimeJetType &o_rem)
 
template<class JetT >
void computeRemainder (ScalarType t, const VectorType &xx, JetT &o_enc, JetT &o_rem)
 
void sumTaylorSeries (VectorType &o_phi, MatrixType &o_jacPhi)
 
void sumTaylorSeries (VectorType &o_phi, MatrixType &o_jacPhi, HessianType &o_hessianPhi)
 
template<class JetT >
void sumTaylorSeries (JetT &o_phi)
 
void computeTimeStep (const ScalarType &t, const VectorType &x)
 
const VectorFieldTypegetVectorField () const
 Returns vector field. More...
 
VectorFieldTypegetVectorField ()
 
void setOrder (size_type order)
 Sets the order of the Taylor method. More...
 
void setStep (const ScalarType &newStep)
 Sets time step and turns off step control. More...
 
void setCurrentTime (const ScalarType &a_time) const
 
const ScalarTypegetCurrentTime () const
 
const SolutionCurvegetCurve ()
 
VectorType encloseCnMap (const ScalarType &, const VectorType &, const VectorType &, JetT &, JetT &, JetT &)
 
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, MapT::MatrixType &o_jacPhi, MapT::MatrixType &o_jacRem, MapT::MatrixType &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...
 
VectorType operator() (VectorType)
 Computes image of vector v after one time step. More...
 
VectorType operator() (ScalarType &t, const VectorType &)
 Computes image of vector v after one time step. The argument t is updated in this procedure. More...
 
VectorType operator() (VectorType, MatrixType &o_resultDerivative)
 Computes image of vector v and derivatives of the flow with respect to init condition (v,identity). Version for autonomous systems. More...
 
VectorType operator() (ScalarType &t, const VectorType &, MatrixType &o_resultDerivative)
 Computes image of vector v and derivatives of the flow with respect to init condition (v,identity). Version for nonautonomous systems. The argument t is updated in this procedure. More...
 
VectorType operator() (VectorType, const MatrixType &derivative, MatrixType &o_resultDerivative)
 Computes image of vector v and derivatives of a flow with respect to init condition (v, derivative) More...
 
VectorType operator() (ScalarType &t, const VectorType &v, const MatrixType &derivative, MatrixType &o_resultDerivative)
 Computes image of vector v and derivatives of a flow with respect to init condition (v, derivative). The argument t is updated in this procedure. More...
 
void operator() (JetT &jet)
 This operator computes image of the set (in given representation) using set.move function, see capd/dynsys/Move.h for details This template together with SetTraits prevent usage of various types of jets with incompatible solvers. The user will get an exception at runtime with clear message instead of unreadable compiler error. In this case a specialization CnJetMove is used meaning that this solver can integrate any type of jets. More...
 
VectorType operator() (VectorType, MatrixType &, HessianType &)
 Computes next point on the trajectory, first and second order derivatives with respect to initial conditions. Initial conditions for variational equations are Id and zero, respectively. More...
 
VectorType operator() (ScalarType &t, const VectorType &, MatrixType &, HessianType &)
 Computes next point on the trajectory of a nonautonomous system, first and second order derivatives with respect to initial conditions. Initial conditions for variational equations are Id and zero, respectively. More...
 
VectorType operator() (VectorType, const MatrixType &V, const HessianType &H, MatrixType &, HessianType &)
 The routine computes next point, derivatives and second order derivatives of a flow. Initial conditions for variational equations are V and H, respectively. More...
 
VectorType operator() (ScalarType &t, const VectorType &x, const MatrixType &V, const HessianType &H, MatrixType &, HessianType &)
 The routine computes next point, derivatives and second order derivatives of a nonautonomous flow. Initial conditions for variational equations are V and H, respectively. More...
 
VectorType operator() (ScalarType &t, JetType &)
 Initial conditions for the trajectory and for variational equations up to given degree are given in argument in_out_coeffs. The full result is stored in in_out_coeffs and also the new point on the trajectory is returned. Note: CnCoeffType is a data structure that stores current time. More...
 
VectorType operator() (const ScalarType &h) const
 
void computeCoefficientsAtCenter (const VectorType &x, size_type order)
 
void computeCoefficientsAtCenter (ScalarType t, const VectorType &x, size_type order)
 
void computeCoefficients (const VectorType &x, size_type order)
 
void computeCoefficients (ScalarType t, const VectorType &x, size_type order)
 
void computeCoefficients (const VectorType &x, const MatrixType &M, size_type order)
 
void computeCoefficients (ScalarType t, const VectorType &x, const MatrixType &M, size_type order)
 
void setOrder (size_type order)
 Sets the order of the Taylor method. More...
 
ScalarType getStep () const
 Returns current time step. More...
 
void setStep (const ScalarType &newStep)
 Sets time step and turns off step control. More...
 
size_type degree () const
 
ScalarType getCoeffNorm (size_type i, size_type degree) const
 
VectorType enclosure (const ScalarType &, const VectorType &)
 TODO. More...
 
void adjustTimeStep (const ScalarType &newStep)
 sets time step but does not change step control settings (compare setStep) More...
 
void setMask (Iterator b, Iterator e)
 The iterator range [b,e) should contain a range of Multiinideces the user requires to compute. More...
 
void addMultiindexToMask (const capd::vectalg::Multiindex &mi)
 Adds new multiindex (along with dependencies) to the existing mask. More...
 
void resetMask ()
 Resets the mask of derivatives. More...
 
void turnOnStepControl ()
 
void turnOffStepControl ()
 
void onOffStepControl (bool _onOffStepControl)
 
const StepControlTypegetStepControl () const
 
void setStepControl (const StepControlType &stepControl)
 
bool isStepChangeAllowed () const
 
void setAbsoluteTolerance (TolScalarType tol)
 
void setRelativeTolerance (TolScalarType tol)
 
TolScalarType getAbsoluteTolerance () const
 
TolScalarType getRelativeTolerance () const
 
MapT::ScalarType getMaxStep () const
 
void setMaxStep (MapT::ScalarType maxStep)
 
HessianType hessian (const ScalarType &h) const
 
JetType jet (const ScalarType &h) const
 
void eval (ScalarType h, JetType &v) const
 
virtual void eval (ScalarType, JetType &) const
 
VectorType timeDerivative (const ScalarType &h) const
 
MatrixType derivative (const ScalarType &h) const
 
MatrixType operator[] (const ScalarType &h) const
 
size_type getOrder () const
 Returns the order of Taylor interpolation. More...
 
size_type getAllocatedOrder () const
 Returns maximal allocated order - used to avoid memory reallocation. More...
 
size_type dimension () const
 Returns the dimension in which the parametric curve is embedded. More...
 
void setDegree (size_type degree)
 Sets new maximal degree of the jet and reallocates memory. More...
 
void clearCoefficients ()
 sets all coefficients to zero More...
 
const ScalarTypecenterCoefficient (size_type i, size_type k) const
 
ScalarTypecenterCoefficient (size_type i, size_type k)
 
const ScalarTypecoefficient (size_type i, size_type k) const
 
const ScalarTypecoefficient (size_type i, size_type j, size_type k) const
 
const ScalarTypecoefficient (size_type i, size_type j, size_type c, size_type k) const
 
const ScalarTypecoefficient (size_type i, size_type j, size_type c, size_type s, size_type k) const
 
ScalarTypecoefficient (size_type i, size_type k)
 
ScalarTypecoefficient (size_type i, size_type j, size_type k)
 
ScalarTypecoefficient (size_type i, size_type j, size_type c, size_type k)
 
ScalarTypecoefficient (size_type i, size_type j, size_type c, size_type s, size_type k)
 
const ScalarTyperemainderCoefficient (size_type i, size_type j) const
 
const ScalarTyperemainderCoefficient (size_type i, size_type j, size_type k) const
 
const ScalarTyperemainderCoefficient (size_type i, size_type j, size_type c, size_type k) const
 
const ScalarTyperemainderCoefficient (size_type i, size_type j, size_type c, size_type s, size_type k) const
 
ScalarTyperemainderCoefficient (size_type i, size_type j)
 
ScalarTyperemainderCoefficient (size_type i, size_type j, size_type k)
 
ScalarTyperemainderCoefficient (size_type i, size_type j, size_type c, size_type k)
 
ScalarTyperemainderCoefficient (size_type i, size_type j, size_type c, size_type s, size_type k)
 
void allocate (size_type dimension, size_type degree)
 
void deallocate ()
 
void copyData (const BasicCnCurve &c)
 
const VectorTypegetCoefficientsAtCenter () const
 
VectorTypegetCoefficientsAtCenter ()
 
const JetTypegetCoefficients () const
 
JetTypegetCoefficients ()
 
const JetTypegetRemainderCoefficients () const
 
JetTypegetRemainderCoefficients ()
 
void setInitMatrix (const MatrixType &)
 
void setInitHessian (const HessianType &)
 
void setInitJet (const JetType &)
 
std::runtime_error domainErrorMessage (std::string msg, ScalarType h, Real left, Real right) const
 
virtual void setDomain (Real left, Real right)
 
virtual Real getLeftDomain () const
 
virtual Real getRightDomain () const
 

Static Public Member Functions

static TolScalarType getEffectiveTolerance (Solver &solver, const SetType &s)
 

Public Attributes

VectorTypem_coefficientsAtCenter
 
JetTypem_coefficients
 
JetTypem_remainderCoefficients
 
size_type m_order
 
size_type m_allocatedOrder
 

Protected Member Functions

void setInitialCondition (ScalarType t, const VectorType &x, const VectorType &xx)
 
void saveCurrentSet (const capd::diffAlgebra::TimeRange< ScalarType > &)
 
void saveCurrentSet (capd::dynset::C1Set< MatrixType > &set)
 
void saveCurrentSet (capd::dynset::C2Set< MatrixType > &set)
 
void saveCurrentSet (capd::dynset::CnSet< MatrixType > &set)
 
void operator= (const CnOdeSolver &)
 
 CnOdeSolver (const CnOdeSolver &t)
 
void setCurrentTime (const ScalarType &a_time) const
 
const boolgetMask () const
 
bool getMask (size_type j) const
 
bool getMask (size_type j, size_type c) const
 
void setInitialCondition (const JetType &coeff)
 
void setInitialCondition (const VectorType &v, const MatrixType &D)
 
void setInitialCondition (const VectorType &v, const MatrixType &D, const HessianType &H)
 
void computeTimeStep (const VectorType &v)
 
void evalAndSum (VectorType &v)
 
void evalAndSum (VectorType &v, MatrixType &der)
 
void evalAndSum (VectorType &v, MatrixType &der, HessianType &hessian)
 
void evalAndSum (JetType &v)
 
void sum (VectorType &v)
 

Protected Attributes

ScalarType m_step
 
VectorFieldTypem_vField
 
MatrixType m_defaultC1InitialCondition
 
HessianType m_defaultC2InitialCondition
 
ScalarType m_fixedTimeStep
 
Multiindex::IndicesSet m_listIndices
 
StepControlType m_stepControl
 
bool m_onOffStepControl
 
TolScalarType m_absoluteTolerance
 
TolScalarType m_relativeTolerance
 
MapT::ScalarType m_maxStep
 
Real m_left
 
Real m_right
 domain More...
 

Member Typedef Documentation

◆ BaseTaylor

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
typedef BasicCnOdeSolver<MapT,StepControlPolicy,CurveT> capd::dynsys::CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT >::BaseTaylor

◆ C1TimeJetType

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
typedef diffAlgebra::C1TimeJet<MatrixType> capd::dynsys::CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT >::C1TimeJetType

◆ C2TimeJetType

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
typedef diffAlgebra::C2TimeJet<MatrixType> capd::dynsys::CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT >::C2TimeJetType

◆ CnTimeJetType

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
typedef diffAlgebra::CnTimeJet<MatrixType,0> capd::dynsys::CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT >::CnTimeJetType

◆ difference_type

typedef __difference_type capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > , capd::TypeTraits<typename capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > ::ScalarType>::isInterval >::difference_type
inherited

◆ EnclosurePolicy

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
typedef EnclosurePolicyT capd::dynsys::CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT >::EnclosurePolicy

◆ FunctionType

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
typedef VectorFieldType::FunctionType capd::dynsys::CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT >::FunctionType

◆ HessianType

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
typedef VectorFieldType::HessianType capd::dynsys::CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT >::HessianType

◆ JetType

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
typedef BaseTaylor::JetType capd::dynsys::CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT >::JetType

◆ MatrixType

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
typedef VectorFieldType::MatrixType capd::dynsys::CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT >::MatrixType

◆ Multiindex

typedef JetType::Multiindex capd::dynsys::BasicCnOdeSolver< MapT, capd::dynsys::IEncFoundStepControl , capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::Multiindex
inherited

◆ Multipointer

typedef JetType::Multipointer capd::dynsys::BasicCnOdeSolver< MapT, capd::dynsys::IEncFoundStepControl , capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::Multipointer
inherited

◆ NormType

typedef capd::vectalg::Norm<VectorType,MatrixType> capd::dynsys::C2DynSys< MapT::MatrixType >::NormType
inherited

◆ Real

typedef TypeTraits<ScalarType>::Real capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > , capd::TypeTraits<typename capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > ::ScalarType>::isInterval >::Real
inherited

◆ ScalarType

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
typedef VectorFieldType::ScalarType capd::dynsys::CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT >::ScalarType

◆ size_type

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
typedef MatrixType::size_type capd::dynsys::CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT >::size_type

◆ SolutionCurve

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
typedef CurveT capd::dynsys::CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT >::SolutionCurve

◆ StepControlPolicy

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
typedef StepControlT capd::dynsys::CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT >::StepControlPolicy

◆ StepControlType

◆ VectorFieldType

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
typedef MapT capd::dynsys::CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT >::VectorFieldType

◆ VectorType

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
typedef VectorFieldType::VectorType capd::dynsys::CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT >::VectorType

Constructor & Destructor Documentation

◆ CnOdeSolver()

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
capd::dynsys::CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT >::CnOdeSolver ( const CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT > &  t)
inlineprotected

Member Function Documentation

◆ addMultiindexToMask()

void capd::dynsys::BasicCnOdeSolver< MapT, capd::dynsys::IEncFoundStepControl , capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::addMultiindexToMask ( const capd::vectalg::Multiindex mi)
inlineinherited

Adds new multiindex (along with dependencies) to the existing mask.

Parameters
mimultiindex to be added to the mask
Warning
causes undefined behavior if the mask has not been set before call to this method.

◆ adjustTimeStep()

void capd::dynsys::BasicCnOdeSolver< MapType, StepControlType, capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::adjustTimeStep ( const ScalarType newStep)
inlineinherited

sets time step but does not change step control settings (compare setStep)

◆ allocate()

void capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::allocate ( size_type  dimension,
size_type  degree 
)
inherited

◆ centerCoefficient() [1/2]

BasicCnCurve< typename MapT::MatrixType >::ScalarType & capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::centerCoefficient ( size_type  i,
size_type  k 
)
inlineinherited

◆ centerCoefficient() [2/2]

const BasicCnCurve< typename MapT::MatrixType >::ScalarType & capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::centerCoefficient ( size_type  i,
size_type  k 
) const
inlineinherited

◆ clearCoefficients()

void capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::clearCoefficients
inherited

sets all coefficients to zero

◆ coefficient() [1/8]

BasicCnCurve< typename MapT::MatrixType >::ScalarType & capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::coefficient ( size_type  i,
size_type  j,
size_type  c,
size_type  k 
)
inlineinherited

◆ coefficient() [2/8]

const BasicCnCurve< typename MapT::MatrixType >::ScalarType & capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::coefficient ( size_type  i,
size_type  j,
size_type  c,
size_type  k 
) const
inlineinherited

◆ coefficient() [3/8]

BasicCnCurve< typename MapT::MatrixType >::ScalarType & capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::coefficient ( size_type  i,
size_type  j,
size_type  c,
size_type  s,
size_type  k 
)
inlineinherited

◆ coefficient() [4/8]

const BasicCnCurve< typename MapT::MatrixType >::ScalarType & capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::coefficient ( size_type  i,
size_type  j,
size_type  c,
size_type  s,
size_type  k 
) const
inlineinherited

◆ coefficient() [5/8]

BasicCnCurve< typename MapT::MatrixType >::ScalarType & capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::coefficient ( size_type  i,
size_type  j,
size_type  k 
)
inlineinherited

◆ coefficient() [6/8]

const BasicCnCurve< typename MapT::MatrixType >::ScalarType & capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::coefficient ( size_type  i,
size_type  j,
size_type  k 
) const
inlineinherited

◆ coefficient() [7/8]

BasicCnCurve< typename MapT::MatrixType >::ScalarType & capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::coefficient ( size_type  i,
size_type  k 
)
inlineinherited

◆ coefficient() [8/8]

const BasicCnCurve< typename MapT::MatrixType >::ScalarType & capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::coefficient ( size_type  i,
size_type  k 
) const
inlineinherited

◆ computeCoefficients() [1/4]

void capd::dynsys::BasicCnOdeSolver< MapT, capd::dynsys::IEncFoundStepControl , capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::computeCoefficients ( const VectorType x,
const MatrixType M,
size_type  order 
)
inlineinherited

◆ computeCoefficients() [2/4]

void capd::dynsys::BasicCnOdeSolver< MapT, capd::dynsys::IEncFoundStepControl , capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::computeCoefficients ( const VectorType x,
size_type  order 
)
inlineinherited

◆ computeCoefficients() [3/4]

void capd::dynsys::BasicCnOdeSolver< MapT, capd::dynsys::IEncFoundStepControl , capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::computeCoefficients ( ScalarType  t,
const VectorType x,
const MatrixType M,
size_type  order 
)
inlineinherited

◆ computeCoefficients() [4/4]

void capd::dynsys::BasicCnOdeSolver< MapT, capd::dynsys::IEncFoundStepControl , capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::computeCoefficients ( ScalarType  t,
const VectorType x,
size_type  order 
)
inlineinherited

◆ computeCoefficientsAtCenter() [1/2]

void capd::dynsys::BasicCnOdeSolver< MapT, capd::dynsys::IEncFoundStepControl , capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::computeCoefficientsAtCenter ( const VectorType x,
size_type  order 
)
inlineinherited

◆ computeCoefficientsAtCenter() [2/2]

void capd::dynsys::BasicCnOdeSolver< MapT, capd::dynsys::IEncFoundStepControl , capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::computeCoefficientsAtCenter ( ScalarType  t,
const VectorType x,
size_type  order 
)
inlineinherited

◆ computeTimeStep() [1/2]

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
void capd::dynsys::CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT >::computeTimeStep ( const ScalarType t,
const VectorType x 
)
inline

◆ computeTimeStep() [2/2]

void capd::dynsys::BasicCnOdeSolver< MapType, StepControlType, capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::computeTimeStep ( const VectorType v)
inlineprotectedinherited

◆ copyData()

void capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::copyData ( const BasicCnCurve< typename MapT::MatrixType > &  c)
inherited

◆ deallocate()

void capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::deallocate
inherited

◆ degree()

◆ derivative()

Curve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > , isInterval >::MatrixType capd::diffAlgebra::Curve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > , isInterval >::derivative ( const ScalarType h) const
virtualinherited

◆ dimension()

BasicCnCurve< typename MapT::MatrixType >::size_type capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::dimension
inlineinherited

Returns the dimension in which the parametric curve is embedded.

◆ domainErrorMessage()

std::runtime_error capd::diffAlgebra::CurveInterface< typename MapT::MatrixType >::domainErrorMessage ( std::string  msg,
ScalarType  h,
Real  left,
Real  right 
) const
inlineinherited

◆ encloseC0Map()

virtual void capd::dynsys::DynSys< MapT::MatrixType >::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< MapT::MatrixType >::encloseC1Map ( 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 
)
pure virtualinherited

◆ encloseC2Map()

virtual void capd::dynsys::C2DynSys< MapT::MatrixType >::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 virtualinherited

◆ encloseCnMap()

VectorType capd::dynsys::CnDynSys< MapT::MatrixType >::encloseCnMap ( const ScalarType ,
const VectorType ,
const VectorType ,
JetT &  ,
JetT &  ,
JetT &   
)
inlineinherited
Parameters
t- time in ODE
x- a centre of current set
xx- the set
[out]out_phi- should contain coefficients of solution jet at (t,xx)
[out]out_rem- should contain remainder coefficients computed at enclosure
[out]out_enc- should contain enclosure for the main part and variational equations
Returns
approximate solution (without remainder) at (t,x)

◆ enclosure() [1/3]

VectorType capd::dynsys::BasicCnOdeSolver< MapT, capd::dynsys::IEncFoundStepControl , capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::enclosure ( const ScalarType ,
const VectorType  
)
inlineinherited

TODO.

◆ enclosure() [2/3]

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
VectorType capd::dynsys::CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT >::enclosure ( const ScalarType t,
const VectorType x 
)
inline

◆ enclosure() [3/3]

virtual VectorType capd::dynsys::DynSys< MapT::MatrixType >::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 >, and capd::dynsys::OdeSolver< MapT, capd::dynsys::ILastTermsStepControl, HighOrderEnclosure, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >.

◆ eval() [1/2]

void capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > , capd::TypeTraits<typename capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > ::ScalarType>::isInterval >::eval ( ScalarType  h,
JetType v 
) const
inherited

◆ eval() [2/2]

virtual void capd::diffAlgebra::ParametricCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > ::MatrixType , typename capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > ::MatrixType ::RowVectorType >::eval ( ScalarType  ,
JetType  
) const
inlinevirtualinherited

◆ evalAndSum() [1/4]

void capd::dynsys::BasicCnOdeSolver< MapT, capd::dynsys::IEncFoundStepControl , capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::evalAndSum ( JetType v)
protectedinherited

◆ evalAndSum() [2/4]

void capd::dynsys::BasicCnOdeSolver< MapT, capd::dynsys::IEncFoundStepControl , capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::evalAndSum ( VectorType v)
protectedinherited

◆ evalAndSum() [3/4]

void capd::dynsys::BasicCnOdeSolver< MapT, capd::dynsys::IEncFoundStepControl , capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::evalAndSum ( VectorType v,
MatrixType der 
)
protectedinherited

◆ evalAndSum() [4/4]

void capd::dynsys::BasicCnOdeSolver< MapT, capd::dynsys::IEncFoundStepControl , capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::evalAndSum ( VectorType v,
MatrixType der,
HessianType hessian 
)
protectedinherited

◆ getAbsoluteTolerance()

TolScalarType capd::dynsys::StepControlInterface< capd::dynsys::IEncFoundStepControl , MapT::ScalarType >::getAbsoluteTolerance
inlineinherited

◆ getAllocatedOrder()

BasicCnCurve< typename MapT::MatrixType >::size_type capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::getAllocatedOrder
inlineinherited

Returns maximal allocated order - used to avoid memory reallocation.

◆ getCoefficients() [1/2]

JetType* capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::getCoefficients ( )
inherited

◆ getCoefficients() [2/2]

BasicCnCurve< typename MapT::MatrixType >::JetType * capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::getCoefficients
inlineinherited

◆ getCoefficientsAtCenter() [1/2]

VectorType* capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::getCoefficientsAtCenter ( )
inherited

◆ getCoefficientsAtCenter() [2/2]

BasicCnCurve< typename MapT::MatrixType >::VectorType * capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::getCoefficientsAtCenter
inlineinherited

◆ getCoeffNorm()

BasicCnOdeSolver< MapType, StepControlType, capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::ScalarType capd::dynsys::BasicCnOdeSolver< MapType, StepControlType, capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::getCoeffNorm ( size_type  i,
size_type  degree 
) const
inherited

◆ getCurrentTime()

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
const ScalarType& capd::dynsys::BasicCnOdeSolver< MapT, StepControlT, CurveT >::getCurrentTime
inline

◆ getCurve()

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
const BasicCnOdeSolver< MapType, StepControlType, CurveT >::SolutionCurve & capd::dynsys::BasicCnOdeSolver< MapType, StepControlType, CurveT >::getCurve

◆ getEffectiveTolerance()

static TolScalarType capd::dynsys::StepControlInterface< capd::dynsys::IEncFoundStepControl , MapT::ScalarType >::getEffectiveTolerance ( Solver solver,
const SetType &  s 
)
inlinestaticinherited

◆ getLeftDomain()

ParametricCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > ::MatrixType , typename capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > ::MatrixType ::RowVectorType >::Real capd::diffAlgebra::ParametricCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > ::MatrixType , typename capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > ::MatrixType ::RowVectorType >::getLeftDomain
inlinevirtualinherited

◆ getMask() [1/3]

const bool* capd::dynsys::BasicCnOdeSolver< MapT, capd::dynsys::IEncFoundStepControl , capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::getMask
inlineprotectedinherited

◆ getMask() [2/3]

bool capd::dynsys::BasicCnOdeSolver< MapT, capd::dynsys::IEncFoundStepControl , capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::getMask ( size_type  j) const
inlineprotectedinherited

◆ getMask() [3/3]

bool capd::dynsys::BasicCnOdeSolver< MapT, capd::dynsys::IEncFoundStepControl , capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::getMask ( size_type  j,
size_type  c 
) const
inlineprotectedinherited

◆ getMaxStep()

MapT::ScalarType capd::dynsys::StepControlInterface< capd::dynsys::IEncFoundStepControl , MapT::ScalarType >::getMaxStep
inlineinherited

◆ getOrder()

BasicCnCurve< typename MapT::MatrixType >::size_type capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::getOrder
inlineinherited

Returns the order of Taylor interpolation.

◆ getRelativeTolerance()

TolScalarType capd::dynsys::StepControlInterface< capd::dynsys::IEncFoundStepControl , MapT::ScalarType >::getRelativeTolerance
inlineinherited

◆ getRemainderCoefficients() [1/2]

JetType* capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::getRemainderCoefficients ( )
inherited

◆ getRemainderCoefficients() [2/2]

BasicCnCurve< typename MapT::MatrixType >::JetType * capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::getRemainderCoefficients
inlineinherited

◆ getRightDomain()

ParametricCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > ::MatrixType , typename capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > ::MatrixType ::RowVectorType >::Real capd::diffAlgebra::ParametricCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > ::MatrixType , typename capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > ::MatrixType ::RowVectorType >::getRightDomain
inlinevirtualinherited

◆ getStep() [1/3]

virtual ScalarType capd::dynsys::DynSys< MapT::MatrixType >::getStep
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< MapT, capd::dynsys::ILastTermsStepControl, HighOrderEnclosure, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >.

◆ getStep() [2/3]

Returns current time step.

◆ getStep() [3/3]

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
ScalarType capd::dynsys::CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT >::getStep ( ) const
inline

◆ getStepControl()

const StepControlType& capd::dynsys::StepControlInterface< capd::dynsys::IEncFoundStepControl , MapT::ScalarType >::getStepControl
inlineinherited

◆ getVectorField() [1/2]

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
VectorFieldType& capd::dynsys::BasicCnOdeSolver< MapT, StepControlT, CurveT >::getVectorField

◆ getVectorField() [2/2]

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
MapType & capd::dynsys::BasicCnOdeSolver< MapType, StepControlType, CurveT >::getVectorField
inline

Returns vector field.

◆ hessian()

CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > , capd::TypeTraits<typename capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > ::ScalarType>::isInterval >::HessianType capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > , capd::TypeTraits<typename capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > ::ScalarType>::isInterval >::hessian ( const ScalarType h) const
virtualinherited

◆ isStepChangeAllowed()

bool capd::dynsys::StepControlInterface< capd::dynsys::IEncFoundStepControl , MapT::ScalarType >::isStepChangeAllowed
inlineinherited

◆ JacPhi()

virtual MatrixType capd::dynsys::DynSys< MapT::MatrixType >::JacPhi ( const ScalarType t,
const VectorType iv 
)
pure virtualinherited

◆ jet()

CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > , capd::TypeTraits<typename capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > ::ScalarType>::isInterval >::JetType capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > , capd::TypeTraits<typename capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > ::ScalarType>::isInterval >::jet ( const ScalarType h) const
virtualinherited

◆ Lipschitz()

DynSys< MatrixType >::ScalarType capd::dynsys::DynSys< MatrixType >::Lipschitz ( const ScalarType t,
const VectorType iv,
NormType n 
)
virtualinherited

this function returns Lipschitz contants for maps. It should be overriden in classes implementing flows.

◆ onOffStepControl()

void capd::dynsys::StepControlInterface< capd::dynsys::IEncFoundStepControl , MapT::ScalarType >::onOffStepControl ( bool  _onOffStepControl)
inlineinherited

◆ operator()() [1/15]

Curve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > , isInterval >::VectorType capd::diffAlgebra::Curve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > , isInterval >::operator() ( const ScalarType h) const
virtualinherited

◆ operator()() [2/15]

void capd::dynsys::BasicCnOdeSolver< MapT, capd::dynsys::IEncFoundStepControl , capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::operator() ( JetT &  jet)
inlineinherited

This operator computes image of the set (in given representation) using set.move function, see capd/dynsys/Move.h for details This template together with SetTraits prevent usage of various types of jets with incompatible solvers. The user will get an exception at runtime with clear message instead of unreadable compiler error. In this case a specialization CnJetMove is used meaning that this solver can integrate any type of jets.

◆ operator()() [3/15]

Computes image of vector v after one time step. The argument t is updated in this procedure.

◆ operator()() [4/15]

Computes next point on the trajectory of a nonautonomous system, first and second order derivatives with respect to initial conditions. Initial conditions for variational equations are Id and zero, respectively.

◆ operator()() [5/15]

Computes image of vector v and derivatives of the flow with respect to init condition (v,identity). Version for nonautonomous systems. The argument t is updated in this procedure.

◆ operator()() [6/15]

BasicCnOdeSolver< MapT, capd::dynsys::IEncFoundStepControl , capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::VectorType capd::dynsys::BasicCnOdeSolver< MapT, capd::dynsys::IEncFoundStepControl , capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::operator() ( ScalarType t,
const VectorType v,
const MatrixType derivative,
MatrixType o_resultDerivative 
)
inlineinherited

Computes image of vector v and derivatives of a flow with respect to init condition (v, derivative). The argument t is updated in this procedure.

◆ operator()() [7/15]

BasicCnOdeSolver< MapT, capd::dynsys::IEncFoundStepControl , capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::VectorType capd::dynsys::BasicCnOdeSolver< MapT, capd::dynsys::IEncFoundStepControl , capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::operator() ( ScalarType t,
const VectorType x,
const MatrixType V,
const HessianType H,
MatrixType out_der,
HessianType out_hessian 
)
inlineinherited

The routine computes next point, derivatives and second order derivatives of a nonautonomous flow. Initial conditions for variational equations are V and H, respectively.

◆ operator()() [8/15]

Initial conditions for the trajectory and for variational equations up to given degree are given in argument in_out_coeffs. The full result is stored in in_out_coeffs and also the new point on the trajectory is returned. Note: CnCoeffType is a data structure that stores current time.

◆ operator()() [9/15]

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
template<typename SetType >
void capd::dynsys::CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT >::operator() ( SetType &  set)
inline

This operator computes image of the set (in given representation) using set.move function, see capd/dynsys/Move.h for details This template together with SetTraits prevent usage of various types of jets with incompatible solvers. The user will get an exception at runtime with clear message instead of unreadable compiler error. In this case a specialization CnSetMove is used meaning that this solver can integrate C^0, C^1 and C^2 sets only. Moreover, it cannot integrate nonrigorous jets (for user safety).

◆ operator()() [10/15]

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
template<typename SetType >
void capd::dynsys::CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT >::operator() ( SetType &  set,
SetType &  result 
)
inline

◆ operator()() [11/15]

Computes image of vector v after one time step.

◆ operator()() [12/15]

Computes image of vector v and derivatives of a flow with respect to init condition (v, derivative)

◆ operator()() [13/15]

The routine computes next point, derivatives and second order derivatives of a flow. Initial conditions for variational equations are V and H, respectively.

◆ operator()() [14/15]

Computes next point on the trajectory, first and second order derivatives with respect to initial conditions. Initial conditions for variational equations are Id and zero, respectively.

◆ operator()() [15/15]

Computes image of vector v and derivatives of the flow with respect to init condition (v,identity). Version for autonomous systems.

◆ operator=()

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
void capd::dynsys::CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT >::operator= ( const CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT > &  )
inlineprotected

◆ operator[]()

◆ Phi()

virtual VectorType capd::dynsys::DynSys< MapT::MatrixType >::Phi ( const ScalarType t,
const VectorType iv 
)
pure virtualinherited

◆ Remainder()

virtual VectorType capd::dynsys::DynSys< MapT::MatrixType >::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 >, and capd::dynsys::OdeSolver< MapT, capd::dynsys::ILastTermsStepControl, HighOrderEnclosure, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >.

◆ remainderCoefficient() [1/8]

BasicCnCurve< typename MapT::MatrixType >::ScalarType & capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::remainderCoefficient ( size_type  i,
size_type  j 
)
inlineinherited

◆ remainderCoefficient() [2/8]

const BasicCnCurve< typename MapT::MatrixType >::ScalarType & capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::remainderCoefficient ( size_type  i,
size_type  j 
) const
inlineinherited

◆ remainderCoefficient() [3/8]

BasicCnCurve< typename MapT::MatrixType >::ScalarType & capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::remainderCoefficient ( size_type  i,
size_type  j,
size_type  c,
size_type  k 
)
inlineinherited

◆ remainderCoefficient() [4/8]

const BasicCnCurve< typename MapT::MatrixType >::ScalarType & capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::remainderCoefficient ( size_type  i,
size_type  j,
size_type  c,
size_type  k 
) const
inlineinherited

◆ remainderCoefficient() [5/8]

BasicCnCurve< typename MapT::MatrixType >::ScalarType & capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::remainderCoefficient ( size_type  i,
size_type  j,
size_type  c,
size_type  s,
size_type  k 
)
inlineinherited

◆ remainderCoefficient() [6/8]

const BasicCnCurve< typename MapT::MatrixType >::ScalarType & capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::remainderCoefficient ( size_type  i,
size_type  j,
size_type  c,
size_type  s,
size_type  k 
) const
inlineinherited

◆ remainderCoefficient() [7/8]

BasicCnCurve< typename MapT::MatrixType >::ScalarType & capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::remainderCoefficient ( size_type  i,
size_type  j,
size_type  k 
)
inlineinherited

◆ remainderCoefficient() [8/8]

const BasicCnCurve< typename MapT::MatrixType >::ScalarType & capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::remainderCoefficient ( size_type  i,
size_type  j,
size_type  k 
) const
inlineinherited

◆ resetMask()

Resets the mask of derivatives.

In consequence, full jet of derivatives will be computed after call to any method that computes derivative, hessian or jet.

◆ saveCurrentSet() [1/4]

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
void capd::dynsys::CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT >::saveCurrentSet ( capd::dynset::C1Set< MatrixType > &  set)
inlineprotected

◆ saveCurrentSet() [2/4]

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
void capd::dynsys::CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT >::saveCurrentSet ( capd::dynset::C2Set< MatrixType > &  set)
inlineprotected

◆ saveCurrentSet() [3/4]

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
void capd::dynsys::CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT >::saveCurrentSet ( capd::dynset::CnSet< MatrixType > &  set)
inlineprotected

◆ saveCurrentSet() [4/4]

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
void capd::dynsys::CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT >::saveCurrentSet ( const capd::diffAlgebra::TimeRange< ScalarType > &  )
inlineprotected

◆ setAbsoluteTolerance()

void capd::dynsys::StepControlInterface< capd::dynsys::IEncFoundStepControl , MapT::ScalarType >::setAbsoluteTolerance ( TolScalarType  tol)
inlineinherited

◆ setCurrentTime() [1/2]

void capd::dynsys::BasicCnOdeSolver< MapT, capd::dynsys::IEncFoundStepControl , capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::setCurrentTime ( const ScalarType a_time) const
inlineprotectedinherited

◆ setCurrentTime() [2/2]

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
void capd::dynsys::BasicCnOdeSolver< MapT, StepControlT, CurveT >::setCurrentTime
inline

◆ setDegree()

void capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::setDegree ( size_type  degree)
inherited

Sets new maximal degree of the jet and reallocates memory.

◆ setDomain()

void capd::diffAlgebra::ParametricCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > ::MatrixType , typename capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > ::MatrixType ::RowVectorType >::setDomain ( Real  left,
Real  right 
)
inlinevirtualinherited

◆ setInitHessian()

void capd::diffAlgebra::CurveInterface< typename MapT::MatrixType >::setInitHessian ( const HessianType )
inlineinherited

◆ setInitialCondition() [1/3]

void capd::dynsys::BasicCnOdeSolver< MapT, capd::dynsys::IEncFoundStepControl , capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::setInitialCondition ( const JetType coeff)
protectedinherited

◆ setInitialCondition() [2/3]

void capd::dynsys::BasicCnOdeSolver< MapT, capd::dynsys::IEncFoundStepControl , capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::setInitialCondition ( const VectorType v,
const MatrixType D 
)
protectedinherited

◆ setInitialCondition() [3/3]

void capd::dynsys::BasicCnOdeSolver< MapT, capd::dynsys::IEncFoundStepControl , capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::setInitialCondition ( const VectorType v,
const MatrixType D,
const HessianType H 
)
protectedinherited

◆ setInitJet()

void capd::diffAlgebra::CurveInterface< typename MapT::MatrixType >::setInitJet ( const JetType )
inlineinherited

◆ setInitMatrix()

void capd::diffAlgebra::CurveInterface< typename MapT::MatrixType >::setInitMatrix ( const MatrixType )
inlineinherited

◆ setMask()

void capd::dynsys::BasicCnOdeSolver< MapT, capd::dynsys::IEncFoundStepControl , capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::setMask ( Iterator  b,
Iterator  e 
)
inlineinherited

The iterator range [b,e) should contain a range of Multiinideces the user requires to compute.

The method automatically adds all the depending partial derivatives to this collection and defines a mask for computation of partial derivtives.

Parameters
[b,e)iterator range which contains collection of multiindices
Warning
The method causes undefined behavior if a multiindex in the collection exceeds limits of the vector field (like dimension, maximal allowed degree).

◆ setMaxStep()

void capd::dynsys::StepControlInterface< capd::dynsys::IEncFoundStepControl , MapT::ScalarType >::setMaxStep ( MapT::ScalarType  maxStep)
inlineinherited

◆ setOrder() [1/2]

void capd::dynsys::BasicCnOdeSolver< MapType, StepControlType, capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::setOrder ( size_type  order)
virtualinherited

Sets the order of the Taylor method.

Reimplemented from capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >.

◆ setOrder() [2/2]

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
void capd::dynsys::BasicCnOdeSolver< MapType, StepControlType, CurveT >::setOrder

Sets the order of the Taylor method.

◆ setRelativeTolerance()

void capd::dynsys::StepControlInterface< capd::dynsys::IEncFoundStepControl , MapT::ScalarType >::setRelativeTolerance ( TolScalarType  tol)
inlineinherited

◆ setStep() [1/2]

void capd::dynsys::BasicCnOdeSolver< MapType, StepControlType, capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::setStep ( const ScalarType newStep)
inlineinherited

Sets time step and turns off step control.

◆ setStep() [2/2]

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
void capd::dynsys::BasicCnOdeSolver< MapType, StepControlType, CurveT >::setStep
inline

Sets time step and turns off step control.

◆ setStepControl()

void capd::dynsys::StepControlInterface< capd::dynsys::IEncFoundStepControl , MapT::ScalarType >::setStepControl ( const StepControlType stepControl)
inlineinherited

◆ sum()

◆ timeDerivative()

Curve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > , isInterval >::VectorType capd::diffAlgebra::Curve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > , isInterval >::timeDerivative ( const ScalarType h) const
inherited

◆ turnOffStepControl()

void capd::dynsys::StepControlInterface< capd::dynsys::IEncFoundStepControl , MapT::ScalarType >::turnOffStepControl
inlineinherited

◆ turnOnStepControl()

void capd::dynsys::StepControlInterface< capd::dynsys::IEncFoundStepControl , MapT::ScalarType >::turnOnStepControl
inlineinherited

Member Data Documentation

◆ m_absoluteTolerance

TolScalarType capd::dynsys::StepControlInterface< capd::dynsys::IEncFoundStepControl , MapT::ScalarType >::m_absoluteTolerance
protectedinherited

◆ m_allocatedOrder

size_type capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::m_allocatedOrder
inherited

◆ m_coefficients

JetType* capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::m_coefficients
inherited

◆ m_coefficientsAtCenter

VectorType* capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::m_coefficientsAtCenter
inherited

◆ m_defaultC1InitialCondition

MatrixType capd::dynsys::BasicCnOdeSolver< MapT, capd::dynsys::IEncFoundStepControl , capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::m_defaultC1InitialCondition
protectedinherited

◆ m_defaultC2InitialCondition

HessianType capd::dynsys::BasicCnOdeSolver< MapT, capd::dynsys::IEncFoundStepControl , capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > > >::m_defaultC2InitialCondition
protectedinherited

◆ m_fixedTimeStep

◆ m_left

Real capd::diffAlgebra::ParametricCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > ::MatrixType , typename capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > ::MatrixType ::RowVectorType >::m_left
protectedinherited

◆ m_listIndices

◆ m_maxStep

MapT::ScalarType capd::dynsys::StepControlInterface< capd::dynsys::IEncFoundStepControl , MapT::ScalarType >::m_maxStep
protectedinherited

◆ m_onOffStepControl

bool capd::dynsys::StepControlInterface< capd::dynsys::IEncFoundStepControl , MapT::ScalarType >::m_onOffStepControl
protectedinherited

◆ m_order

size_type capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::m_order
inherited

◆ m_relativeTolerance

TolScalarType capd::dynsys::StepControlInterface< capd::dynsys::IEncFoundStepControl , MapT::ScalarType >::m_relativeTolerance
protectedinherited

◆ m_remainderCoefficients

JetType* capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType >::m_remainderCoefficients
inherited

◆ m_right

Real capd::diffAlgebra::ParametricCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > ::MatrixType , typename capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > ::MatrixType ::RowVectorType >::m_right
protectedinherited

domain

◆ m_step

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
ScalarType capd::dynsys::BasicCnOdeSolver< MapT, StepControlT, CurveT >::m_step
protected

◆ m_stepControl

StepControlType capd::dynsys::StepControlInterface< capd::dynsys::IEncFoundStepControl , MapT::ScalarType >::m_stepControl
protectedinherited

◆ m_vField

template<typename MapT , typename StepControlT = capd::dynsys::IEncFoundStepControl, typename EnclosurePolicyT = FirstOrderEnclosure, typename CurveT = capd::diffAlgebra::CnCurve< capd::diffAlgebra::BasicCnCurve< typename MapT::MatrixType > >>
VectorFieldType* capd::dynsys::BasicCnOdeSolver< MapT, StepControlT, CurveT >::m_vField
protected