CAPD::DynSys Library
6.0.0
|
DiscreteDynSys is a proxy to convert any Map into discrete Dynamical System. More...
#include <capd/dynsys/DiscreteDynSys.h>
Public Types | |
typedef MapT | MapType |
typedef MapType::MatrixType | MatrixType |
typedef DynSys< MatrixType >::VectorType | VectorType |
typedef DynSys< MatrixType >::ScalarType | ScalarType |
typedef DynSys< MatrixType >::NormType | NormType |
Public Member Functions | |
DiscreteDynSys (const MapType &map) | |
map should implement C1Map concept More... | |
VectorType | Phi (const ScalarType &t, const VectorType &iv) |
value of a map for a point iv More... | |
VectorType | operator() (const ScalarType &t, const VectorType &iv) |
value of a map for a point iv More... | |
MatrixType | JacPhi (const ScalarType &t, const VectorType &iv) |
derivative of a map in a point iv More... | |
MatrixType | operator[] (const VectorType &iv) |
derivative of a map in a point iv More... | |
MatrixType | derivative (ScalarType t, const VectorType &u) const |
computes derivative of the map for a given vector and time More... | |
VectorType | operator() (const ScalarType &t, const VectorType &iv, MatrixType &derivative) |
value and derivative of a map in a point iv More... | |
template<typename SetType > | |
SetType & | operator() (SetType &set) |
it computes image of the set (in give representation) using set.move function More... | |
VectorType & | operator() (const ScalarType &t, VectorType &iv) |
VectorType | Remainder (const ScalarType &t, const VectorType &iv, VectorType &enc) |
because we have explicit formula for a map not only numerical method the remainder term is equal to zero 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) |
ScalarType | Lipschitz (const ScalarType &t, const VectorType &iv, NormType &n) |
empty implemented - throws exception on use More... | |
VectorType | enclosure (const ScalarType &t, const VectorType &x) |
virtual std::string | type (void) |
returns name of the class (for backward compatibility) More... | |
virtual | ~DiscreteDynSys () |
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... | |
Protected Attributes | |
const MapType * | pMap |
DiscreteDynSys is a proxy to convert any Map into discrete Dynamical System.
This conversion is needed to use Map as dicrete dynamical systems to move various set representations. This class implements both DynSys and C1Map interface.
MapT should be type implementing C1Map interface i.e. if f is of type MapT then the following expresions should be valid: f(x) - returns value of a map in x, f[x] - returns derivative of a map in x f(x, deriv) returns value of a map and in deriv its derivative.
typedef MapT capd::dynsys::DiscreteDynSys< MapT >::MapType |
typedef MapType::MatrixType capd::dynsys::DiscreteDynSys< MapT >::MatrixType |
typedef DynSys<MatrixType>::NormType capd::dynsys::DiscreteDynSys< MapT >::NormType |
typedef DynSys<MatrixType>::ScalarType capd::dynsys::DiscreteDynSys< MapT >::ScalarType |
typedef DynSys<MatrixType>::VectorType capd::dynsys::DiscreteDynSys< MapT >::VectorType |
|
inline |
map should implement C1Map concept
|
inlinevirtual |
|
inline |
computes derivative of the map for a given vector and time
|
inlinevirtual |
|
pure virtualinherited |
For given set xx, time t and a point x from the set xx It simultaneously computes and returns enclosures for:
|
inline |
|
pure virtualinherited |
Used for ODEs. It verifies the existence of solutions to IVP at time t and set of initial conditions x over the time step. If the function succeeds, a rigorous bound for the trajectories is returned. Otherwise, an exception is thrown.
Implemented in capd::dynsys::OdeSolver< MapT, StepControlPolicyT, EnclosurePolicy, CurveT >, capd::dynsys::OdeSolver< typename MapT::MapType >, capd::dynsys::OdeSolver< MapT, capd::dynsys::ILastTermsStepControl, HighOrderEnclosure, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >, and capd::dynsys::CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT >.
|
inlinevirtualinherited |
Returns time step of the dynamical system. By default it returns one - time step for discrete DS (maps). Shall be overridden in classes that implement numerical schemes for ODEs.
Reimplemented in capd::dynsys::OdeSolver< MapT, StepControlPolicyT, EnclosurePolicy, CurveT >, capd::dynsys::OdeSolver< typename MapT::MapType >, capd::dynsys::OdeSolver< MapT, capd::dynsys::ILastTermsStepControl, HighOrderEnclosure, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >, capd::dynsys::CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT >, and capd::dynsys::C2OdeSolver< MapT, StepControlPolicyT, EnclosurePolicyT, CurveT >.
|
inline |
derivative of a map in a point iv
|
pure virtualinherited |
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 >, capd::dynsys::OdeSolver< MapT, capd::dynsys::ILastTermsStepControl, HighOrderEnclosure, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >, and capd::dynsys::CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT >.
|
inline |
empty implemented - throws exception on use
|
virtualinherited |
this function returns Lipschitz contants for maps. It should be overriden in classes implementing flows.
|
inline |
value of a map for a point iv
|
inline |
value and derivative of a map in a point iv
|
inline |
|
inline |
it computes image of the set (in give representation) using set.move function
|
inline |
derivative of a map in a point iv
|
inline |
value of a map for a point iv
|
pure virtualinherited |
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 >, capd::dynsys::OdeSolver< MapT, capd::dynsys::ILastTermsStepControl, HighOrderEnclosure, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >, and capd::dynsys::CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT >.
|
inline |
because we have explicit formula for a map not only numerical method the remainder term is equal to zero
|
pure virtualinherited |
Computes and returns bound for local error of a function (for instance if Phi is finite Taylor series of a map then this method computes bound for Lagrange remainder). If DynSys is an ODE, then out_enc contains enclosure of trajectories over the time step. If the function cannot validate existence of solutions to ODE over the time step, out_enc might be in an inconsistent state.
Implemented in capd::dynsys::OdeSolver< MapT, StepControlPolicyT, EnclosurePolicy, CurveT >, capd::dynsys::OdeSolver< typename MapT::MapType >, capd::dynsys::OdeSolver< MapT, capd::dynsys::ILastTermsStepControl, HighOrderEnclosure, capd::diffAlgebra::C2Curve< capd::diffAlgebra::BasicC2Curve< typename MapT::MatrixType > > >, and capd::dynsys::CnOdeSolver< MapT, StepControlT, EnclosurePolicyT, CurveT >.
|
inlinevirtual |
returns name of the class (for backward compatibility)
|
protected |