CAPD DynSys Library  5.2.0
capd::dynsys::FadOdeSolver< FadMapT, StepControlT > Class Template Referenceabstract

#include <capd/dynsys/FadOdeSolver.h>

Public Types

typedef FadMapT VectorFieldType
 
typedef BasicFadOdeSolver< FadMapT, StepControlT > BaseTaylor
 
typedef StepControlT StepControlType
 
typedef BaseTaylor::ScalarType ScalarType
 
typedef BaseTaylor::FScalar FScalar
 
typedef BaseTaylor::TFScalar TFScalar
 
typedef BaseTaylor::MatrixType MatrixType
 
typedef BaseTaylor::VectorType VectorType
 
typedef BaseTaylor::FVector FVector
 
typedef BaseTaylor::TFVector TFVector
 
typedef BaseTaylor::FunctionType FunctionType
 
typedef MatrixType::size_type size_type
 
typedef capd::vectalg::Norm< VectorType, MatrixTypeNormType
 
typedef fadbad::T< ScalarTypeTScalar
 
typedef VectorType::template rebind< TScalar >::other TVector
 
typedef capd::diffAlgebra::Curve< capd::diffAlgebra::FadCurve< typename FadMapT::MatrixType > > SolutionCurve
 
typedef TypeTraits< ScalarType >::Real Real
 
typedef Hessian< ScalarType, VectorType::csDim, VectorType::csDim > HessianType
 
typedef Jet< MatrixType, 0 > JetType
 
typedef __difference_type difference_type
 

Public Member Functions

 FadOdeSolver (VectorFieldType &f, 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 computeTaylorCoefficients (ScalarType t, const VectorType &x, const VectorType &xx)
 
void encloseC0Map (const ScalarType &t, const VectorType &x0, const VectorType &x, VectorType &o_phi, VectorType &o_rem, VectorType &o_enc, MatrixType &o_jacPhi)
 
MatrixType jacEnclosure (const ScalarType &t, const VectorType &enc)
 
void JacRemainder (const ScalarType &t, const VectorType &vecEnclosure, const MatrixType &jacEnclosure, VectorType &Remainder, MatrixType &jRemainder)
 
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)
 
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 C1SetMove is used meaning that this solver can integrate C^0 and C^1 sets only. Moreover, it cannot integrate nonrigorous jets (for user safety). More...
 
template<typename SetType >
void operator() (SetType &set, SetType &result)
 Computes image of the set (in set's representation) and stores it in the result set. More...
 
ScalarType getCoeffNorm (size_type i, size_type degree) const
 
ScalarType getStep () 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)
 
void initRemainderCoefficients (ScalarType t, const VectorType &x, unsigned degree)
 
virtual void encloseC1Map (const ScalarType &t, const VectorType &x, const VectorType &xx, VectorType &o_phi, VectorType &o_rem, VectorType &o_enc, FadMapT::MatrixType &o_jacPhi, FadMapT::MatrixType &o_jacRem, FadMapT::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, VectorType)
 Computes image of vector v after one time step. The argument t is updated in this procedure. More...
 
VectorType operator() (VectorType v, 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, VectorType v, 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 v, 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, 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 C1JetMove is used meaning that this solver can integrate C^0 and C^1 jets only. More...
 
VectorType operator() (const ScalarType &h) const
 
const VectorFieldTypegetVectorField () const
 Returns vector field. More...
 
VectorFieldTypegetVectorField ()
 
ScalarType getStep () const
 Returns current time step. More...
 
void setStep (const ScalarType &newStep)
 Sets time step for the next step of integration and turns off step control. More...
 
virtual ScalarType getCoeffNorm (size_type i, size_type degree) const
 
const SolutionCurvegetCurve ()
 
void setParameter (Description name, const ScalarType &value)
 
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)
 
VectorType enclosure (const ScalarType &, const VectorType &)
 
void adjustTimeStep (const ScalarType &newStep)
 sets time step but does not change step control settings (compare setStep) 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
 
FadMapT::ScalarType getMaxStep () const
 
void setMaxStep (FadMapT::ScalarType maxStep)
 
VectorType timeDerivative (const ScalarType &h) const
 
MatrixType derivative (const ScalarType &h) const
 
