CAPD::DynSys Library  6.0.0
capd::dynsys::BasicC2OdeSolver< MapT, StepControlT, CurveT > Class Template Reference

#include <capd/dynsys/BasicC2OdeSolver.h>

Public Types

typedef MapT VectorFieldType
 
typedef StepControlT StepControlType
 
typedef MapT::FunctionType FunctionType
 
typedef VectorFieldType::MatrixType MatrixType
 
typedef MatrixType::RowVectorType VectorType
 
typedef MatrixType::ScalarType ScalarType
 
typedef VectorFieldType::HessianType HessianType
 
typedef BasicOdeSolver< MapT, StepControlT, CurveT > BaseTaylor
 
typedef CurveT SolutionCurve
 
typedef MatrixType::size_type size_type
 
typedef VectorFieldType::JetType JetType
 
typedef JetType::Multipointer Multipointer
 
typedef JetType::Multiindex Multiindex
 
typedef TypeTraits< ScalarType >::Real Real
 
typedef __difference_type difference_type
 

Public Member Functions

 BasicC2OdeSolver (VectorFieldType &vectorField, size_type order, const StepControlT &stepControl=StepControlT())
 
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...
 
template<typename JetT >
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 C2JetMove is used meaning that this solver can integrate C^0, C^1 and C^2 jets only. More...
 
const VectorFieldTypegetVectorField () const
 Returns vector field. More...
 
VectorFieldTypegetVectorField ()
 
size_type dimension () const
 
const SolutionCurvegetCurve ()
 
void setStep (const ScalarType &newStep)
 Sets fixed time step and turns off step control. More...
 
ScalarType getStep () const
 Returns the time step made in the last call to this solver. More...
 
void setOrder (size_type order)
 Sets the order of the Taylor method. More...
 
void setCurrentTime (const ScalarType &a_time) const
 
const ScalarTypegetCurrentTime () const
 
VectorType operator() (VectorType)
 Computes image of vector v after one time step. More...
 
VectorType operator() (ScalarType &t, const VectorType &u)
 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...
 
VectorType operator() (const ScalarType &h) const
 
const VectorFieldTypegetVectorField () const
 Returns vector field. More...
 
void setOrder (size_type order)
 Sets the order of the Taylor method. More...
 
ScalarType getStep () const
 Returns the time step made in the last call to this solver. More...
 
void setStep (const ScalarType &newStep)
 Sets fixed time step and turns off step control. More...
 
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)
 
virtual ScalarType getCoeffNorm (size_type i, size_type degree) const
 
size_type dimension () const
 
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 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 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
 
VectorType timeDerivative (const ScalarType &h) const
 
MatrixType derivative (const ScalarType &h) const
 
MatrixType operator[] (const ScalarType &h) 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

bool getMask (size_type j, size_type c) const
 
 BasicC2OdeSolver (const BasicC2OdeSolver &t)
 
void operator= (const BasicC2OdeSolver &)
 
void sumTaylorSeries (VectorType &v, MatrixType &der, HessianType &hessian, VectorType *coeff, MatrixType *matrixCoeff, HessianType *hessianCoeff, size_type order)
 
const bool * getMask () const
 
bool getMask (size_type j) const
 
void setCurrentTime (const ScalarType &a_time) const
 
const ScalarTypegetCurrentTime () const
 
const bool * getMask () const
 
bool getMask (size_type j) const
 
void computeTimeStep (VectorType &v)
 
void sumTaylorSeries (VectorType &v, VectorType *coeff, size_type order)
 
void sumTaylorSeries (VectorType &v, MatrixType &der, VectorType *coeff, MatrixType *matrixCoeff, size_type order)
 

Protected Attributes

VectorFieldTypem_vField
 we do not allow copying of objects More...
 
ScalarType m_step
 
ScalarType m_fixedTimeStep
 
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::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve<typename MapT::MatrixType> >>
typedef BasicOdeSolver<MapT, StepControlT, CurveT> capd::dynsys::BasicC2OdeSolver< MapT, StepControlT, CurveT >::BaseTaylor

◆ difference_type

template<class BaseCurveT , bool isInterval = capd::TypeTraits<typename BaseCurveT::ScalarType>::isInterval>
typedef __difference_type capd::diffAlgebra::C2Curve< BaseCurveT, isInterval >::difference_type
inherited

◆ FunctionType

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve<typename MapT::MatrixType> >>
typedef MapT::FunctionType capd::dynsys::BasicC2OdeSolver< MapT, StepControlT, CurveT >::FunctionType

◆ HessianType

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve<typename MapT::MatrixType> >>
typedef VectorFieldType::HessianType capd::dynsys::BasicC2OdeSolver< MapT, StepControlT, CurveT >::HessianType

◆ JetType

typedef VectorFieldType::JetType capd::dynsys::BasicOdeSolver< MapT, capd::dynsys::DLastTermsStepControl , capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >::JetType
inherited

◆ MatrixType

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve<typename MapT::MatrixType> >>
typedef VectorFieldType::MatrixType capd::dynsys::BasicC2OdeSolver< MapT, StepControlT, CurveT >::MatrixType

◆ Multiindex

◆ Multipointer

◆ Real

template<class BaseCurveT , bool isInterval = capd::TypeTraits<typename BaseCurveT::ScalarType>::isInterval>
typedef TypeTraits<ScalarType>::Real capd::diffAlgebra::C2Curve< BaseCurveT, isInterval >::Real
inherited

◆ ScalarType

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve<typename MapT::MatrixType> >>
typedef MatrixType::ScalarType capd::dynsys::BasicC2OdeSolver< MapT, StepControlT, CurveT >::ScalarType

◆ size_type

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve<typename MapT::MatrixType> >>
typedef MatrixType::size_type capd::dynsys::BasicC2OdeSolver< MapT, StepControlT, CurveT >::size_type

◆ SolutionCurve

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve<typename MapT::MatrixType> >>
typedef CurveT capd::dynsys::BasicC2OdeSolver< MapT, StepControlT, CurveT >::SolutionCurve

◆ StepControlType

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve<typename MapT::MatrixType> >>
typedef StepControlT capd::dynsys::BasicC2OdeSolver< MapT, StepControlT, CurveT >::StepControlType

◆ VectorFieldType

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve<typename MapT::MatrixType> >>
typedef MapT capd::dynsys::BasicC2OdeSolver< MapT, StepControlT, CurveT >::VectorFieldType

◆ VectorType

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve<typename MapT::MatrixType> >>
typedef MatrixType::RowVectorType capd::dynsys::BasicC2OdeSolver< MapT, StepControlT, CurveT >::VectorType

Constructor & Destructor Documentation

◆ BasicC2OdeSolver()

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve<typename MapT::MatrixType> >>
capd::dynsys::BasicC2OdeSolver< MapT, StepControlT, CurveT >::BasicC2OdeSolver ( const BasicC2OdeSolver< MapT, StepControlT, CurveT > &  t)
inlineprotected

Member Function Documentation

◆ addMultiindexToMask()

void capd::dynsys::BasicOdeSolver< MapT, capd::dynsys::DLastTermsStepControl , capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >::addMultiindexToMask ( const 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::BasicOdeSolver< MapType, StepControlType, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >::adjustTimeStep ( const ScalarType newStep)
inlineinherited

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

◆ computeCoefficients() [1/4]

void capd::dynsys::BasicOdeSolver< MapType, StepControlType, CurveType >::computeCoefficients ( const VectorType x,
const MatrixType M,
size_type  order 
)
inlineinherited

◆ computeCoefficients() [2/4]

void capd::dynsys::BasicOdeSolver< MapType, StepControlType, CurveType >::computeCoefficients ( const VectorType x,
size_type  order 
)
inlineinherited

◆ computeCoefficients() [3/4]

void capd::dynsys::BasicOdeSolver< MapType, StepControlType, CurveType >::computeCoefficients ( ScalarType  t,
const VectorType x,
const MatrixType M,
size_type  order 
)
inlineinherited

◆ computeCoefficients() [4/4]

void capd::dynsys::BasicOdeSolver< MapType, StepControlType, CurveType >::computeCoefficients ( ScalarType  t,
const VectorType x,
size_type  order 
)
inlineinherited

◆ computeCoefficientsAtCenter() [1/2]

void capd::dynsys::BasicOdeSolver< MapType, StepControlType, CurveType >::computeCoefficientsAtCenter ( const VectorType x,
size_type  order 
)
inlineinherited

◆ computeCoefficientsAtCenter() [2/2]

void capd::dynsys::BasicOdeSolver< MapType, StepControlType, CurveType >::computeCoefficientsAtCenter ( ScalarType  t,
const VectorType x,
size_type  order 
)
inlineinherited

◆ computeTimeStep()

void capd::dynsys::BasicOdeSolver< MapType, StepControlType, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >::computeTimeStep ( VectorType v)
inlineprotectedinherited

◆ derivative()

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

◆ dimension() [1/2]

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve<typename MapT::MatrixType> >>
size_type capd::dynsys::BasicOdeSolver< MapT, StepControlT, CurveT >::dimension
inline

◆ dimension() [2/2]

size_type capd::dynsys::BasicOdeSolver< MapT, capd::dynsys::DLastTermsStepControl , capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >::dimension ( ) const
inlineinherited

◆ enclosure()

VectorType capd::dynsys::BasicOdeSolver< MapT, capd::dynsys::DLastTermsStepControl , capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >::enclosure ( const ScalarType ,
const VectorType  
)
inlineinherited

◆ eval()

◆ getAbsoluteTolerance()

TolScalarType capd::dynsys::StepControlInterface< capd::dynsys::DLastTermsStepControl , MapT::ScalarType >::getAbsoluteTolerance ( ) const
inlineinherited

◆ getCoeffNorm()

BasicOdeSolver< MapType, StepControlType, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >::ScalarType capd::dynsys::BasicOdeSolver< MapType, StepControlType, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >::getCoeffNorm ( size_type  i,
size_type  degree 
) const
virtualinherited

◆ getCurrentTime() [1/2]

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve<typename MapT::MatrixType> >>
const ScalarType& capd::dynsys::BasicOdeSolver< MapT, StepControlT, CurveT >::getCurrentTime
inline

◆ getCurrentTime() [2/2]

const ScalarType& capd::dynsys::BasicOdeSolver< MapT, capd::dynsys::DLastTermsStepControl , capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >::getCurrentTime ( ) const
inlineprotectedinherited

◆ getCurve()

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve<typename MapT::MatrixType> >>
const BasicOdeSolver< MapType, StepControlType, CurveT >::SolutionCurve & capd::dynsys::BasicOdeSolver< MapType, StepControlType, CurveT >::getCurve

◆ getEffectiveTolerance()

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

◆ getLeftDomain()

ParametricCurve< BaseCurveT::MatrixType , typename MatrixT::RowVectorType >::Real capd::diffAlgebra::ParametricCurve< BaseCurveT::MatrixType , typename MatrixT::RowVectorType >::getLeftDomain
inlinevirtualinherited

◆ getMask() [1/5]

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve<typename MapT::MatrixType> >>
const bool* capd::dynsys::BasicOdeSolver< MapT, StepControlT, CurveT >::getMask
inlineprotected

◆ getMask() [2/5]

const bool* capd::dynsys::BasicOdeSolver< MapT, capd::dynsys::DLastTermsStepControl , capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >::getMask ( ) const
inlineprotectedinherited

◆ getMask() [3/5]

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve<typename MapT::MatrixType> >>
bool capd::dynsys::BasicOdeSolver< MapT, StepControlT, CurveT >::getMask
inlineprotected

◆ getMask() [4/5]

bool capd::dynsys::BasicOdeSolver< MapT, capd::dynsys::DLastTermsStepControl , capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >::getMask ( size_type  j) const
inlineprotectedinherited

◆ getMask() [5/5]

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve<typename MapT::MatrixType> >>
bool capd::dynsys::BasicC2OdeSolver< MapT, StepControlT, CurveT >::getMask ( size_type  j,
size_type  c 
) const
inlineprotected

◆ getMaxStep()

MapT::ScalarType capd::dynsys::StepControlInterface< capd::dynsys::DLastTermsStepControl , MapT::ScalarType >::getMaxStep ( ) const
inlineinherited

◆ getRelativeTolerance()

TolScalarType capd::dynsys::StepControlInterface< capd::dynsys::DLastTermsStepControl , MapT::ScalarType >::getRelativeTolerance ( ) const
inlineinherited

◆ getRightDomain()

ParametricCurve< BaseCurveT::MatrixType , typename MatrixT::RowVectorType >::Real capd::diffAlgebra::ParametricCurve< BaseCurveT::MatrixType , typename MatrixT::RowVectorType >::getRightDomain
inlinevirtualinherited

◆ getStep() [1/2]

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve<typename MapT::MatrixType> >>
BasicOdeSolver< MapType, StepControlType, CurveT >::ScalarType capd::dynsys::BasicOdeSolver< MapType, StepControlType, CurveT >::getStep
inline

Returns the time step made in the last call to this solver.

◆ getStep() [2/2]

Returns the time step made in the last call to this solver.

◆ getStepControl()

const StepControlType& capd::dynsys::StepControlInterface< capd::dynsys::DLastTermsStepControl , MapT::ScalarType >::getStepControl ( ) const
inlineinherited

◆ getVectorField() [1/3]

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve<typename MapT::MatrixType> >>
MapType & capd::dynsys::BasicOdeSolver< MapType, StepControlType, CurveT >::getVectorField
inline

◆ getVectorField() [2/3]

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve<typename MapT::MatrixType> >>
const MapType & capd::dynsys::BasicOdeSolver< MapType, StepControlType, CurveT >::getVectorField
inline

Returns vector field.

◆ getVectorField() [3/3]

const MapType & capd::dynsys::BasicOdeSolver< MapType, StepControlType, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >::getVectorField
inlineinherited

Returns vector field.

◆ isStepChangeAllowed()

bool capd::dynsys::StepControlInterface< capd::dynsys::DLastTermsStepControl , MapT::ScalarType >::isStepChangeAllowed ( ) const
inlineinherited

◆ jet()

◆ onOffStepControl()

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

◆ operator()() [1/8]

Curve< BaseCurveT, isInterval >::VectorType capd::diffAlgebra::Curve< BaseCurveT, isInterval >::operator() ( const ScalarType h) const
virtualinherited

◆ operator()() [2/8]

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve<typename MapT::MatrixType> >>
template<typename JetT >
void capd::dynsys::BasicC2OdeSolver< MapT, StepControlT, CurveT >::operator() ( JetT &  jet)
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 C2JetMove is used meaning that this solver can integrate C^0, C^1 and C^2 jets only.

◆ operator()() [3/8]

BasicOdeSolver< MapType, StepControlType, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >::VectorType capd::dynsys::BasicOdeSolver< MapType, StepControlType, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >::operator() ( ScalarType t,
const VectorType v,
MatrixType o_resultDerivative 
)
inlineinherited

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()() [4/8]

BasicOdeSolver< MapType, StepControlType, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >::VectorType capd::dynsys::BasicOdeSolver< MapType, StepControlType, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >::operator() ( ScalarType t,
const VectorType u 
)
inlineinherited

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

◆ operator()() [5/8]

BasicOdeSolver< MapType, StepControlType, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >::VectorType capd::dynsys::BasicOdeSolver< MapType, StepControlType, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< 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()() [6/8]

Computes image of vector v after one time step.

◆ operator()() [7/8]

BasicOdeSolver< MapType, StepControlType, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >::VectorType capd::dynsys::BasicOdeSolver< MapType, StepControlType, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >::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()() [8/8]

BasicOdeSolver< MapType, StepControlType, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >::VectorType capd::dynsys::BasicOdeSolver< MapType, StepControlType, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >::operator() ( VectorType  v,
MatrixType o_resultDerivative 
)
inherited

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::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve<typename MapT::MatrixType> >>
void capd::dynsys::BasicC2OdeSolver< MapT, StepControlT, CurveT >::operator= ( const BasicC2OdeSolver< MapT, StepControlT, CurveT > &  )
inlineprotected

◆ operator[]()

MatrixType capd::diffAlgebra::Curve< BaseCurveT, isInterval >::operator[] ( const ScalarType h) const
inlinevirtualinherited

◆ resetMask()

void capd::dynsys::BasicOdeSolver< MapT, capd::dynsys::DLastTermsStepControl , capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >::resetMask ( )
inlineinherited

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.

◆ setAbsoluteTolerance()

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

◆ setCurrentTime() [1/2]

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve<typename MapT::MatrixType> >>
void capd::dynsys::BasicOdeSolver< MapT, StepControlT, CurveT >::setCurrentTime
inline

◆ setCurrentTime() [2/2]

void capd::dynsys::BasicOdeSolver< MapT, capd::dynsys::DLastTermsStepControl , capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >::setCurrentTime ( const ScalarType a_time) const
inlineprotectedinherited

◆ setDomain()

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

◆ setMask()

void capd::dynsys::BasicOdeSolver< MapT, capd::dynsys::DLastTermsStepControl , capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< 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::DLastTermsStepControl , MapT::ScalarType >::setMaxStep ( MapT::ScalarType  maxStep)
inlineinherited

◆ setOrder() [1/2]

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve<typename MapT::MatrixType> >>
void capd::dynsys::BasicOdeSolver< MapType, StepControlType, CurveT >::setOrder

Sets the order of the Taylor method.

◆ setOrder() [2/2]

void capd::dynsys::BasicOdeSolver< MapType, StepControlType, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >::setOrder ( size_type  order)
inherited

Sets the order of the Taylor method.

◆ setRelativeTolerance()

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

◆ setStep() [1/2]

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve<typename MapT::MatrixType> >>
void capd::dynsys::BasicOdeSolver< MapType, StepControlType, CurveT >::setStep
inline

Sets fixed time step and turns off step control.

◆ setStep() [2/2]

void capd::dynsys::BasicOdeSolver< MapType, StepControlType, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >::setStep ( const ScalarType newStep)
inlineinherited

Sets fixed time step and turns off step control.

◆ setStepControl()

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

◆ sumTaylorSeries() [1/2]

void capd::dynsys::BasicOdeSolver< MapType, StepControlType, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >::sumTaylorSeries ( VectorType v,
MatrixType der,
VectorType coeff,
MatrixType matrixCoeff,
size_type  order 
)
protectedinherited

◆ sumTaylorSeries() [2/2]

void capd::dynsys::BasicOdeSolver< MapType, StepControlType, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >::sumTaylorSeries ( VectorType v,
VectorType coeff,
size_type  order 
)
inlineprotectedinherited

◆ timeDerivative()

Curve< BaseCurveT, isInterval >::VectorType capd::diffAlgebra::Curve< BaseCurveT, isInterval >::timeDerivative ( const ScalarType h) const
inherited

◆ turnOffStepControl()

void capd::dynsys::StepControlInterface< capd::dynsys::DLastTermsStepControl , MapT::ScalarType >::turnOffStepControl ( )
inlineinherited

◆ turnOnStepControl()

void capd::dynsys::StepControlInterface< capd::dynsys::DLastTermsStepControl , MapT::ScalarType >::turnOnStepControl ( )
inlineinherited

Member Data Documentation

◆ m_absoluteTolerance

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

◆ m_fixedTimeStep

◆ m_left

Real capd::diffAlgebra::ParametricCurve< BaseCurveT::MatrixType , typename MatrixT::RowVectorType >::m_left
protectedinherited

◆ m_maxStep

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

◆ m_onOffStepControl

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

◆ m_relativeTolerance

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

◆ m_right

Real capd::diffAlgebra::ParametricCurve< BaseCurveT::MatrixType , typename MatrixT::RowVectorType >::m_right
protectedinherited

domain

◆ m_step

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve<typename MapT::MatrixType> >>
ScalarType capd::dynsys::BasicOdeSolver< MapT, StepControlT, CurveT >::m_step
protected

◆ m_stepControl

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

◆ m_vField

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve<typename MapT::MatrixType> >>
VectorFieldType* capd::dynsys::BasicOdeSolver< MapT, StepControlT, CurveT >::m_vField
protected

we do not allow copying of objects


The documentation for this class was generated from the following files: