CAPD DynSys Library
5.2.0
|
Class dynsys is an abstract class representing a discrete dynamical system. More...
#include <capd/dynsys/DynSys.h>
Public Types | |
typedef MatrixT | MatrixType |
typedef MatrixType::RowVectorType | VectorType |
typedef MatrixType::ScalarType | ScalarType |
typedef capd::vectalg::Norm< VectorType, MatrixType > | NormType |
Public Member Functions | |
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... | |
virtual | ~DynSys () |
Class dynsys is an abstract class representing a discrete dynamical system.
It is assumed that the generator Psi of the dynamical system decomposes into Psi=Phi+Omega where Phi is a polynomial and Omega is the remainder. A realization of the class must implement three methods: Phi - the interval enclosure of the polynomial part JacPhi - the interval enclosure of the jacobian of Phi Remainder - an enclosure of the remainder Omega. Although the class represents a discrete dynamical system, it may be also used with time t translations along trajectories of an ODE. This is done in the class OdeNum inheriting from DynSys and defined in the sequel.
typedef MatrixT capd::dynsys::DynSys< MatrixT >::MatrixType |
typedef capd::vectalg::Norm<VectorType,MatrixType> capd::dynsys::DynSys< MatrixT >::NormType |
typedef MatrixType::ScalarType capd::dynsys::DynSys< MatrixT >::ScalarType |
typedef MatrixType::RowVectorType capd::dynsys::DynSys< MatrixT >::VectorType |
|
inlinevirtual |
|
pure virtual |
For given set xx, time t and a point x from the set xx It simultaneously computes and returns enclosures for:
|
pure virtual |
Used for ODEs. It verifies the existence of solutions to IVP at time t and set of initial conditions x over the time step. If the function succeeds, a rigorous bound for the trajectories is returned. Otherwise, an exception is thrown.
Implemented in capd::dynsys::OdeSolver< MapT, StepControlPolicyT, EnclosurePolicy, CurveT >, capd::dynsys::OdeSolver< typename MapT::MapType >, and capd::dynsys::OdeSolver< MapT, capd::dynsys::ILastTermsStepControl, HighOrderEnclosure, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >.
|
inlinevirtual |
Returns time step of the dynamical system. By default it returns one - time step for discrete DS (maps). Shall be overridden in classes that implement numerical schemes for ODEs.
Reimplemented in capd::dynsys::OdeSolver< typename MapT::MapType >, and capd::dynsys::OdeSolver< MapT, capd::dynsys::ILastTermsStepControl, HighOrderEnclosure, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >.
|
pure virtual |
Computes derivative of function (usually numerical scheme for an ODE) at time t and point iv.
Implemented in capd::dynsys::OdeSolver< MapT, StepControlPolicyT, EnclosurePolicy, CurveT >, capd::dynsys::OdeSolver< typename MapT::MapType >, and capd::dynsys::OdeSolver< MapT, capd::dynsys::ILastTermsStepControl, HighOrderEnclosure, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >.
|
pure virtual |
Computes value of function (usually numerical scheme for an ODE) at time t and point iv.
Implemented in capd::dynsys::OdeSolver< MapT, StepControlPolicyT, EnclosurePolicy, CurveT >, capd::dynsys::OdeSolver< typename MapT::MapType >, and capd::dynsys::OdeSolver< MapT, capd::dynsys::ILastTermsStepControl, HighOrderEnclosure, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >.
|
pure virtual |
Computes and returns bound for local error of a function (for instance if Phi is finite Taylor series of a map then this method computes bound for Lagrange remainder). If DynSys is an ODE, then out_enc contains enclosure of trajectories over the time step. If the function cannot validate existence of solutions to ODE over the time step, out_enc might be in an inconsistent state.
Implemented in capd::dynsys::OdeSolver< MapT, StepControlPolicyT, EnclosurePolicy, CurveT >, capd::dynsys::OdeSolver< typename MapT::MapType >, and capd::dynsys::OdeSolver< MapT, capd::dynsys::ILastTermsStepControl, HighOrderEnclosure, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >.