CAPD::DynSys Library
6.0.0
|
#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 VectorFieldType & | getVectorField () const |
Returns vector field. More... | |
VectorFieldType & | getVectorField () |
size_type | dimension () const |
const SolutionCurve & | getCurve () |
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 ScalarType & | getCurrentTime () 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 VectorFieldType & | getVectorField () 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 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 |
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 ScalarType & | getCurrentTime () 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 | |
VectorFieldType * | m_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... | |
typedef BasicOdeSolver<MapT, StepControlT, CurveT> capd::dynsys::BasicC2OdeSolver< MapT, StepControlT, CurveT >::BaseTaylor |
|
inherited |
typedef MapT::FunctionType capd::dynsys::BasicC2OdeSolver< MapT, StepControlT, CurveT >::FunctionType |
typedef VectorFieldType::HessianType capd::dynsys::BasicC2OdeSolver< MapT, StepControlT, CurveT >::HessianType |
|
inherited |
typedef VectorFieldType::MatrixType capd::dynsys::BasicC2OdeSolver< MapT, StepControlT, CurveT >::MatrixType |
|
inherited |
|
inherited |
|
inherited |
typedef MatrixType::ScalarType capd::dynsys::BasicC2OdeSolver< MapT, StepControlT, CurveT >::ScalarType |
typedef MatrixType::size_type capd::dynsys::BasicC2OdeSolver< MapT, StepControlT, CurveT >::size_type |
typedef CurveT capd::dynsys::BasicC2OdeSolver< MapT, StepControlT, CurveT >::SolutionCurve |
typedef StepControlT capd::dynsys::BasicC2OdeSolver< MapT, StepControlT, CurveT >::StepControlType |
typedef MapT capd::dynsys::BasicC2OdeSolver< MapT, StepControlT, CurveT >::VectorFieldType |
typedef MatrixType::RowVectorType capd::dynsys::BasicC2OdeSolver< MapT, StepControlT, CurveT >::VectorType |
|
inlineprotected |
|
inlineinherited |
Adds new multiindex (along with dependencies) to the existing mask.
mi | multiindex to be added to the mask |
|
inlineinherited |
sets time step but does not change step control settings (compare setStep)
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineinherited |
|
inlineprotectedinherited |
|
virtualinherited |
|
inline |
|
inlineinherited |
|
inlineinherited |
|
inlinevirtualinherited |
|
inlineinherited |
|
virtualinherited |
|
inline |
|
inlineprotectedinherited |
const BasicOdeSolver< MapType, StepControlType, CurveT >::SolutionCurve & capd::dynsys::BasicOdeSolver< MapType, StepControlType, CurveT >::getCurve |
|
inlinestaticinherited |
|
inlinevirtualinherited |
|
inlineprotected |
|
inlineprotectedinherited |
|
inlineprotected |
|
inlineprotectedinherited |
|
inlineprotected |
|
inlineinherited |
|
inlineinherited |
|
inlinevirtualinherited |
|
inline |
Returns the time step made in the last call to this solver.
|
inlineinherited |
Returns the time step made in the last call to this solver.
|
inlineinherited |
|
inline |
|
inline |
Returns vector field.
|
inlineinherited |
Returns vector field.
|
inlineinherited |
|
inlinevirtualinherited |
|
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 C2JetMove is used meaning that this solver can integrate C^0, C^1 and C^2 jets only.
|
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.
|
inlineinherited |
Computes image of vector v after one time step. The argument t is updated in this procedure.
|
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.
|
inherited |
Computes image of vector v after one time step.
|
inherited |
Computes image of vector v and derivatives of a flow with respect to init condition (v, derivative)
|
inherited |
Computes image of vector v and derivatives of the flow with respect to init condition (v,identity). Version for autonomous systems.
|
inlineprotected |
|
inlinevirtualinherited |
|
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.
|
inlineinherited |
|
inline |
|
inlineprotectedinherited |
|
inlinevirtualinherited |
|
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.
[b,e) | iterator range which contains collection of multiindices |
|
inlineinherited |
void capd::dynsys::BasicOdeSolver< MapType, StepControlType, CurveT >::setOrder |
Sets the order of the Taylor method.
|
inherited |
Sets the order of the Taylor method.
|
inlineinherited |
|
inline |
Sets fixed time step and turns off step control.
|
inlineinherited |
Sets fixed time step and turns off step control.
|
inlineinherited |
|
protectedinherited |
|
inlineprotectedinherited |
|
inherited |
|
inlineinherited |
|
inlineinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
|
protectedinherited |
domain
|
protected |
|
protectedinherited |
|
protected |
we do not allow copying of objects