CAPD DynSys Library
5.2.0
|
Sample implementation of FadMap. This class implements the vector field for the Lorenz system. Template parameters are: Scalar: double, interval, MpFloat, MpInterval, etc. D: in this case either 3 or 0. If D=3 then vectors and matrices are allocated on stack and the computations are much faster but we must know they dimension at compile time. This forces separate compilation of all the classes like vectors and matrices for this particular dimension. D=0 means that vectors and matrices are allocated on the storage and they can be of arbitrary dimension specified at runtime. More...
#include <capd/dynsys/FadMap.h>
Public Types | |
typedef capd::dynsys::FadMap< Scalar, D >::HessianType | HessianType |
typedef capd::dynsys::FadMap< Scalar, D >::MatrixType | MatrixType |
typedef capd::dynsys::FadMap< Scalar, D >::VectorType | VectorType |
typedef FadFunction< VectorType > | FunctionType |
typedef Scalar | ScalarType |
Public Member Functions | |
LorenzFadMap () | |
LorenzFadMap (Scalar _s, Scalar _r, Scalar _q) | |
template<typename AVector > | |
AVector | operator() (const AVector &in) const |
This operator computes vector field of the Lorenz system. More... | |
template<typename TimeT , typename AVector > | |
AVector | operator() (const TimeT &, const AVector &in) const |
This operator computes vector field of the Lorenz system. The system is autonomous, but the operator must have two arguments in order to fit requested signature. More... | |
MatrixType | derivative (const Scalar &t, const VectorType &u) const |
This operator should compute derivative of the vector field. One can specify own implementation or use in the implementation a template function computeDerivative from file differentiate.h (as in the example of the Lorenz system below) which performs FAD to compute derivative of a map. More... | |
VectorType | operator() (Scalar t, const VectorType &x, MatrixType &o_der) const |
computes simultaneously value and derivative of the map for a given vector and time More... | |
MatrixType | operator[] (const VectorType &u) const |
For backward compatibility. It computes derivative of the vector field for an autonomous vector field. More... | |
void | setParameter (int i, Scalar value) |
unsigned | dimension () const |
template<typename Description > | |
void | setParameter (Description, Scalar) |
This function should set parameter value of the vector field as a Description we may use integers or strings, etc. More... | |
unsigned | dimension () |
You must implement this method. It must return the dimension of the phase space. More... | |
unsigned | degree () |
Maximal order of spacial derivatives that this map can compute. More... | |
Public Attributes | |
std::vector< Scalar > | parameters |
Sample implementation of FadMap. This class implements the vector field for the Lorenz system. Template parameters are: Scalar: double, interval, MpFloat, MpInterval, etc. D: in this case either 3 or 0. If D=3 then vectors and matrices are allocated on stack and the computations are much faster but we must know they dimension at compile time. This forces separate compilation of all the classes like vectors and matrices for this particular dimension. D=0 means that vectors and matrices are allocated on the storage and they can be of arbitrary dimension specified at runtime.
typedef FadFunction<VectorType> capd::dynsys::LorenzFadMap< Scalar, D >::FunctionType |
typedef capd::dynsys::FadMap<Scalar,D>::HessianType capd::dynsys::LorenzFadMap< Scalar, D >::HessianType |
typedef capd::dynsys::FadMap<Scalar,D>::MatrixType capd::dynsys::LorenzFadMap< Scalar, D >::MatrixType |
|
inherited |
typedef capd::dynsys::FadMap<Scalar,D>::VectorType capd::dynsys::LorenzFadMap< Scalar, D >::VectorType |
|
inline |
|
inline |
|
inlineinherited |
Maximal order of spacial derivatives that this map can compute.
|
inlinevirtual |
This operator should compute derivative of the vector field. One can specify own implementation or use in the implementation a template function computeDerivative from file differentiate.h (as in the example of the Lorenz system below) which performs FAD to compute derivative of a map.
Implements capd::dynsys::FadMap< Scalar, D >.
|
inlineinherited |
You must implement this method. It must return the dimension of the phase space.
|
inline |
|
inline |
This operator computes vector field of the Lorenz system.
|
inline |
This operator computes vector field of the Lorenz system. The system is autonomous, but the operator must have two arguments in order to fit requested signature.
|
inlinevirtual |
computes simultaneously value and derivative of the map for a given vector and time
Implements capd::dynsys::FadMap< Scalar, D >.
|
inlinevirtual |
For backward compatibility. It computes derivative of the vector field for an autonomous vector field.
Implements capd::dynsys::FadMap< Scalar, D >.
|
inlineinherited |
This function should set parameter value of the vector field as a Description we may use integers or strings, etc.
|
inline |
std::vector<Scalar> capd::dynsys::LorenzFadMap< Scalar, D >::parameters |