33 virtual void evaluate(
const ConstVectorRef &x,
const ConstVectorRef &u,
38 const ConstVectorRef &u,
CostData &data)
const;
45 return std::make_shared<CostData>(
ndx(),
nu);
51template <
typename Scalar>
53 const ConstVectorRef &,
58template <
typename Scalar>
60 const ConstVectorRef &,
65template <
typename Scalar>
67 const ConstVectorRef &,
99 ,
hess_(ndx + nu, ndx + nu)
105 ,
Luu_(
hess_.bottomRightCorner(nu, nu)) {
118#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
119#include "aligator/core/cost-abstract.txx"
#define ALIGATOR_RUNTIME_ERROR(...)
Stage costs for control problems.
xyz::polymorphic< Manifold > space
virtual shared_ptr< CostData > createData() const
virtual void evaluate(const ConstVectorRef &x, const ConstVectorRef &u, CostData &data) const
Evaluate the cost function.
CostAbstractTpl(U &&space, const int nu)
ManifoldAbstractTpl< Scalar > Manifold
CostDataAbstractTpl< Scalar > CostData
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
virtual void computeGradients(const ConstVectorRef &x, const ConstVectorRef &u, CostData &data) const
Compute the cost gradients .
virtual void computeHessians(const ConstVectorRef &x, const ConstVectorRef &u, CostData &data) const
Compute the cost Hessians .
virtual ~CostAbstractTpl()=default
Data struct for CostAbstractTpl.
CostDataAbstractTpl(const int ndx, const int nu)
CostDataAbstractTpl(const CostAbstractTpl< Scalar > &cost)
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
virtual ~CostDataAbstractTpl()=default
Base class for manifolds, to use in cost funcs, solvers...
CostAbstractTpl(U &&space, const int nu)