8#include <proxsuite-nlp/manifold-base.hpp>
23 using Data = ContinuousDynamicsDataTpl<Scalar>;
31 inline int nu()
const {
return nu_; }
45 virtual void evaluate(
const ConstVectorRef &x,
const ConstVectorRef &u,
46 const ConstVectorRef &xdot,
Data &data)
const = 0;
54 const ConstVectorRef &u,
55 const ConstVectorRef &xdot,
56 Data &data)
const = 0;
64 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
88#include "aligator/modelling/dynamics/continuous-dynamics-abstract.hxx"
90#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
91#include "aligator/modelling/dynamics/continuous-dynamics-abstract.txx"
Continuous dynamics described by differential-algebraic equations (DAEs) .
ManifoldAbstractTpl< Scalar > Manifold
virtual ~ContinuousDynamicsAbstractTpl()=default
const int nu_
Control space dimension.
ContinuousDynamicsAbstractTpl(ManifoldPtr space, const int nu)
virtual shared_ptr< Data > createData() const
Create a data holder instance.
const Manifold & space() const
Return a reference to the state space.
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
shared_ptr< Manifold > ManifoldPtr
virtual void computeJacobians(const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xdot, Data &data) const =0
Differentiate the vector field.
ManifoldPtr space_
State space.
virtual void evaluate(const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xdot, Data &data) const =0
Evaluate the vector field at a point .
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
VectorXs value_
Residual value .
MatrixXs Jxdot_
Derivative .
VectorXs xdot_
Time derivative , output of ODE model.
virtual ~ContinuousDynamicsDataTpl()=default
ContinuousDynamicsDataTpl(const int ndx, const int nu)