|
aligator
0.16.0
A versatile and efficient C++ library for real-time constrained trajectory optimization.
|
Approximate the derivatives of a given function using finite differences, to downcast the function to a StageFunctionTpl. More...
#include <aligator/modelling/autodiff/finite-difference.hpp>
Public Types | |
| using | Scalar = _Scalar |
| using | Impl = internal::finite_difference_impl<Scalar, StageFunctionTpl> |
| using | StageFunction = StageFunctionTpl<Scalar> |
| using | Manifold = ManifoldAbstractTpl<Scalar> |
| using | Data = typename Impl::Data |
| using | BaseData = StageFunctionDataTpl<Scalar> |
Public Types inherited from aligator::StageFunctionTpl< _Scalar > | |
| using | Scalar = _Scalar |
| using | Data = StageFunctionDataTpl<Scalar> |
Public Member Functions | |
| ALIGATOR_DYNAMIC_TYPEDEFS (_Scalar) | |
| FiniteDifferenceHelper (xyz::polymorphic< Manifold > space, xyz::polymorphic< StageFunction > func, const Scalar fd_eps) | |
| void | evaluate (const ConstVectorRef &x, const ConstVectorRef &u, BaseData &data) const |
| Evaluate the function. | |
| void | computeJacobians (const ConstVectorRef &x, const ConstVectorRef &u, BaseData &data) const |
| Compute Jacobians of this function. | |
| shared_ptr< BaseData > | createData () const |
| Instantiate a Data object. | |
Public Member Functions inherited from aligator::StageFunctionTpl< _Scalar > | |
| ALIGATOR_DYNAMIC_TYPEDEFS (Scalar) | |
| StageFunctionTpl (const int ndx, const int nu, const int nr) | |
| virtual void | computeVectorHessianProducts (const ConstVectorRef &x, const ConstVectorRef &u, const ConstVectorRef &lbda, Data &data) const |
| Compute the vector-hessian products of this function. | |
| virtual | ~StageFunctionTpl ()=default |
Additional Inherited Members | |
Public Attributes inherited from aligator::StageFunctionTpl< _Scalar > | |
| const int | ndx1 |
| Current state dimension. | |
| const int | nu |
| Control dimension. | |
| const int | nr |
| Function codimension. | |
Approximate the derivatives of a given function using finite differences, to downcast the function to a StageFunctionTpl.
Definition at line 206 of file finite-difference.hpp.
| using aligator::autodiff::FiniteDifferenceHelper< _Scalar >::Scalar = _Scalar |
Definition at line 207 of file finite-difference.hpp.
| using aligator::autodiff::FiniteDifferenceHelper< _Scalar >::Impl = internal::finite_difference_impl<Scalar, StageFunctionTpl> |
Definition at line 208 of file finite-difference.hpp.
| using aligator::autodiff::FiniteDifferenceHelper< _Scalar >::StageFunction = StageFunctionTpl<Scalar> |
Definition at line 210 of file finite-difference.hpp.
| using aligator::autodiff::FiniteDifferenceHelper< _Scalar >::Manifold = ManifoldAbstractTpl<Scalar> |
Definition at line 211 of file finite-difference.hpp.
| using aligator::autodiff::FiniteDifferenceHelper< _Scalar >::Data = typename Impl::Data |
Definition at line 212 of file finite-difference.hpp.
| using aligator::autodiff::FiniteDifferenceHelper< _Scalar >::BaseData = StageFunctionDataTpl<Scalar> |
Definition at line 213 of file finite-difference.hpp.
|
inline |
Definition at line 217 of file finite-difference.hpp.
| aligator::autodiff::FiniteDifferenceHelper< _Scalar >::ALIGATOR_DYNAMIC_TYPEDEFS | ( | _Scalar | ) |
|
inlinevirtual |
Evaluate the function.
| x | Current state. |
| u | Controls. |
| data | Data holding struct. |
Implements aligator::StageFunctionTpl< _Scalar >.
Definition at line 223 of file finite-difference.hpp.
|
inlinevirtual |
Compute Jacobians of this function.
This computes the Jacobians \( (\frac{\partial f}{\partial x}, \frac{\partial f}{\partial u}, \frac{\partial f}{\partial x'}) \)
| x | Current state. |
| u | Controls. |
| y | Next state. |
| data | Data holding struct. |
Implements aligator::StageFunctionTpl< _Scalar >.
Definition at line 228 of file finite-difference.hpp.
|
inlinevirtual |
Instantiate a Data object.
Reimplemented from aligator::StageFunctionTpl< _Scalar >.
Definition at line 233 of file finite-difference.hpp.