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

Kernel for use in Riccati-like algorithms for the proximal LQ subproblem. More...

#include </home/runner/work/aligator/aligator/gar/include/aligator/gar/riccati-impl.hpp>

Classes

struct  kkt0_t
 

Public Types

using RowMatrixXs = Eigen::Matrix<Scalar, -1, -1, Eigen::RowMajor>
 
using RowMatrixRef = Eigen::Ref<RowMatrixXs>
 
using ConstRowMatrixRef = Eigen::Ref<const RowMatrixXs>
 
using KnotType = LQRKnotTpl<Scalar>
 
using StageFactorType = StageFactor<Scalar>
 
using value_t = typename StageFactor<Scalar>::value_t
 

Public Member Functions

 ALIGATOR_DYNAMIC_TYPEDEFS (Scalar)
 

Static Public Member Functions

static void terminalSolve (const KnotType &model, const Scalar mueq, StageFactorType &d)
 
static bool backwardImpl (boost::span< const KnotType > stages, const Scalar mudyn, const Scalar mueq, boost::span< StageFactorType > datas)
 
static void computeInitial (VectorRef x0, VectorRef lbd0, const kkt0_t &kkt0, const std::optional< ConstVectorRef > &theta_)
 Solve initial stage.
 
static void stageKernelSolve (const KnotType &model, StageFactorType &d, value_t &vn, const Scalar mudyn, const Scalar mueq)
 
static bool forwardImpl (boost::span< const KnotType > stages, boost::span< const StageFactorType > datas, boost::span< VectorXs > xs, boost::span< VectorXs > us, boost::span< VectorXs > vs, boost::span< VectorXs > lbdas, const std::optional< ConstVectorRef > &theta_=std::nullopt)
 Forward sweep.
 

Detailed Description

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

Kernel for use in Riccati-like algorithms for the proximal LQ subproblem.

Definition at line 91 of file riccati-impl.hpp.

Member Typedef Documentation

◆ RowMatrixXs

template<typename Scalar >
using aligator::gar::ProximalRiccatiKernel< Scalar >::RowMatrixXs = Eigen::Matrix<Scalar, -1, -1, Eigen::RowMajor>

Definition at line 93 of file riccati-impl.hpp.

◆ RowMatrixRef

template<typename Scalar >
using aligator::gar::ProximalRiccatiKernel< Scalar >::RowMatrixRef = Eigen::Ref<RowMatrixXs>

Definition at line 94 of file riccati-impl.hpp.

◆ ConstRowMatrixRef

template<typename Scalar >
using aligator::gar::ProximalRiccatiKernel< Scalar >::ConstRowMatrixRef = Eigen::Ref<const RowMatrixXs>

Definition at line 95 of file riccati-impl.hpp.

◆ KnotType

template<typename Scalar >
using aligator::gar::ProximalRiccatiKernel< Scalar >::KnotType = LQRKnotTpl<Scalar>

Definition at line 96 of file riccati-impl.hpp.

◆ StageFactorType

template<typename Scalar >
using aligator::gar::ProximalRiccatiKernel< Scalar >::StageFactorType = StageFactor<Scalar>

Definition at line 97 of file riccati-impl.hpp.

◆ value_t

template<typename Scalar >
using aligator::gar::ProximalRiccatiKernel< Scalar >::value_t = typename StageFactor<Scalar>::value_t

Definition at line 98 of file riccati-impl.hpp.

Member Function Documentation

◆ ALIGATOR_DYNAMIC_TYPEDEFS()

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

◆ terminalSolve()

template<typename Scalar >
static void aligator::gar::ProximalRiccatiKernel< Scalar >::terminalSolve ( const KnotType & model,
const Scalar mueq,
StageFactorType & d )
inlinestatic

◆ backwardImpl()

template<typename Scalar >
static bool aligator::gar::ProximalRiccatiKernel< Scalar >::backwardImpl ( boost::span< const KnotType > stages,
const Scalar mudyn,
const Scalar mueq,
boost::span< StageFactorType > datas )
inlinestatic

◆ computeInitial()

template<typename Scalar >
static void aligator::gar::ProximalRiccatiKernel< Scalar >::computeInitial ( VectorRef x0,
VectorRef lbd0,
const kkt0_t & kkt0,
const std::optional< ConstVectorRef > & theta_ )
inlinestatic

Solve initial stage.

◆ stageKernelSolve()

template<typename Scalar >
static void aligator::gar::ProximalRiccatiKernel< Scalar >::stageKernelSolve ( const KnotType & model,
StageFactorType & d,
value_t & vn,
const Scalar mudyn,
const Scalar mueq )
inlinestatic

◆ forwardImpl()

template<typename Scalar >
static bool aligator::gar::ProximalRiccatiKernel< Scalar >::forwardImpl ( boost::span< const KnotType > stages,
boost::span< const StageFactorType > datas,
boost::span< VectorXs > xs,
boost::span< VectorXs > us,
boost::span< VectorXs > vs,
boost::span< VectorXs > lbdas,
const std::optional< ConstVectorRef > & theta_ = std::nullopt )
inlinestatic

Forward sweep.


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