aligator  0.14.0
A primal-dual augmented Lagrangian-type solver for nonlinear trajectory optimization.
Loading...
Searching...
No Matches
aligator::gar::LqrProblemTpl< Scalar > Struct Template Reference

#include <aligator/gar/lqr-problem.hpp>

Collaboration diagram for aligator::gar::LqrProblemTpl< Scalar >:
[legend]

Public Types

using KnotType = LqrKnotTpl<Scalar>
 
using KnotVector = std::pmr::vector<KnotType>
 
using allocator_type = polymorphic_allocator
 
using MVec = ManagedMatrix<Scalar, Eigen::Dynamic, 1>
 
using MMat = ManagedMatrix<Scalar, Eigen::Dynamic, Eigen::Dynamic>
 

Public Member Functions

 ALIGATOR_DYNAMIC_TYPEDEFS (Scalar)
 
int horizon () const noexcept
 
uint nc0 () const noexcept
 Dimension of the initial condition constraint.
 
 LqrProblemTpl (allocator_type alloc={})
 
 LqrProblemTpl (const KnotVector &knots, long nc0, allocator_type alloc={})
 This constructor will take the knots as-is.
 
 LqrProblemTpl (KnotVector &&knots, long nc0)
 This constructor will take the knots as-is, copying their specified allocator.
 
 LqrProblemTpl (const LqrProblemTpl &other, allocator_type alloc={})
 Copy constructor. Will copy the allocator from other.
 
 LqrProblemTpl (LqrProblemTpl &&other)
 Move constructor - we steal the allocator from the source object.
 
 ~LqrProblemTpl ()
 
void addParameterization (uint nth)
 
bool isParameterized () const
 
bool isInitialized () const
 
uint ntheta () const
 
bool isApprox (const LqrProblemTpl &other)
 
Scalar evaluate (const VectorOfVectors &xs, const VectorOfVectors &us, const std::optional< ConstVectorRef > &theta_) const
 Evaluate the quadratic objective.
 
allocator_type get_allocator () const
 

Public Attributes

MMat G0
 
MVec g0
 
KnotVector stages
 

Static Public Attributes

static constexpr int Alignment = Eigen::AlignedMax
 

Detailed Description

template<typename Scalar>
struct aligator::gar::LqrProblemTpl< Scalar >

Definition at line 198 of file lqr-problem.hpp.

Member Typedef Documentation

◆ KnotType

template<typename Scalar>
using aligator::gar::LqrProblemTpl< Scalar >::KnotType = LqrKnotTpl<Scalar>

Definition at line 201 of file lqr-problem.hpp.

◆ KnotVector

template<typename Scalar>
using aligator::gar::LqrProblemTpl< Scalar >::KnotVector = std::pmr::vector<KnotType>

Definition at line 202 of file lqr-problem.hpp.

◆ allocator_type

template<typename Scalar>
using aligator::gar::LqrProblemTpl< Scalar >::allocator_type = polymorphic_allocator

Definition at line 203 of file lqr-problem.hpp.

◆ MVec

template<typename Scalar>
using aligator::gar::LqrProblemTpl< Scalar >::MVec = ManagedMatrix<Scalar, Eigen::Dynamic, 1>

Definition at line 204 of file lqr-problem.hpp.

◆ MMat

template<typename Scalar>
using aligator::gar::LqrProblemTpl< Scalar >::MMat = ManagedMatrix<Scalar, Eigen::Dynamic, Eigen::Dynamic>

Definition at line 205 of file lqr-problem.hpp.

Constructor & Destructor Documentation

◆ LqrProblemTpl() [1/5]

template<typename Scalar>
aligator::gar::LqrProblemTpl< Scalar >::LqrProblemTpl ( allocator_type alloc = {})
inlineexplicit

Definition at line 214 of file lqr-problem.hpp.

◆ LqrProblemTpl() [2/5]

template<typename Scalar>
aligator::gar::LqrProblemTpl< Scalar >::LqrProblemTpl ( const KnotVector & knots,
long nc0,
allocator_type alloc = {} )

This constructor will take the knots as-is.

