aligator  0.6.1
A primal-dual augmented Lagrangian-type solver for nonlinear trajectory optimization.
Loading...
Searching...
No Matches
quad-residual-cost.hpp
Go to the documentation of this file.
1
3#pragma once
4
6
7namespace aligator {
8
16template <typename _Scalar>
18 using Scalar = _Scalar;
20 using Base = CostAbstractTpl<Scalar>;
21 using CostData = CostDataAbstractTpl<Scalar>;
22 using Data = CompositeCostDataTpl<Scalar>;
23 using StageFunction = StageFunctionTpl<Scalar>;
24 using Manifold = ManifoldAbstractTpl<Scalar>;
25
26 MatrixXs weights_;
27 shared_ptr<StageFunction> residual_;
28 bool gauss_newton = true;
29
30 QuadraticResidualCostTpl(shared_ptr<Manifold> space,
31 shared_ptr<StageFunction> function,
32 const ConstMatrixRef &weights);
33
34 void evaluate(const ConstVectorRef &x, const ConstVectorRef &u,
35 CostData &data_) const;
36
37 void computeGradients(const ConstVectorRef &x, const ConstVectorRef &u,
38 CostData &data_) const;
39
40 void computeHessians(const ConstVectorRef &x, const ConstVectorRef &u,
41 CostData &data_) const;
42
43 shared_ptr<CostData> createData() const {
44 return std::make_shared<Data>(this->ndx(), this->nu,
45 residual_->createData());
46 }
47};
48
49extern template struct QuadraticResidualCostTpl<context::Scalar>;
50
51} // namespace aligator
52
53#include "./quad-residual-cost.hxx"
Main package namespace.
Stage costs for control problems.
int nu
Control dimension.
shared_ptr< Manifold > space
State dimension.
Quadratic composite of an underlying function.
void evaluate(const ConstVectorRef &x, const ConstVectorRef &u, CostData &data_) const
Evaluate the cost function.
ManifoldAbstractTpl< Scalar > Manifold
QuadraticResidualCostTpl(shared_ptr< Manifold > space, shared_ptr< StageFunction > function, const ConstMatrixRef &weights)
void computeGradients(const ConstVectorRef &x, const ConstVectorRef &u, CostData &data_) const
Compute the cost gradients .
shared_ptr< CostData > createData() const
shared_ptr< StageFunction > residual_
void computeHessians(const ConstVectorRef &x, const ConstVectorRef &u, CostData &data_) const
Compute the cost Hessians .
CompositeCostDataTpl< Scalar > Data