aligator  0.16.0
A versatile and efficient C++ library for real-time constrained trajectory optimization.
Loading...
Searching...
No Matches
aligator::autodiff::CostFiniteDifferenceHelper< Scalar > Struct Template Reference

#include <aligator/modelling/autodiff/cost-finite-difference.hpp>

Inheritance diagram for aligator::autodiff::CostFiniteDifferenceHelper< Scalar >:
[legend]
Collaboration diagram for aligator::autodiff::CostFiniteDifferenceHelper< Scalar >:
[legend]

Classes

struct  Data

Public Types

using Manifold = ManifoldAbstractTpl<Scalar>
using CostBase = CostAbstractTpl<Scalar>
using CostData = CostDataAbstractTpl<Scalar>
Public Types inherited from aligator::CostAbstractTpl< Scalar >
using Scalar
using CostData
using Manifold
using Scalar
using CostData
using Manifold

Public Member Functions

 ALIGATOR_DYNAMIC_TYPEDEFS (Scalar)
 CostFiniteDifferenceHelper (xyz::polymorphic< CostBase > cost, const Scalar fd_eps)
void evaluate (const ConstVectorRef &x, const ConstVectorRef &u, CostData &data_) const override
 Evaluate the cost function.
void computeGradients (const ConstVectorRef &x, const ConstVectorRef &u, CostData &data_) const override
 Compute the cost gradients \((\ell_x, \ell_u)\).
void computeHessians (const ConstVectorRef &, const ConstVectorRef &, CostData &) const override
 Compute the cost Hessians \((\ell_{ij})_{i,j \in \{x,u\}}\).
auto createData () const -> shared_ptr< CostData > override
Public Member Functions inherited from aligator::CostAbstractTpl< Scalar >
 ALIGATOR_DYNAMIC_TYPEDEFS (Scalar)
int nx () const
int ndx () const
 CostAbstractTpl (U &&space, const int nu)
virtual ~CostAbstractTpl ()=default
 ALIGATOR_DYNAMIC_TYPEDEFS (Scalar)
int nx () const
int ndx () const
 CostAbstractTpl (U &&space, const int nu)
virtual ~CostAbstractTpl ()=default

Public Attributes

xyz::polymorphic< CostBasecost_
Scalar fd_eps
xyz::polymorphic< Manifoldspace
 State dimension.
Public Attributes inherited from aligator::CostAbstractTpl< Scalar >
xyz::polymorphic< Manifoldspace
 State dimension.
int nu
 Control dimension.
xyz::polymorphic< Manifoldspace
 State dimension.
int nu
 Control dimension.

Detailed Description

template<typename Scalar>
struct aligator::autodiff::CostFiniteDifferenceHelper< Scalar >

Definition at line 9 of file cost-finite-difference.hpp.

Member Typedef Documentation

◆ Manifold

◆ CostBase

Definition at line 11 of file cost-finite-difference.hpp.

◆ CostData

Constructor & Destructor Documentation

◆ CostFiniteDifferenceHelper()

template<typename Scalar>
aligator::autodiff::CostFiniteDifferenceHelper< Scalar >::CostFiniteDifferenceHelper(xyz::polymorphic< CostBase >cost,
const Scalarfd_eps )

Member Function Documentation

◆ ALIGATOR_DYNAMIC_TYPEDEFS()

template<typename Scalar>
aligator::autodiff::CostFiniteDifferenceHelper< Scalar >::ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)

◆ evaluate()

template<typename Scalar>
void aligator::autodiff::CostFiniteDifferenceHelper< Scalar >::evaluate(const ConstVectorRef &x,
const ConstVectorRef &u,
CostData &data ) const
overridevirtual

Evaluate the cost function.

Reimplemented from aligator::CostAbstractTpl< Scalar >.

◆ computeGradients()

template<typename Scalar>
void aligator::autodiff::CostFiniteDifferenceHelper< Scalar >::computeGradients(const ConstVectorRef &x,
const ConstVectorRef &u,
CostData &data ) const
overridevirtual

Compute the cost gradients \((\ell_x, \ell_u)\).

Reimplemented from aligator::CostAbstractTpl< Scalar >.

◆ computeHessians()

template<typename Scalar>
void aligator::autodiff::CostFiniteDifferenceHelper< Scalar >::computeHessians(const ConstVectorRef &,
const ConstVectorRef &,
CostData & ) const
inlineoverridevirtual

Compute the cost Hessians \((\ell_{ij})_{i,j \in \{x,u\}}\).

Reimplemented from aligator::CostAbstractTpl< Scalar >.

Definition at line 30 of file cost-finite-difference.hpp.

◆ createData()

template<typename Scalar>
auto aligator::autodiff::CostFiniteDifferenceHelper< Scalar >::createData()const -> shared_ptr< CostData >
overridevirtual

Member Data Documentation

◆ cost_

template<typename Scalar>
xyz::polymorphic<CostBase> aligator::autodiff::CostFiniteDifferenceHelper< Scalar >::cost_

Definition at line 35 of file cost-finite-difference.hpp.

◆ fd_eps

◆ space

template<typename Scalar>
xyz::polymorphic<Manifold> aligator::CostAbstractTpl< Scalar >::space

State dimension.

Definition at line 20 of file cost-abstract.hpp.


The documentation for this struct was generated from the following file: