aligator  0.6.1
A primal-dual augmented Lagrangian-type solver for nonlinear trajectory optimization.
Loading...
Searching...
No Matches
ode-abstract.hpp
Go to the documentation of this file.
1#pragma once
5
7
8namespace aligator {
9namespace dynamics {
14template <typename _Scalar>
16 using Scalar = _Scalar;
18
19 using Base = ContinuousDynamicsAbstractTpl<Scalar>;
20 using Data = ODEDataTpl<Scalar>;
21 using Base::Base;
22 using Base::nu_;
23 using Base::space_;
24
25 virtual ~ODEAbstractTpl() = default;
26
28 virtual void forward(const ConstVectorRef &x, const ConstVectorRef &u,
29 Data &data) const = 0;
30
32 virtual void dForward(const ConstVectorRef &x, const ConstVectorRef &u,
33 Data &data) const = 0;
34
37 void evaluate(const ConstVectorRef &x, const ConstVectorRef &u,
38 const ConstVectorRef &xdot, Data &data) const override;
39
40 void computeJacobians(const ConstVectorRef &x, const ConstVectorRef &u,
41 const ConstVectorRef &xdot, Data &data) const override;
42};
43
44} // namespace dynamics
45} // namespace aligator
46
47#include "aligator/modelling/dynamics/ode-abstract.hxx"
48
49#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
50#include "aligator/modelling/dynamics/ode-abstract.txx"
51#endif
Base definitions for continuous dynamics.
Main package namespace.
Continuous dynamics described by differential-algebraic equations (DAEs) .
Base class for ODE dynamics .
virtual void forward(const ConstVectorRef &x, const ConstVectorRef &u, Data &data) const =0
Evaluate the ODE vector field: this returns the value of .
virtual void dForward(const ConstVectorRef &x, const ConstVectorRef &u, Data &data) const =0
Evaluate the vector field Jacobians.
void evaluate(const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xdot, Data &data) const override
void computeJacobians(const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &xdot, Data &data) const override