MatrixType operator[] (const ScalarType &h) const
 
virtual void setOrder (size_type order)
 Sets the order of Taylor interpolation. More...
 
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 clearCoefficients ()
 sets all coefficients to zero More...
 
const ScalarTypecenterCoefficient (size_type i, size_type j) const
 
ScalarTypecenterCoefficient (size_type i, size_type j)
 
const ScalarTypecoefficient (size_type i, size_type j) const
 
const ScalarTypecoefficient (size_type i, size_type j, size_type k) const
 
ScalarTypecoefficient (size_type i, size_type j)
 
ScalarTypecoefficient (size_type i, size_type j, size_type k)
 
const ScalarTyperemainderCoefficient (size_type i, size_type j) const
 
const ScalarTyperemainderCoefficient (size_type i, size_type j, size_type k) const
 
ScalarTyperemainderCoefficient (size_type i, size_type j)
 
ScalarTyperemainderCoefficient (size_type i, size_type j, size_type k)
 
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 HessianType hessian (const ScalarType &) const
 
virtual JetType jet (const ScalarType &) const
 
virtual void eval (ScalarType, JetType &) 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)
 

Protected Member Functions

void saveCurrentSet (const capd::diffAlgebra::TimeRange< ScalarType > &)
 
void saveCurrentSet (const capd::dynset::C1Set< MatrixType > &set)
 
void computeTimeStep (const ScalarType &t, const VectorType &x)
 
void setCurrentTime (const ScalarType &a_time) const
 
const ScalarTypegetCurrentTime () const
 
void computeTimeStep (VectorType &v)
 
void recordDags ()
 
void reset ()
 
void computeCoeff (AVector &in, AVector &out, size_type order)
 
void setInitialCondition (const VectorType &u, TVector &in)
 
void setInitialCondition (const VectorType &u, TFVector &in)
 
void setInitialCondition (const VectorType &u, const MatrixType &M, TFVector &in)
 
void sumTaylorSeries (VectorType &u, TVector &in, size_type order)
 
void sumTaylorSeries (MatrixType &M, TFVector &in, size_type order)
 
void sumTaylorSeries (VectorType &u, MatrixType &M, TFVector &in, size_type order)
 

Protected Attributes

VectorFieldTypem_vectorField
 
TVector m_centerOut
 
TFVector m_out
 
TVector m_remOut
 
TFVector m_jacRemOut
 
TScalar m_time
 
TFScalar m_ftime
 
ScalarType m_fixedTimeStep
 
ScalarType m_step
 
StepControlType m_stepControl
 
bool m_onOffStepControl
 
TolScalarType m_absoluteTolerance
 
TolScalarType m_relativeTolerance
 
FadMapT::ScalarType m_maxStep
 
size_type m_order
 
size_type m_dimension
 
TVector m_center
 
TFVector m_in
 
TVector m_rem
 
TFVector m_jacRem
 
Real m_left
 
Real m_right
 domain More...
 

Member Typedef Documentation

◆ BaseTaylor

template<class FadMapT , typename StepControlT = capd::dynsys::IEncFoundStepControl>
typedef BasicFadOdeSolver<FadMapT,StepControlT> capd::dynsys::FadOdeSolver< FadMapT, StepControlT >::BaseTaylor

◆ difference_type

typedef __difference_type capd::diffAlgebra::Curve< capd::diffAlgebra::FadCurve< FadMapT::MatrixType > , capd::TypeTraits<typename capd::diffAlgebra::FadCurve< FadMapT::MatrixType > ::ScalarType>::isInterval >::difference_type
inherited

◆ FScalar

template<class FadMapT , typename StepControlT = capd::dynsys::IEncFoundStepControl>
typedef BaseTaylor::FScalar capd::dynsys::FadOdeSolver< FadMapT, StepControlT >::FScalar

◆ FunctionType

template<class FadMapT , typename StepControlT = capd::dynsys::IEncFoundStepControl>
typedef BaseTaylor::FunctionType capd::dynsys::FadOdeSolver< FadMapT, StepControlT >::FunctionType

◆ FVector

template<class FadMapT , typename StepControlT = capd::dynsys::IEncFoundStepControl>
typedef BaseTaylor::FVector capd::dynsys::FadOdeSolver< FadMapT, StepControlT >::FVector

