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

Proximal penalty cost. More...

#include <aligator/core/proximal-penalty.hpp>

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

Public Types

using Scalar = _Scalar
 
using ManifoldPtr = shared_ptr<ManifoldAbstractTpl<Scalar>>
 
using Base = CostAbstractTpl<Scalar>
 
using CostData = CostDataAbstractTpl<Scalar>
 
using Data = ProximalDataTpl<Scalar>
 
- 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)
 
 ProximalPenaltyTpl (const ManifoldPtr &xspace, const ManifoldPtr &uspace, const VectorXs &xt, const VectorXs &ut, const bool no_ctrl_term)
 
void evaluate (const ConstVectorRef &x, const ConstVectorRef &u, CostData &data) const
 Evaluate the cost function.
 
void computeGradients (const ConstVectorRef &x, const ConstVectorRef &u, CostData &data) const
 Compute the cost gradients \((\ell_x, \ell_u)\).
 
void computeHessians (const ConstVectorRef &, const ConstVectorRef &, CostData &data) const
 Compute the cost Hessians \((\ell_{ij})_{i,j \in \{x,u\}}\).
 
shared_ptr< CostDatacreateData () const
 
- 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
 

Public Attributes

const ManifoldPtr uspace_
 
const VectorXs & x_ref
 
const VectorXs u_ref
 
const bool no_ctrl_term
 
- Public Attributes inherited from aligator::CostAbstractTpl< _Scalar >
shared_ptr< Manifoldspace
 State dimension.
 
int nu
 Control dimension.
 

Detailed Description

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

Proximal penalty cost.

This cost holds const Eigen::Ref references to the proximal targets. This will be the proximal solver's previous iterates.

Definition at line 19 of file proximal-penalty.hpp.

Member Typedef Documentation

◆ Scalar

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

Definition at line 20 of file proximal-penalty.hpp.

◆ ManifoldPtr

template<typename _Scalar >
using aligator::ProximalPenaltyTpl< _Scalar >::ManifoldPtr = shared_ptr<ManifoldAbstractTpl<Scalar>>

Definition at line 23 of file proximal-penalty.hpp.

◆ Base

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

Definition at line 24 of file proximal-penalty.hpp.

◆ CostData

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

Definition at line 25 of file proximal-penalty.hpp.

◆ Data

template<typename _Scalar >
using aligator::ProximalPenaltyTpl< _Scalar >::Data = ProximalDataTpl<Scalar>

Definition at line 26 of file proximal-penalty.hpp.

Constructor & Destructor Documentation

◆ ProximalPenaltyTpl()

template<typename _Scalar >
aligator::ProximalPenaltyTpl< _Scalar >::ProximalPenaltyTpl ( const ManifoldPtr & xspace,
const ManifoldPtr & uspace,
const VectorXs & xt,
const VectorXs & ut,
const bool no_ctrl_term )
inline

Definition at line 34 of file proximal-penalty.hpp.

Member Function Documentation

◆ ALIGATOR_DYNAMIC_TYPEDEFS()

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

◆ evaluate()

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

Evaluate the cost function.

Implements aligator::CostAbstractTpl< _Scalar >.

Definition at line 40 of file proximal-penalty.hpp.

◆ computeGradients()

template<typename _Scalar >
void aligator::ProximalPenaltyTpl< _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 52 of file proximal-penalty.hpp.

◆ computeHessians()

template<typename _Scalar >
void aligator::ProximalPenaltyTpl< _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 63 of file proximal-penalty.hpp.

◆ createData()

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

Reimplemented from aligator::CostAbstractTpl< _Scalar >.

Definition at line 72 of file proximal-penalty.hpp.

Member Data Documentation

◆ uspace_

template<typename _Scalar >
const ManifoldPtr aligator::ProximalPenaltyTpl< _Scalar >::uspace_

Definition at line 28 of file proximal-penalty.hpp.

◆ x_ref

template<typename _Scalar >
const VectorXs& aligator::ProximalPenaltyTpl< _Scalar >::x_ref

Definition at line 29 of file proximal-penalty.hpp.

◆ u_ref

template<typename _Scalar >
const VectorXs aligator::ProximalPenaltyTpl< _Scalar >::u_ref

Definition at line 29 of file proximal-penalty.hpp.

◆ no_ctrl_term

template<typename _Scalar >
const bool aligator::ProximalPenaltyTpl< _Scalar >::no_ctrl_term

Whether to exclude the control term of the penalty. Switch to true e.g. for terminal node.

Definition at line 32 of file proximal-penalty.hpp.


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