◆ LqrProblemTpl() [3/5]

template<typename Scalar>
aligator::gar::LqrProblemTpl< Scalar >::LqrProblemTpl ( KnotVector && knots,
long nc0 )

This constructor will take the knots as-is, copying their specified allocator.

◆ LqrProblemTpl() [4/5]

template<typename Scalar>
aligator::gar::LqrProblemTpl< Scalar >::LqrProblemTpl ( const LqrProblemTpl< Scalar > & other,
allocator_type alloc = {} )
inline

Copy constructor. Will copy the allocator from other.

Definition at line 228 of file lqr-problem.hpp.

◆ LqrProblemTpl() [5/5]

template<typename Scalar>
aligator::gar::LqrProblemTpl< Scalar >::LqrProblemTpl ( LqrProblemTpl< Scalar > && other)
inline

Move constructor - we steal the allocator from the source object.

Definition at line 235 of file lqr-problem.hpp.

◆ ~LqrProblemTpl()

template<typename Scalar>
aligator::gar::LqrProblemTpl< Scalar >::~LqrProblemTpl ( )

Member Function Documentation

◆ ALIGATOR_DYNAMIC_TYPEDEFS()

template<typename Scalar>
aligator::gar::LqrProblemTpl< Scalar >::ALIGATOR_DYNAMIC_TYPEDEFS ( Scalar )

◆ horizon()

template<typename Scalar>
int aligator::gar::LqrProblemTpl< Scalar >::horizon ( ) const
inlinenoexcept

Definition at line 210 of file lqr-problem.hpp.

◆ nc0()

template<typename Scalar>
uint aligator::gar::LqrProblemTpl< Scalar >::nc0 ( ) const
inlinenoexcept

Dimension of the initial condition constraint.

Definition at line 212 of file lqr-problem.hpp.

◆ addParameterization()

template<typename Scalar>
void aligator::gar::LqrProblemTpl< Scalar >::addParameterization ( uint nth)
inline

Definition at line 243 of file lqr-problem.hpp.

◆ isParameterized()

template<typename Scalar>
bool aligator::gar::LqrProblemTpl< Scalar >::isParameterized ( ) const
inline

Definition at line 251 of file lqr-problem.hpp.

◆ isInitialized()

template<typename Scalar>
bool aligator::gar::LqrProblemTpl< Scalar >::isInitialized ( ) const
inline

Definition at line 255 of file lqr-problem.hpp.

◆ ntheta()

template<typename Scalar>
uint aligator::gar::LqrProblemTpl< Scalar >::ntheta ( ) const
inline

Definition at line 257 of file lqr-problem.hpp.

◆ isApprox()

template<typename Scalar>
bool aligator::gar::LqrProblemTpl< Scalar >::isApprox ( const LqrProblemTpl< Scalar > & other)
inline

Definition at line 259 of file lqr-problem.hpp.

◆ evaluate()

template<typename Scalar>
Scalar aligator::gar::LqrProblemTpl< Scalar >::evaluate ( const VectorOfVectors & xs,
const VectorOfVectors & us,
const std::optional< ConstVectorRef > & theta_ ) const

Evaluate the quadratic objective.

◆ get_allocator()

template<typename Scalar>
allocator_type aligator::gar::LqrProblemTpl< Scalar >::get_allocator ( ) const
inline

Definition at line 274 of file lqr-problem.hpp.

Member Data Documentation

◆ Alignment

template<typename Scalar>
int aligator::gar::LqrProblemTpl< Scalar >::Alignment = Eigen::AlignedMax
staticconstexpr

Definition at line 200 of file lqr-problem.hpp.

◆ G0

template<typename Scalar>
MMat aligator::gar::LqrProblemTpl< Scalar >::G0

Definition at line 206 of file lqr-problem.hpp.

◆ g0

template<typename Scalar>
MVec aligator::gar::LqrProblemTpl< Scalar >::g0

Definition at line 207 of file lqr-problem.hpp.

◆ stages

template<typename Scalar>
KnotVector aligator::gar::LqrProblemTpl< Scalar >::stages

Definition at line 208 of file lqr-problem.hpp.


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