◆ HessianType

typedef Hessian<ScalarType,VectorType::csDim,VectorType::csDim> capd::diffAlgebra::Curve< capd::diffAlgebra::FadCurve< FadMapT::MatrixType > , capd::TypeTraits<typename capd::diffAlgebra::FadCurve< FadMapT::MatrixType > ::ScalarType>::isInterval >::HessianType
inherited

◆ JetType

typedef Jet<MatrixType,0> capd::diffAlgebra::Curve< capd::diffAlgebra::FadCurve< FadMapT::MatrixType > , capd::TypeTraits<typename capd::diffAlgebra::FadCurve< FadMapT::MatrixType > ::ScalarType>::isInterval >::JetType
inherited

◆ MatrixType

template<class FadMapT , typename StepControlT = capd::dynsys::IEncFoundStepControl>
typedef BaseTaylor::MatrixType capd::dynsys::FadOdeSolver< FadMapT, StepControlT >::MatrixType

◆ NormType

template<class FadMapT , typename StepControlT = capd::dynsys::IEncFoundStepControl>
typedef capd::vectalg::Norm<VectorType,MatrixType> capd::dynsys::FadOdeSolver< FadMapT, StepControlT >::NormType

◆ Real

typedef TypeTraits<ScalarType>::Real capd::diffAlgebra::Curve< capd::diffAlgebra::FadCurve< FadMapT::MatrixType > , capd::TypeTraits<typename capd::diffAlgebra::FadCurve< FadMapT::MatrixType > ::ScalarType>::isInterval >::Real
inherited

◆ ScalarType

template<class FadMapT , typename StepControlT = capd::dynsys::IEncFoundStepControl>
typedef BaseTaylor::ScalarType capd::dynsys::FadOdeSolver< FadMapT, StepControlT >::ScalarType

◆ size_type

template<class FadMapT , typename StepControlT = capd::dynsys::IEncFoundStepControl>
typedef MatrixType::size_type capd::dynsys::FadOdeSolver< FadMapT, StepControlT >::size_type

◆ SolutionCurve

◆ StepControlType

template<class FadMapT , typename StepControlT = capd::dynsys::IEncFoundStepControl>
typedef StepControlT capd::dynsys::FadOdeSolver< FadMapT, StepControlT >::StepControlType

◆ TFScalar

template<class FadMapT , typename StepControlT = capd::dynsys::IEncFoundStepControl>
typedef BaseTaylor::TFScalar capd::dynsys::FadOdeSolver< FadMapT, StepControlT >::TFScalar

◆ TFVector

template<class FadMapT , typename StepControlT = capd::dynsys::IEncFoundStepControl>
typedef BaseTaylor::TFVector capd::dynsys::FadOdeSolver< FadMapT, StepControlT >::TFVector

◆ TScalar

◆ TVector

typedef VectorType::template rebind<TScalar>::other capd::dynsys::BasicFadOdeSolver< FadMapT, capd::dynsys::IEncFoundStepControl >::TVector
inherited

◆ VectorFieldType

template<class FadMapT , typename StepControlT = capd::dynsys::IEncFoundStepControl>
typedef FadMapT capd::dynsys::FadOdeSolver< FadMapT, StepControlT >::VectorFieldType

◆ VectorType

template<class FadMapT , typename StepControlT = capd::dynsys::IEncFoundStepControl>
typedef BaseTaylor::VectorType capd::dynsys::FadOdeSolver< FadMapT, StepControlT >::VectorType

Member Function Documentation

◆ adjustTimeStep()

void capd::dynsys::BasicFadOdeSolver< FadMapT, StepControlType >::adjustTimeStep ( const ScalarType newStep)
inlineinherited

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

◆ centerCoefficient() [1/2]

FadMapT::MatrixType ::ScalarType & capd::diffAlgebra::FadCurve< FadMapT::MatrixType >::centerCoefficient ( size_type  i,
size_type  j 
)
inlineinherited

◆ centerCoefficient() [2/2]

const FadMapT::MatrixType ::ScalarType & capd::diffAlgebra::FadCurve< FadMapT::MatrixType >::centerCoefficient ( size_type  i,
size_type  j 
) const
inlineinherited

