13 using Data = CompositeCostDataTpl<Scalar>;
15 using Base = CostAbstractTpl<Scalar>;
22 shared_ptr<StageFunction> function,
23 const ConstVectorRef &scale);
26 shared_ptr<StageFunction> function,
const Scalar scale);
28 void evaluate(
const ConstVectorRef &x,
const ConstVectorRef &u,
38 return std::make_shared<Data>(this->
ndx(), this->
nu,
39 residual_->createData());
43extern template struct LogResidualCostTpl<context::Scalar>;
47#include "./log-residual-cost.hxx"
Stage costs for control problems.
shared_ptr< Manifold > space
State dimension.
Log-barrier of an underlying cost function.
shared_ptr< StageFunction > residual_
ALIGATOR_DYNAMIC_TYPEDEFS(Scalar)
shared_ptr< CostDataAbstract > createData() const
VectorXs barrier_weights_
LogResidualCostTpl(shared_ptr< Manifold > space, shared_ptr< StageFunction > function, const Scalar scale)
CompositeCostDataTpl< Scalar > Data
LogResidualCostTpl(shared_ptr< Manifold > space, shared_ptr< StageFunction > function, const ConstVectorRef &scale)
ManifoldAbstractTpl< Scalar > Manifold
void evaluate(const ConstVectorRef &x, const ConstVectorRef &u, CostDataAbstract &data) const
Evaluate the cost function.
void computeHessians(const ConstVectorRef &, const ConstVectorRef &, CostDataAbstract &data) const
Compute the cost Hessians .
void computeGradients(const ConstVectorRef &x, const ConstVectorRef &u, CostDataAbstract &data) const
Compute the cost gradients .