aligator  0.6.1
A primal-dual augmented Lagrangian-type solver for nonlinear trajectory optimization.
Loading...
Searching...
No Matches
aligator::QuadraticCostTpl< _Scalar > Struct Template Reference

Euclidean quadratic cost. More...

#include <aligator/modelling/costs/quad-costs.hpp>

Inheritance diagram for aligator::QuadraticCostTpl< _Scalar >:
[legend]
Collaboration diagram for aligator::QuadraticCostTpl< _Scalar >:
[legend]

Public Types

using Scalar = _Scalar
 
using Base = CostAbstractTpl<Scalar>
 
using CostData = CostDataAbstractTpl<Scalar>
 
using Data = QuadraticCostDataTpl<Scalar>
 
using VectorSpace = proxsuite::nlp::VectorSpaceTpl<Scalar, Eigen::Dynamic>
 
- Public Types inherited from aligator::CostAbstractTpl< _Scalar >
using Scalar = _Scalar
 
using CostData = CostDataAbstractTpl<Scalar>
 
using Manifold = ManifoldAbstractTpl<Scalar>
 

Public Member Functions

 ALIGATOR_DYNAMIC_TYPEDEFS (Scalar)
 
 QuadraticCostTpl (const ConstMatrixRef &w_x, const ConstMatrixRef &w_u, const ConstVectorRef &interp_x, const ConstVectorRef &interp_u)
 
 QuadraticCostTpl (const ConstMatrixRef &w_x, const ConstMatrixRef &w_u, const ConstMatrixRef &w_cross, const ConstVectorRef &interp_x, const ConstVectorRef &interp_u)
 
 QuadraticCostTpl (const ConstMatrixRef &w_x, const ConstMatrixRef &w_u)
 
 QuadraticCostTpl (const ConstMatrixRef &w_x, const ConstMatrixRef &w_u, const ConstMatrixRef &w_cross)
 
void evaluate (const ConstVectorRef &x, const ConstVectorRef &u, CostData &data) const
 Evaluate the cost function.
 
void computeGradients (const ConstVectorRef &, const ConstVectorRef &, CostData &data) const
 Compute the cost gradients \((\ell_x, \ell_u)\).
 
void computeHessians (const ConstVectorRef &, const ConstVectorRef &, CostData &) const
 Compute the cost Hessians \((\ell_{ij})_{i,j \in \{x,u\}}\).
 
shared_ptr< CostDatacreateData () const
 
ConstMatrixRef getCrossWeights () const
 
void setCrossWeight (const ConstMatrixRef &w)
 
bool hasCrossTerm () const
 Whether a cross term exists.
 
- Public Member Functions inherited from aligator::CostAbstractTpl< _Scalar >
 ALIGATOR_DYNAMIC_TYPEDEFS (Scalar)
 
int nx () const
 
int ndx () const
 
 CostAbstractTpl (shared_ptr< Manifold > space, const int nu)
 
virtual ~CostAbstractTpl ()=default
 

Static Public Member Functions

static auto get_vector_space (Eigen::Index nx)
 

Public Attributes

MatrixXs Wxx_
 Weight \( Q \).
 
MatrixXs Wuu_
 Weight \( R \).
 
VectorXs interp_x
 Affine term in \( x\).
 
VectorXs interp_u
 Affine term in \( u\).
 
- Public Attributes inherited from aligator::CostAbstractTpl< _Scalar >
shared_ptr< Manifoldspace
 State dimension.
 
int nu
 Control dimension.
 

Protected Attributes

MatrixXs Wxu_
 Weight N for term \( x^\top N u \).
 
bool has_cross_term_
 Whether a cross term exists.
 

Detailed Description

template<typename _Scalar>
struct aligator::QuadraticCostTpl< _Scalar >

Euclidean quadratic cost.

Definition at line 11 of file quad-costs.hpp.

Member Typedef Documentation

◆ Scalar

template<typename _Scalar >
using aligator::QuadraticCostTpl< _Scalar >::Scalar = _Scalar

Definition at line 13 of file quad-costs.hpp.

◆ Base

template<typename _Scalar >
using aligator::QuadraticCostTpl< _Scalar >::Base = CostAbstractTpl<Scalar>

Definition at line 15 of file quad-costs.hpp.

◆ CostData

template<typename _Scalar >
using aligator::QuadraticCostTpl< _Scalar >::CostData = CostDataAbstractTpl<Scalar>

Definition at line 16 of file quad-costs.hpp.

◆ Data

template<typename _Scalar >
using aligator::QuadraticCostTpl< _Scalar >::Data = QuadraticCostDataTpl<Scalar>

Definition at line 18 of file quad-costs.hpp.

◆ VectorSpace

template<typename _Scalar >
using aligator::QuadraticCostTpl< _Scalar >::VectorSpace = proxsuite::nlp::VectorSpaceTpl<Scalar, Eigen::Dynamic>

Definition at line 19 of file quad-costs.hpp.

Constructor & Destructor Documentation

◆ QuadraticCostTpl() [1/4]

template<typename _Scalar >
aligator::QuadraticCostTpl< _Scalar >::QuadraticCostTpl ( const ConstMatrixRef & w_x,
const ConstMatrixRef & w_u,
const ConstVectorRef & interp_x,
const ConstVectorRef & interp_u )
inline

