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

MapT constraints: type definitions: More...

#include <capd/dynsys/BasicOdeSolver.h>

Public Types

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

Public Member Functions

 BasicOdeSolver (VectorFieldType &field, size_type order, const StepControlT &stepControl=StepControlT())
 
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...
 
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 C1JetMove is used meaning that this solver can integrate C^0 and C^1 jets only. More...
 
const VectorFieldTypegetVectorField () const
 Returns vector field. More...
 
VectorFieldTypegetVectorField ()
 
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)
 
const SolutionCurvegetCurve ()
 
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...
 
template<class Iterator >
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)
 
VectorType timeDerivative (const ScalarType &h) const
 
VectorType operator() (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...
 
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)
 
const VectorTypegetCoefficientsAtCenter () const
 
VectorTypegetCoefficientsAtCenter ()
 
const VectorTypegetCoefficients () const
 
VectorTypegetCoefficients ()
 
const VectorTypegetRemainderCoefficients () const
 
VectorTypegetRemainderCoefficients ()
 
const MatrixTypegetMatrixCoefficients () const
 
MatrixTypegetMatrixCoefficients ()
 
const MatrixTypegetMatrixRemainderCoefficients () const
 
MatrixTypegetMatrixRemainderCoefficients ()
 
iterator beginCenterCoefficients (size_type j)
 
const_iterator beginCenterCoefficients (size_type j) const
 
iterator beginCoefficients (size_type j)
 
const_iterator beginCoefficients (size_type j) const
 
iterator beginRemainderCoefficients (size_type j)
 
const_iterator beginRemainderCoefficients (size_type j) const
 
iterator beginMatrixCoefficients (size_type j)
 
const_iterator beginMatrixCoefficients (size_type j) const
 
iterator beginMatrixRemainderCoefficients (size_type j)
 
const_iterator beginMatrixRemainderCoefficients (size_type j) const
 
iterator endCenterCoefficients (size_type j)
 
const_iterator endCenterCoefficients (size_type j) const
 
iterator endCoefficients (size_type j)
 
const_iterator endCoefficients (size_type j) const
 
iterator endRemainderCoefficients (size_type j)
 
const_iterator endRemainderCoefficients (size_type j) const
 
iterator endMatrixCoefficients (size_type j)
 
const_iterator endMatrixCoefficients (size_type j) const
 
iterator endMatrixRemainderCoefficients (size_type j)
 
const_iterator endMatrixRemainderCoefficients (size_type j) const
 
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 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)
 
void operator= (const BasicOdeSolver &)
 
 BasicOdeSolver (const BasicOdeSolver &solver)
 we do not allow copying of objects More...
 
void allocate ()
 
void deallocate ()
 
void copyData (const BasicCurve &c)
 

Protected Attributes

VectorFieldTypem_vField
 we do not allow copying of objects More...
 
ScalarType m_fixedTimeStep
 
ScalarType m_step
 
StepControlType m_stepControl
 
bool m_onOffStepControl
 
TolScalarType m_absoluteTolerance
 
TolScalarType m_relativeTolerance
 
MapT::ScalarType m_maxStep
 
VectorTypem_coefficientsAtCenter
 
VectorTypem_coefficients
 
VectorTypem_remainderCoefficients
 
MatrixTypem_matrixCoefficients
 
MatrixTypem_matrixRemainderCoefficients
 
size_type m_order
 
size_type m_allocatedOrder
 
size_type m_dimension
 
Real m_left
 
Real m_right
 domain More...
 

Detailed Description

template<typename MapT, typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::Curve< capd::diffAlgebra::BasicCurve<typename MapT::MatrixType> >>
class capd::dynsys::BasicOdeSolver< MapT, StepControlT, CurveT >

MapT constraints: type definitions:

  • FunctionType
  • MatrixType
  • MatrixType::RowVectorType
  • MatrixType::ScalarType

methods:

  • dimension - dimension of the space
  • getOrder, setOrder - order of Taylor expansion
  • operator()(a, i) - computes coeffs a_i from a = a_{i-1}
  • variational(x_coeff, m_F, m_order);

Member Typedef Documentation

◆ const_iterator

template<class MatrixT >
typedef VectorType::const_iterator capd::diffAlgebra::BasicCurve< MatrixT >::const_iterator
inherited

◆ difference_type

typedef __difference_type capd::diffAlgebra::Curve< capd::diffAlgebra::BasicCurve< typename MapT::MatrixType > , capd::TypeTraits<typename BaseCurveT::ScalarType>::isInterval >::difference_type
inherited

◆ FunctionType

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::Curve< capd::diffAlgebra::BasicCurve<typename MapT::MatrixType> >>
typedef VectorFieldType::FunctionType capd::dynsys::BasicOdeSolver< MapT, StepControlT, CurveT >::FunctionType