◆ clearCoefficients()

void capd::diffAlgebra::FadCurve< FadMapT::MatrixType >::clearCoefficients
inherited

sets all coefficients to zero

◆ coefficient() [1/4]

FadMapT::MatrixType ::ScalarType & capd::diffAlgebra::FadCurve< FadMapT::MatrixType >::coefficient ( size_type  i,
size_type  j 
)
inlineinherited

◆ coefficient() [2/4]

const FadMapT::MatrixType ::ScalarType & capd::diffAlgebra::FadCurve< FadMapT::MatrixType >::coefficient ( size_type  i,
size_type  j 
) const
inlineinherited

◆ coefficient() [3/4]

FadMapT::MatrixType ::ScalarType & capd::diffAlgebra::FadCurve< FadMapT::MatrixType >::coefficient ( size_type  i,
size_type  j,
size_type  k 
)
inlineinherited

◆ coefficient() [4/4]

const FadMapT::MatrixType ::ScalarType & capd::diffAlgebra::FadCurve< FadMapT::MatrixType >::coefficient ( size_type  i,
size_type  j,
size_type  k 
) const
inlineinherited

◆ computeCoeff()

void capd::dynsys::BasicFadOdeSolver< FadMapT, capd::dynsys::IEncFoundStepControl >::computeCoeff ( AVector &  in,
AVector &  out,
size_type  order 
)
protectedinherited

◆ computeCoefficients() [1/4]

void capd::dynsys::BasicFadOdeSolver< FadMapT, capd::dynsys::IEncFoundStepControl >::computeCoefficients ( const VectorType x,
const MatrixType M,
size_type  order 
)
inlineinherited

◆ computeCoefficients() [2/4]

void capd::dynsys::BasicFadOdeSolver< FadMapT, capd::dynsys::IEncFoundStepControl >::computeCoefficients ( const VectorType x,
size_type  order 
)
inlineinherited

◆ computeCoefficients() [3/4]

void capd::dynsys::BasicFadOdeSolver< FadMapT, capd::dynsys::IEncFoundStepControl >::computeCoefficients ( ScalarType  t,
const VectorType x,
const MatrixType M,
size_type  order 
)
inlineinherited

◆ computeCoefficients() [4/4]

void capd::dynsys::BasicFadOdeSolver< FadMapT, capd::dynsys::IEncFoundStepControl >::computeCoefficients ( ScalarType  t,
const VectorType x,
size_type  order 
)
inlineinherited

◆ computeCoefficientsAtCenter() [1/2]

void capd::dynsys::BasicFadOdeSolver< FadMapT, capd::dynsys::IEncFoundStepControl >::computeCoefficientsAtCenter ( const VectorType x,
size_type  order 
)
inlineinherited

◆ computeCoefficientsAtCenter() [2/2]

void capd::dynsys::BasicFadOdeSolver< FadMapT, capd::dynsys::IEncFoundStepControl >::computeCoefficientsAtCenter ( ScalarType  t,
const VectorType x,
size_type  order 
)
inlineinherited

◆ computeTimeStep() [1/2]

template<class FadMapT , typename StepControlT = capd::dynsys::IEncFoundStepControl>
void capd::dynsys::FadOdeSolver< FadMapT, StepControlT >::computeTimeStep ( const ScalarType t,
const VectorType x 
)
inlineprotected

◆ computeTimeStep() [2/2]

void capd::dynsys::BasicFadOdeSolver< FadMapT, StepControlType >::computeTimeStep ( VectorType v)
inlineprotectedinherited

◆ derivative()

Curve< capd::diffAlgebra::FadCurve< FadMapT::MatrixType > , capd::TypeTraits<typename capd::diffAlgebra::FadCurve< FadMapT::MatrixType > ::ScalarType>::isInterval >::MatrixType capd::diffAlgebra::Curve< capd::diffAlgebra::FadCurve< FadMapT::MatrixType > , capd::TypeTraits<typename capd::diffAlgebra::FadCurve< FadMapT::MatrixType > ::ScalarType>::isInterval >::derivative ( const ScalarType h) const
virtualinherited

◆ dimension()

FadCurve< FadMapT::MatrixType >::size_type capd::diffAlgebra::FadCurve< FadMapT::MatrixType >::dimension
inlineinherited

Returns the dimension in which the parametric curve is embedded.

◆ domainErrorMessage()

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

◆ encloseC0Map()

virtual void capd::dynsys::DynSys< FadMapT::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< FadMapT::MatrixType >::encloseC1Map ( const ScalarType t,
const VectorType x,
const VectorType xx,
VectorType o_phi,
VectorType o_rem,
VectorType o_enc,
FadMapT::MatrixType &  o_jacPhi,
FadMapT::MatrixType &  o_jacRem,
FadMapT::MatrixType &  o_jacEnc 
)
pure virtualinherited

◆ enclosure() [1/2]

VectorType capd::dynsys::BasicFadOdeSolver< FadMapT, capd::dynsys::IEncFoundStepControl >::enclosure ( const ScalarType ,
const VectorType  
)
inlineinherited

◆ enclosure() [2/2]

virtual VectorType capd::dynsys::DynSys< FadMapT::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.

◆ eval()

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

◆ getAbsoluteTolerance()

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

◆ getAllocatedOrder()

FadCurve< FadMapT::MatrixType >::size_type capd::diffAlgebra::FadCurve< FadMapT::MatrixType >::getAllocatedOrder
inlineinherited

Returns maximal allocated order - used to avoid memory reallocation.

◆ getCoeffNorm()

BasicFadOdeSolver< FadMapT, StepControlType >::ScalarType capd::dynsys::BasicFadOdeSolver< FadMapT, StepControlType >::getCoeffNorm ( size_type  i,
size_type  degree 
) const
virtualinherited

◆ getCurrentTime()

const ScalarType& capd::dynsys::BasicFadOdeSolver< FadMapT, capd::dynsys::IEncFoundStepControl >::getCurrentTime
inlineprotectedinherited

◆ getCurve()

◆ getEffectiveTolerance()

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

◆ getLeftDomain()

ParametricCurve< capd::diffAlgebra::FadCurve< FadMapT::MatrixType > ::MatrixType , typename capd::diffAlgebra::FadCurve< FadMapT::MatrixType > ::MatrixType ::RowVectorType >::Real capd::diffAlgebra::ParametricCurve< capd::diffAlgebra::FadCurve< FadMapT::MatrixType > ::MatrixType , typename capd::diffAlgebra::FadCurve< FadMapT::MatrixType > ::MatrixType ::RowVectorType >::getLeftDomain
inlinevirtualinherited

◆ getMaxStep()

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

◆ getOrder()

FadCurve< FadMapT::MatrixType >::size_type capd::diffAlgebra::FadCurve< FadMapT::MatrixType >::getOrder
inlineinherited

Returns the order of Taylor interpolation.

◆ getRelativeTolerance()

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

◆ getRightDomain()

ParametricCurve< capd::diffAlgebra::FadCurve< FadMapT::MatrixType > ::MatrixType , typename capd::diffAlgebra::FadCurve< FadMapT::MatrixType > ::MatrixType ::RowVectorType >::Real capd::diffAlgebra::ParametricCurve< capd::diffAlgebra::FadCurve< FadMapT::MatrixType > ::MatrixType , typename capd::diffAlgebra::FadCurve< FadMapT::MatrixType > ::MatrixType ::RowVectorType >::getRightDomain
inlinevirtualinherited

◆ getStep() [1/3]

Returns current time step.

◆ getStep() [2/3]

virtual ScalarType capd::dynsys::DynSys< FadMapT::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.

◆ getStep() [3/3]

template<class FadMapT , typename StepControlT = capd::dynsys::IEncFoundStepControl>
ScalarType capd::dynsys::FadOdeSolver< FadMapT, StepControlT >::getStep ( ) const
inline

◆ getStepControl()

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

◆ getVectorField() [1/2]

◆ getVectorField() [2/2]

FadMapT & capd::dynsys::BasicFadOdeSolver< FadMapT, StepControlType >::getVectorField
inlineinherited

Returns vector field.

◆ hessian()

