CAPD::DynSys Library
6.0.0
|
#include <capd/dynsys/BasicCnOdeSolver.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 VectorFieldType::JetType | JetType |
typedef CurveT | SolutionCurve |
typedef JetType::Multipointer | Multipointer |
typedef JetType::Multiindex | Multiindex |
typedef MatrixType::size_type | size_type |
typedef TypeTraits< ScalarType >::Real | Real |
typedef __difference_type | difference_type |
Public Member Functions | |
BasicCnOdeSolver (VectorFieldType &a_vectorField, size_type a_order, const StepControlT &stepControl=StepControlT()) | |
virtual | ~BasicCnOdeSolver () |
VectorType | operator() (VectorType) |
Computes image of vector v after one time step. More... | |
VectorType | operator() (ScalarType &t, const VectorType &) |
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 CnJetMove is used meaning that this solver can integrate any type of jets. More... | |
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... | |
VectorType | operator() (ScalarType &t, JetType &) |
Initial conditions for the trajectory and for variational equations up to given degree are given in argument in_out_coeffs. The full result is stored in in_out_coeffs and also the new point on the trajectory is returned. Note: CnCoeffType is a data structure that stores current time. 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 VectorFieldType & | getVectorField () const |
Returns vector field. More... | |
VectorFieldType & | getVectorField () |
void | setOrder (size_type order) |
Sets the order of the Taylor method. More... | |
ScalarType | getStep () const |
Returns current time step. More... | |
void | setStep (const ScalarType &newStep) |
Sets time step and turns off step control. More... | |
const SolutionCurve & | getCurve () |
size_type | degree () const |
ScalarType | getCoeffNorm (size_type i, size_type degree) const |
VectorType | enclosure (const ScalarType &, const VectorType &) |
TODO. More... | |
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 capd::vectalg::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 StepControlType & | getStepControl () 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 |
JetType | jet (const ScalarType &h) const |
void | eval (ScalarType h, JetType &v) const |
VectorType | timeDerivative (const ScalarType &h) const |
VectorType | operator() (const ScalarType &h) const |
MatrixType | derivative (const ScalarType &h) const |
MatrixType | operator[] (const ScalarType &h) 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 ScalarType & | getCurrentTime () const |
const bool * | getMask () const |
bool | getMask (size_type j) const |
bool | getMask (size_type j, size_type c) const |
void | operator= (const BasicCnOdeSolver &) |
BasicCnOdeSolver (const BasicCnOdeSolver &s) | |
void | setInitialCondition (const JetType &coeff) |
void | setInitialCondition (const VectorType &v, const MatrixType &D) |
void | setInitialCondition (const VectorType &v, const MatrixType &D, const HessianType &H) |
void | computeTimeStep (const VectorType &v) |
void | evalAndSum (VectorType &v) |
void | evalAndSum (VectorType &v, MatrixType &der) |
void | evalAndSum (VectorType &v, MatrixType &der, HessianType &hessian) |
void | evalAndSum (JetType &v) |
void | sum (VectorType &v) |
Protected Attributes | |
VectorFieldType * | m_vField |
MatrixType | m_defaultC1InitialCondition |
HessianType | m_defaultC2InitialCondition |
ScalarType | m_fixedTimeStep |
ScalarType | m_step |
Multiindex::IndicesSet | m_listIndices |
StepControlType | m_stepControl |
bool | m_onOffStepControl |
TolScalarType | m_absoluteTolerance |
TolScalarType | m_relativeTolerance |
MapT::ScalarType | m_maxStep |
Real | m_left |
Real | m_right |
domain More... | |
|
inherited |
typedef MapT::FunctionType capd::dynsys::BasicCnOdeSolver< MapT, StepControlT, CurveT >::FunctionType |
typedef VectorFieldType::HessianType capd::dynsys::BasicCnOdeSolver< MapT, StepControlT, CurveT >::HessianType |
typedef VectorFieldType::JetType capd::dynsys::BasicCnOdeSolver< MapT, StepControlT, CurveT >::JetType |
typedef VectorFieldType::MatrixType capd::dynsys::BasicCnOdeSolver< MapT, StepControlT, CurveT >::MatrixType |
typedef JetType::Multiindex capd::dynsys::BasicCnOdeSolver< MapT, StepControlT, CurveT >::Multiindex |
typedef JetType::Multipointer capd::dynsys::BasicCnOdeSolver< MapT, StepControlT, CurveT >::Multipointer |
|
inherited |
typedef MatrixType::ScalarType capd::dynsys::BasicCnOdeSolver< MapT, StepControlT, CurveT >::ScalarType |
typedef MatrixType::size_type capd::dynsys::BasicCnOdeSolver< MapT, StepControlT, CurveT >::size_type |
typedef CurveT capd::dynsys::BasicCnOdeSolver< MapT, StepControlT, CurveT >::SolutionCurve |
typedef StepControlT capd::dynsys::BasicCnOdeSolver< MapT, StepControlT, CurveT >::StepControlType |
typedef MapT capd::dynsys::BasicCnOdeSolver< MapT, StepControlT, CurveT >::VectorFieldType |
typedef MatrixType::RowVectorType capd::dynsys::BasicCnOdeSolver< MapT, StepControlT, CurveT >::VectorType |
|
inlineprotected |
|
inline |
Adds new multiindex (along with dependencies) to the existing mask.
mi | multiindex to be added to the mask |
|
virtualinherited |
|
inline |
TODO.
|
virtualinherited |
Reimplemented from capd::diffAlgebra::ParametricCurve< BaseCurveT::MatrixType >.
|
inlineinherited |
|
inlineprotected |
|
inlinestaticinherited |
|
inlinevirtualinherited |
|
inlineprotected |
|
inlineprotected |
|
inlineprotected |
|
inlineinherited |
|
inlineinherited |
|
inlinevirtualinherited |
|
inlineinherited |
|
virtualinherited |
Reimplemented from capd::diffAlgebra::ParametricCurve< BaseCurveT::MatrixType >.
|
inlineinherited |
|
virtualinherited |
Reimplemented from capd::diffAlgebra::ParametricCurve< BaseCurveT::MatrixType >.
|
inlineinherited |
|
virtualinherited |
|
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 CnJetMove is used meaning that this solver can integrate any type of jets.
|
inlineprotected |
|
inlinevirtualinherited |
|
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.
|
inlineinherited |
|
inlineprotected |
|
inlinevirtualinherited |
|
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.
[b,e) | iterator range which contains collection of multiindices |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inherited |
|
inlineinherited |
|
inlineinherited |
|
protectedinherited |
|
protected |
|
protected |
|
protected |
|
protectedinherited |
|
protected |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
domain
|
protected |
|
protectedinherited |
|
protected |