◆ HessianType

typedef Hessian<ScalarType,VectorType::csDim,VectorType::csDim> capd::diffAlgebra::Curve< capd::diffAlgebra::BasicCurve< typename MapT::MatrixType > , capd::TypeTraits<typename BaseCurveT::ScalarType>::isInterval >::HessianType
inherited

◆ iterator

template<class MatrixT >
typedef VectorType::iterator capd::diffAlgebra::BasicCurve< MatrixT >::iterator
inherited

◆ JetType

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::Curve< capd::diffAlgebra::BasicCurve<typename MapT::MatrixType> >>
typedef VectorFieldType::JetType capd::dynsys::BasicOdeSolver< MapT, StepControlT, CurveT >::JetType

◆ MatrixType

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::Curve< capd::diffAlgebra::BasicCurve<typename MapT::MatrixType> >>
typedef VectorFieldType::MatrixType capd::dynsys::BasicOdeSolver< MapT, StepControlT, CurveT >::MatrixType

◆ Multiindex

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::Curve< capd::diffAlgebra::BasicCurve<typename MapT::MatrixType> >>
typedef JetType::Multiindex capd::dynsys::BasicOdeSolver< MapT, StepControlT, CurveT >::Multiindex

◆ Multipointer

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::Curve< capd::diffAlgebra::BasicCurve<typename MapT::MatrixType> >>
typedef JetType::Multipointer capd::dynsys::BasicOdeSolver< MapT, StepControlT, CurveT >::Multipointer

◆ Real

typedef TypeTraits<ScalarType>::Real capd::diffAlgebra::Curve< capd::diffAlgebra::BasicCurve< typename MapT::MatrixType > , capd::TypeTraits<typename BaseCurveT::ScalarType>::isInterval >::Real
inherited

◆ ScalarType

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::Curve< capd::diffAlgebra::BasicCurve<typename MapT::MatrixType> >>
typedef MatrixType::ScalarType capd::dynsys::BasicOdeSolver< MapT, StepControlT, CurveT >::ScalarType

◆ size_type

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::Curve< capd::diffAlgebra::BasicCurve<typename MapT::MatrixType> >>
typedef MatrixType::size_type capd::dynsys::BasicOdeSolver< MapT, StepControlT, CurveT >::size_type

◆ SolutionCurve

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::Curve< capd::diffAlgebra::BasicCurve<typename MapT::MatrixType> >>
typedef CurveT capd::dynsys::BasicOdeSolver< MapT, StepControlT, CurveT >::SolutionCurve

◆ StepControlType

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::Curve< capd::diffAlgebra::BasicCurve<typename MapT::MatrixType> >>
typedef StepControlT capd::dynsys::BasicOdeSolver< MapT, StepControlT, CurveT >::StepControlType

◆ VectorFieldType

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::Curve< capd::diffAlgebra::BasicCurve<typename MapT::MatrixType> >>
typedef MapT capd::dynsys::BasicOdeSolver< MapT, StepControlT, CurveT >::VectorFieldType

◆ VectorType

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::Curve< capd::diffAlgebra::BasicCurve<typename MapT::MatrixType> >>
typedef MatrixType::RowVectorType capd::dynsys::BasicOdeSolver< MapT, StepControlT, CurveT >::VectorType

Constructor & Destructor Documentation

◆ BasicOdeSolver()

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::Curve< capd::diffAlgebra::BasicCurve<typename MapT::MatrixType> >>
capd::dynsys::BasicOdeSolver< MapT, StepControlT, CurveT >::BasicOdeSolver ( const BasicOdeSolver< MapT, StepControlT, CurveT > &  solver)
inlineprotected

we do not allow copying of objects

Member Function Documentation

◆ addMultiindexToMask()

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::Curve< capd::diffAlgebra::BasicCurve<typename MapT::MatrixType> >>
void capd::dynsys::BasicOdeSolver< MapT, StepControlT, CurveT >::addMultiindexToMask ( const Multiindex mi)
inline

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.

◆ beginCenterCoefficients() [1/2]

template<class MatrixT >
iterator capd::diffAlgebra::BasicCurve< MatrixT >::beginCenterCoefficients ( size_type  j)
inlineinherited

◆ beginCenterCoefficients() [2/2]

template<class MatrixT >
const_iterator capd::diffAlgebra::BasicCurve< MatrixT >::beginCenterCoefficients ( size_type  j) const
inlineinherited

◆ beginCoefficients() [1/2]

template<class MatrixT >
iterator capd::diffAlgebra::BasicCurve< MatrixT >::beginCoefficients ( size_type  j)
inlineinherited

◆ beginCoefficients() [2/2]

template<class MatrixT >
const_iterator capd::diffAlgebra::BasicCurve< MatrixT >::beginCoefficients ( size_type  j) const
inlineinherited

◆ beginMatrixCoefficients() [1/2]

template<class MatrixT >
iterator capd::diffAlgebra::BasicCurve< MatrixT >::beginMatrixCoefficients ( size_type  j)
inlineinherited

◆ beginMatrixCoefficients() [2/2]

template<class MatrixT >
const_iterator capd::diffAlgebra::BasicCurve< MatrixT >::beginMatrixCoefficients ( size_type  j) const
inlineinherited

◆ beginMatrixRemainderCoefficients() [1/2]

template<class MatrixT >
iterator capd::diffAlgebra::BasicCurve< MatrixT >::beginMatrixRemainderCoefficients ( size_type  j)
inlineinherited

◆ beginMatrixRemainderCoefficients() [2/2]

template<class MatrixT >
const_iterator capd::diffAlgebra::BasicCurve< MatrixT >::beginMatrixRemainderCoefficients ( size_type  j) const
inlineinherited

◆ beginRemainderCoefficients() [1/2]

template<class MatrixT >
iterator capd::diffAlgebra::BasicCurve< MatrixT >::beginRemainderCoefficients ( size_type  j)
inlineinherited

◆ beginRemainderCoefficients() [2/2]

template<class MatrixT >
const_iterator capd::diffAlgebra::BasicCurve< MatrixT >::beginRemainderCoefficients ( size_type  j) const
inlineinherited

◆ derivative()

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

◆ dimension()

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::Curve< capd::diffAlgebra::BasicCurve<typename MapT::MatrixType> >>
size_type capd::dynsys::BasicOdeSolver< MapT, StepControlT, CurveT >::dimension ( ) const
inline

◆ domainErrorMessage()

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

◆ enclosure()

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::Curve< capd::diffAlgebra::BasicCurve<typename MapT::MatrixType> >>
VectorType capd::dynsys::BasicOdeSolver< MapT, StepControlT, CurveT >::enclosure ( const ScalarType ,
const VectorType  
)
inline

◆ endCenterCoefficients() [1/2]

template<class MatrixT >
iterator capd::diffAlgebra::BasicCurve< MatrixT >::endCenterCoefficients ( size_type  j)
inlineinherited

◆ endCenterCoefficients() [2/2]

template<class MatrixT >
const_iterator capd::diffAlgebra::BasicCurve< MatrixT >::endCenterCoefficients ( size_type  j) const
inlineinherited

◆ endCoefficients() [1/2]

template<class MatrixT >
iterator capd::diffAlgebra::BasicCurve< MatrixT >::endCoefficients ( size_type  j)
inlineinherited

◆ endCoefficients() [2/2]

template<class MatrixT >
const_iterator capd::diffAlgebra::BasicCurve< MatrixT >::endCoefficients ( size_type  j) const
inlineinherited

◆ endMatrixCoefficients() [1/2]

template<class MatrixT >
iterator capd::diffAlgebra::BasicCurve< MatrixT >::endMatrixCoefficients ( size_type  j)
inlineinherited

◆ endMatrixCoefficients() [2/2]

template<class MatrixT >
const_iterator capd::diffAlgebra::BasicCurve< MatrixT >::endMatrixCoefficients ( size_type  j) const
inlineinherited

◆ endMatrixRemainderCoefficients() [1/2]

template<class MatrixT >
iterator capd::diffAlgebra::BasicCurve< MatrixT >::endMatrixRemainderCoefficients ( size_type  j)
inlineinherited

◆ endMatrixRemainderCoefficients() [2/2]

template<class MatrixT >
const_iterator capd::diffAlgebra::BasicCurve< MatrixT >::endMatrixRemainderCoefficients ( size_type  j) const
inlineinherited

◆ endRemainderCoefficients() [1/2]

template<class MatrixT >
iterator capd::diffAlgebra::BasicCurve< MatrixT >::endRemainderCoefficients ( size_type  j)
inlineinherited

◆ endRemainderCoefficients() [2/2]

template<class MatrixT >
const_iterator capd::diffAlgebra::BasicCurve< MatrixT >::endRemainderCoefficients ( size_type  j) const
inlineinherited

◆ eval()

◆ getAbsoluteTolerance()

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

◆ getCurrentTime()

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::Curve< capd::diffAlgebra::BasicCurve<typename MapT::MatrixType> >>
const ScalarType& capd::dynsys::BasicOdeSolver< MapT, StepControlT, CurveT >::getCurrentTime ( ) const
inlineprotected

◆ 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/2]

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::Curve< capd::diffAlgebra::BasicCurve<typename MapT::MatrixType> >>
const bool* capd::dynsys::BasicOdeSolver< MapT, StepControlT, CurveT >::getMask ( ) const
inlineprotected