Definition at line 40 of file quad-costs.hpp.

◆ QuadraticCostTpl() [2/4]

template<typename _Scalar >
aligator::QuadraticCostTpl< _Scalar >::QuadraticCostTpl ( const ConstMatrixRef & w_x,
const ConstMatrixRef & w_u,
const ConstMatrixRef & w_cross,
const ConstVectorRef & interp_x,
const ConstVectorRef & interp_u )
inline

Definition at line 50 of file quad-costs.hpp.

◆ QuadraticCostTpl() [3/4]

template<typename _Scalar >
aligator::QuadraticCostTpl< _Scalar >::QuadraticCostTpl ( const ConstMatrixRef & w_x,
const ConstMatrixRef & w_u )
inline

Definition at line 60 of file quad-costs.hpp.

◆ QuadraticCostTpl() [4/4]

template<typename _Scalar >
aligator::QuadraticCostTpl< _Scalar >::QuadraticCostTpl ( const ConstMatrixRef & w_x,
const ConstMatrixRef & w_u,
const ConstMatrixRef & w_cross )
inline

Definition at line 64 of file quad-costs.hpp.

Member Function Documentation

◆ ALIGATOR_DYNAMIC_TYPEDEFS()

template<typename _Scalar >
aligator::QuadraticCostTpl< _Scalar >::ALIGATOR_DYNAMIC_TYPEDEFS ( Scalar )

◆ get_vector_space()

template<typename _Scalar >
static auto aligator::QuadraticCostTpl< _Scalar >::get_vector_space ( Eigen::Index nx)
inlinestatic

Definition at line 36 of file quad-costs.hpp.

◆ evaluate()

template<typename _Scalar >
void aligator::QuadraticCostTpl< _Scalar >::evaluate ( const ConstVectorRef & x,
const ConstVectorRef & u,
CostData & data ) const
inlinevirtual

Evaluate the cost function.

Implements aligator::CostAbstractTpl< _Scalar >.

Definition at line 69 of file quad-costs.hpp.

◆ computeGradients()

template<typename _Scalar >
void aligator::QuadraticCostTpl< _Scalar >::computeGradients ( const ConstVectorRef & x,
const ConstVectorRef & u,
CostData & data ) const
inlinevirtual

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

Implements aligator::CostAbstractTpl< _Scalar >.

Definition at line 85 of file quad-costs.hpp.

◆ computeHessians()

template<typename _Scalar >
void aligator::QuadraticCostTpl< _Scalar >::computeHessians ( const ConstVectorRef & x,
const ConstVectorRef & u,
CostData & data ) const
inlinevirtual

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

Implements aligator::CostAbstractTpl< _Scalar >.

Definition at line 92 of file quad-costs.hpp.

◆ createData()

template<typename _Scalar >
shared_ptr< CostData > aligator::QuadraticCostTpl< _Scalar >::createData ( ) const
inlinevirtual

Reimplemented from aligator::CostAbstractTpl< _Scalar >.

Definition at line 95 of file quad-costs.hpp.

◆ getCrossWeights()

template<typename _Scalar >
ConstMatrixRef aligator::QuadraticCostTpl< _Scalar >::getCrossWeights ( ) const
inline

Definition at line 104 of file quad-costs.hpp.

◆ setCrossWeight()

template<typename _Scalar >
void aligator::QuadraticCostTpl< _Scalar >::setCrossWeight ( const ConstMatrixRef & w)
inline

Definition at line 105 of file quad-costs.hpp.

◆ hasCrossTerm()

template<typename _Scalar >
bool aligator::QuadraticCostTpl< _Scalar >::hasCrossTerm ( ) const
inline

Whether a cross term exists.

Definition at line 112 of file quad-costs.hpp.

Member Data Documentation

◆ Wxx_

template<typename _Scalar >
MatrixXs aligator::QuadraticCostTpl< _Scalar >::Wxx_

Weight \( Q \).

Definition at line 22 of file quad-costs.hpp.

◆ Wuu_

template<typename _Scalar >
MatrixXs aligator::QuadraticCostTpl< _Scalar >::Wuu_

Weight \( R \).

Definition at line 24 of file quad-costs.hpp.

◆ Wxu_

template<typename _Scalar >
MatrixXs aligator::QuadraticCostTpl< _Scalar >::Wxu_
protected

Weight N for term \( x^\top N u \).

Definition at line 28 of file quad-costs.hpp.

◆ interp_x

template<typename _Scalar >
VectorXs aligator::QuadraticCostTpl< _Scalar >::interp_x

Affine term in \( x\).

Definition at line 32 of file quad-costs.hpp.

◆ interp_u

template<typename _Scalar >
VectorXs aligator::QuadraticCostTpl< _Scalar >::interp_u

Affine term in \( u\).

Definition at line 34 of file quad-costs.hpp.

◆ has_cross_term_

template<typename _Scalar >
bool aligator::QuadraticCostTpl< _Scalar >::has_cross_term_
protected

Whether a cross term exists.

Definition at line 116 of file quad-costs.hpp.


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