virtual HessianType capd::diffAlgebra::ParametricCurve< capd::diffAlgebra::FadCurve< FadMapT::MatrixType > ::MatrixType , typename capd::diffAlgebra::FadCurve< FadMapT::MatrixType > ::MatrixType ::RowVectorType >::hessian ( const ScalarType ) const
inlinevirtualinherited

◆ initRemainderCoefficients()

template<class FadMapT , typename StepControlT = capd::dynsys::IEncFoundStepControl>
void capd::dynsys::FadOdeSolver< FadMapT, StepControlT >::initRemainderCoefficients ( ScalarType  t,
const VectorType x,
unsigned  degree 
)
inline

◆ isStepChangeAllowed()

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

◆ JacPhi()

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

Computes derivative of function (usually numerical scheme for an ODE) at time t and point iv.

◆ jet()

virtual JetType capd::diffAlgebra::ParametricCurve< capd::diffAlgebra::FadCurve< FadMapT::MatrixType > ::MatrixType , typename capd::diffAlgebra::FadCurve< FadMapT::MatrixType > ::MatrixType ::RowVectorType >::jet ( const ScalarType ) const
inlinevirtualinherited

◆ 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 , FadMapT::ScalarType >::onOffStepControl ( bool  _onOffStepControl)
inlineinherited

◆ operator()() [1/10]

Curve< capd::diffAlgebra::FadCurve< FadMapT::MatrixType > , capd::TypeTraits<typename capd::diffAlgebra::FadCurve< FadMapT::MatrixType > ::ScalarType>::isInterval >::VectorType capd::diffAlgebra::Curve< capd::diffAlgebra::FadCurve< FadMapT::MatrixType > , capd::TypeTraits<typename capd::diffAlgebra::FadCurve< FadMapT::MatrixType > ::ScalarType>::isInterval >::operator() ( const ScalarType h) const
virtualinherited

◆ operator()() [2/10]

void capd::dynsys::BasicFadOdeSolver< FadMapT, capd::dynsys::IEncFoundStepControl >::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 C1JetMove is used meaning that this solver can integrate C^0 and C^1 jets only.

◆ operator()() [3/10]

BasicFadOdeSolver< FadMapT, capd::dynsys::IEncFoundStepControl >::VectorType capd::dynsys::BasicFadOdeSolver< FadMapT, capd::dynsys::IEncFoundStepControl >::operator() ( ScalarType t,
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()() [4/10]

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()() [5/10]

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

◆ operator()() [6/10]

template<class FadMapT , typename StepControlT = capd::dynsys::IEncFoundStepControl>
template<typename SetType >
void capd::dynsys::FadOdeSolver< FadMapT, StepControlT >::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 C1SetMove is used meaning that this solver can integrate C^0 and C^1 sets only. Moreover, it cannot integrate nonrigorous jets (for user safety).

◆ operator()() [7/10]

template<class FadMapT , typename StepControlT = capd::dynsys::IEncFoundStepControl>
template<typename SetType >
void capd::dynsys::FadOdeSolver< FadMapT, StepControlT >::operator() ( SetType &  set,
SetType &  result 
)
inline

Computes image of the set (in set's representation) and stores it in the result set.

Parameters
[in]setC^0, C^1 set representing initial conditions
[out]resulton return contains image of the set

◆ operator()() [8/10]

BasicFadOdeSolver< FadMapT, capd::dynsys::IEncFoundStepControl >::VectorType capd::dynsys::BasicFadOdeSolver< FadMapT, capd::dynsys::IEncFoundStepControl >::operator() ( VectorType  v,
const MatrixType derivative,
MatrixType o_resultDerivative 
)
inherited

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

◆ operator()() [9/10]

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

◆ operator()() [10/10]

Computes image of vector v after one time step.

◆ operator[]()

MatrixType capd::diffAlgebra::Curve< capd::diffAlgebra::FadCurve< FadMapT::MatrixType > , capd::TypeTraits<typename capd::diffAlgebra::FadCurve< FadMapT::MatrixType > ::ScalarType>::isInterval >::operator[] ( const ScalarType h) const
inlinevirtualinherited

◆ Phi()

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

Computes value of function (usually numerical scheme for an ODE) at time t and point iv.

◆ recordDags()

void capd::dynsys::BasicFadOdeSolver< FadMapT, capd::dynsys::IEncFoundStepControl >::recordDags
protectedinherited

◆ Remainder()

virtual VectorType capd::dynsys::DynSys< FadMapT::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.

◆ remainderCoefficient() [1/4]

FadMapT::MatrixType ::ScalarType & capd::diffAlgebra::FadCurve< FadMapT::MatrixType >::remainderCoefficient ( size_type  i,
size_type  j 
)
inlineinherited

◆ remainderCoefficient() [2/4]

const FadMapT::MatrixType ::ScalarType & capd::diffAlgebra::FadCurve< FadMapT::MatrixType >::remainderCoefficient ( size_type  i,
size_type  j 
) const
inlineinherited

◆ remainderCoefficient() [3/4]

FadMapT::MatrixType ::ScalarType & capd::diffAlgebra::FadCurve< FadMapT::MatrixType >::remainderCoefficient ( size_type  i,
size_type  j,
size_type  k 
)
inlineinherited

◆ remainderCoefficient() [4/4]

const FadMapT::MatrixType ::ScalarType & capd::diffAlgebra::FadCurve< FadMapT::MatrixType >::remainderCoefficient ( size_type  i,
size_type  j,
size_type  k 
) const
inlineinherited

◆ reset()

void capd::dynsys::BasicFadOdeSolver< FadMapT, capd::dynsys::IEncFoundStepControl >::reset
protectedinherited

◆ saveCurrentSet() [1/2]

template<class FadMapT , typename StepControlT = capd::dynsys::IEncFoundStepControl>
void capd::dynsys::FadOdeSolver< FadMapT, StepControlT >::saveCurrentSet ( const capd::diffAlgebra::TimeRange< ScalarType > &  )
inlineprotected

◆ saveCurrentSet() [2/2]

template<class FadMapT , typename StepControlT = capd::dynsys::IEncFoundStepControl>
void capd::dynsys::FadOdeSolver< FadMapT, StepControlT >::saveCurrentSet ( const capd::dynset::C1Set< MatrixType > &  set)
inlineprotected

◆ setAbsoluteTolerance()

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

◆ setCurrentTime()

void capd::dynsys::BasicFadOdeSolver< FadMapT, capd::dynsys::IEncFoundStepControl >::setCurrentTime ( const ScalarType a_time) const
inlineprotectedinherited

◆ setDomain()

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

◆ setInitHessian()

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

◆ setInitialCondition() [1/3]

void capd::dynsys::BasicFadOdeSolver< FadMapT, capd::dynsys::IEncFoundStepControl >::setInitialCondition ( const VectorType u,
const MatrixType M,
TFVector in 
)
protectedinherited

◆ setInitialCondition() [2/3]

void capd::dynsys::BasicFadOdeSolver< FadMapT, capd::dynsys::IEncFoundStepControl >::setInitialCondition ( const VectorType u,
TFVector in 
)
protectedinherited

◆ setInitialCondition() [3/3]

void capd::dynsys::BasicFadOdeSolver< FadMapT, capd::dynsys::IEncFoundStepControl >::setInitialCondition ( const VectorType u,
TVector in 
)
protectedinherited

◆ setInitJet()

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

◆ setInitMatrix()

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

◆ setMaxStep()

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

◆ setOrder()

void capd::diffAlgebra::FadCurve< FadMapT::MatrixType >::setOrder ( size_type  order)
virtualinherited

Sets the order of Taylor interpolation.

◆ setParameter()

void capd::dynsys::BasicFadOdeSolver< FadMapT, capd::dynsys::IEncFoundStepControl >::setParameter ( Description  name,
const ScalarType value 
)
inlineinherited

◆ setRelativeTolerance()

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

◆ setStep()

void capd::dynsys::BasicFadOdeSolver< FadMapT, StepControlType >::setStep ( const ScalarType newStep)
inlineinherited

Sets time step for the next step of integration and turns off step control.

◆ setStepControl()

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

◆ sumTaylorSeries() [1/3]

void capd::dynsys::BasicFadOdeSolver< FadMapT, capd::dynsys::IEncFoundStepControl >::sumTaylorSeries ( MatrixType M,
TFVector in,
size_type  order 
)
protectedinherited

◆ sumTaylorSeries() [2/3]

void capd::dynsys::BasicFadOdeSolver< FadMapT, capd::dynsys::IEncFoundStepControl >::sumTaylorSeries ( VectorType u,
MatrixType M,
TFVector in,
size_type  order 
)
protectedinherited

◆ sumTaylorSeries() [3/3]

void capd::dynsys::BasicFadOdeSolver< FadMapT, capd::dynsys::IEncFoundStepControl >::sumTaylorSeries ( VectorType u,
TVector in,
size_type  order 
)
protectedinherited

◆ timeDerivative()

Curve< capd::diffAlgebra::FadCurve< FadMapT::MatrixType > , capd::TypeTraits<typename capd::diffAlgebra::FadCurve< FadMapT::MatrixType > ::ScalarType>::isInterval >::VectorType capd::diffAlgebra::Curve< capd::diffAlgebra::FadCurve< FadMapT::MatrixType > , capd::TypeTraits<typename capd::diffAlgebra::FadCurve< FadMapT::MatrixType > ::ScalarType>::isInterval >::timeDerivative ( const ScalarType h) const
inherited

◆ turnOffStepControl()

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

◆ turnOnStepControl()

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

Member Data Documentation

◆ m_absoluteTolerance

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

◆ m_center

TVector capd::diffAlgebra::FadCurve< FadMapT::MatrixType >::m_center
mutableprotectedinherited

◆ m_centerOut

TVector capd::dynsys::BasicFadOdeSolver< FadMapT, capd::dynsys::IEncFoundStepControl >::m_centerOut
mutableprotectedinherited

◆ m_dimension

size_type capd::diffAlgebra::FadCurve< FadMapT::MatrixType >::m_dimension
protectedinherited

◆ m_fixedTimeStep

ScalarType capd::dynsys::BasicFadOdeSolver< FadMapT, capd::dynsys::IEncFoundStepControl >::m_fixedTimeStep
protectedinherited

◆ m_ftime

TFScalar capd::dynsys::BasicFadOdeSolver< FadMapT, capd::dynsys::IEncFoundStepControl >::m_ftime
mutableprotectedinherited

◆ m_in

TFVector capd::diffAlgebra::FadCurve< FadMapT::MatrixType >::m_in
mutableprotectedinherited

◆ m_jacRem

TFVector capd::diffAlgebra::FadCurve< FadMapT::MatrixType >::m_jacRem
mutableprotectedinherited

◆ m_jacRemOut

TFVector capd::dynsys::BasicFadOdeSolver< FadMapT, capd::dynsys::IEncFoundStepControl >::m_jacRemOut
mutableprotectedinherited

◆ m_left

Real capd::diffAlgebra::ParametricCurve< capd::diffAlgebra::FadCurve< FadMapT::MatrixType > ::MatrixType , typename capd::diffAlgebra::FadCurve< FadMapT::MatrixType > ::MatrixType ::RowVectorType >::m_left
protectedinherited

◆ m_maxStep

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

◆ m_onOffStepControl

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

◆ m_order

size_type capd::diffAlgebra::FadCurve< FadMapT::MatrixType >::m_order
protectedinherited

◆ m_out

TFVector capd::dynsys::BasicFadOdeSolver< FadMapT, capd::dynsys::IEncFoundStepControl >::m_out
mutableprotectedinherited

◆ m_relativeTolerance

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

◆ m_rem

TVector capd::diffAlgebra::FadCurve< FadMapT::MatrixType >::m_rem
mutableprotectedinherited

◆ m_remOut

TVector capd::dynsys::BasicFadOdeSolver< FadMapT, capd::dynsys::IEncFoundStepControl >::m_remOut
mutableprotectedinherited

◆ m_right

Real capd::diffAlgebra::ParametricCurve< capd::diffAlgebra::FadCurve< FadMapT::MatrixType > ::MatrixType , typename capd::diffAlgebra::FadCurve< FadMapT::MatrixType > ::MatrixType ::RowVectorType >::m_right
protectedinherited

domain

◆ m_step

◆ m_stepControl

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

◆ m_time

TScalar capd::dynsys::BasicFadOdeSolver< FadMapT, capd::dynsys::IEncFoundStepControl >::m_time
mutableprotectedinherited

◆ m_vectorField