◆ getMask() [2/2]

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::Curve< capd::diffAlgebra::BasicCurve<typename MapT::MatrixType> >>
bool capd::dynsys::BasicOdeSolver< MapT, StepControlT, CurveT >::getMask ( size_type  j) 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

◆ getStepControl()

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

◆ hessian()

◆ 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/2]

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

◆ operator()() [2/2]

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::Curve< capd::diffAlgebra::BasicCurve<typename MapT::MatrixType> >>
template<typename JetT >
void capd::dynsys::BasicOdeSolver< 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 C1JetMove is used meaning that this solver can integrate C^0 and C^1 jets only.

◆ operator=()

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::Curve< capd::diffAlgebra::BasicCurve<typename MapT::MatrixType> >>
void capd::dynsys::BasicOdeSolver< MapT, StepControlT, CurveT >::operator= ( const BasicOdeSolver< MapT, StepControlT, CurveT > &  )
inlineprotected

◆ operator[]()

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

◆ resetMask()

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::Curve< capd::diffAlgebra::BasicCurve<typename MapT::MatrixType> >>
void capd::dynsys::BasicOdeSolver< MapT, StepControlT, CurveT >::resetMask ( )
inline

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()

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::Curve< capd::diffAlgebra::BasicCurve<typename MapT::MatrixType> >>
void capd::dynsys::BasicOdeSolver< MapT, StepControlT, CurveT >::setCurrentTime ( const ScalarType a_time) const
inlineprotected

◆ setDomain()

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

◆ setInitHessian()

template<class MatrixT >
void capd::diffAlgebra::CurveInterface< MatrixT >::setInitHessian ( const HessianType )
inlineinherited

◆ setInitJet()

template<class MatrixT >
void capd::diffAlgebra::CurveInterface< MatrixT >::setInitJet ( const JetType )
inlineinherited

◆ setInitMatrix()

template<class MatrixT >
void capd::diffAlgebra::CurveInterface< MatrixT >::setInitMatrix ( const MatrixType )
inlineinherited

◆ setMask()

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::Curve< capd::diffAlgebra::BasicCurve<typename MapT::MatrixType> >>
template<class Iterator >
void capd::dynsys::BasicOdeSolver< MapT, StepControlT, CurveT >::setMask ( Iterator  b,
Iterator  e 
)
inline

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 ( Scalar  maxStep)
inlineinherited

◆ setRelativeTolerance()

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

◆ setStepControl()

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

◆ timeDerivative()

Curve< capd::diffAlgebra::BasicCurve< typename MapT::MatrixType > , capd::TypeTraits<typename BaseCurveT::ScalarType>::isInterval >::VectorType capd::diffAlgebra::Curve< capd::diffAlgebra::BasicCurve< typename MapT::MatrixType > , capd::TypeTraits<typename BaseCurveT::ScalarType>::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_allocatedOrder

template<class MatrixT >
size_type capd::diffAlgebra::BasicCurve< MatrixT >::m_allocatedOrder
protectedinherited

◆ m_coefficients

template<class MatrixT >
VectorType* capd::diffAlgebra::BasicCurve< MatrixT >::m_coefficients
protectedinherited

◆ m_coefficientsAtCenter

template<class MatrixT >
VectorType* capd::diffAlgebra::BasicCurve< MatrixT >::m_coefficientsAtCenter
protectedinherited

◆ m_dimension

template<class MatrixT >
size_type capd::diffAlgebra::BasicCurve< MatrixT >::m_dimension
protectedinherited

◆ m_fixedTimeStep

template<typename MapT , typename StepControlT = capd::dynsys::DLastTermsStepControl, typename CurveT = capd::diffAlgebra::Curve< capd::diffAlgebra::BasicCurve<typename MapT::MatrixType> >>
ScalarType capd::dynsys::BasicOdeSolver< MapT, StepControlT, CurveT >::m_fixedTimeStep
protected

◆ m_left

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

◆ m_matrixCoefficients

template<class MatrixT >
MatrixType* capd::diffAlgebra::BasicCurve< MatrixT >::m_matrixCoefficients
protectedinherited

◆ m_matrixRemainderCoefficients

template<class MatrixT >
MatrixType* capd::diffAlgebra::BasicCurve< MatrixT >::m_matrixRemainderCoefficients
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_order

template<class MatrixT >
size_type capd::diffAlgebra::BasicCurve< MatrixT >::m_order
protectedinherited

◆ m_relativeTolerance

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

◆ m_remainderCoefficients

template<class MatrixT >
VectorType* capd::diffAlgebra::BasicCurve< MatrixT >::m_remainderCoefficients
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::Curve< capd::diffAlgebra::BasicCurve<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::Curve< capd::diffAlgebra::BasicCurve<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: