11template <
typename _Scalar>
16 using Base = RiccatiSolverBase<Scalar>;
20 using Impl = ProximalRiccatiKernel<Scalar>;
22 using value_t =
typename StageFactorType::value_t;
23 using kkt0_t =
typename Impl::kkt0_t;
31 bool forward(std::vector<VectorXs> &xs, std::vector<VectorXs> &us,
32 std::vector<VectorXs> &vs, std::vector<VectorXs> &lbdas,
33 const std::optional<ConstVectorRef> &theta = std::nullopt)
const;
49#include "./proximal-riccati.hxx"
51#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
52#include "./proximal-riccati.txx"
A Riccati-like solver for the proximal LQ subproblem in ProxDDP.
const LQRProblemTpl< Scalar > * problem_
ALIGATOR_DYNAMIC_TYPEDEFS_WITH_ROW_TYPES(Scalar)
RowMatrixRef getFeedback(size_t i)
std::vector< StageFactor< Scalar > > StageFactorVec
LQRKnotTpl< Scalar > KnotType
bool forward(std::vector< VectorXs > &xs, std::vector< VectorXs > &us, std::vector< VectorXs > &vs, std::vector< VectorXs > &lbdas, const std::optional< ConstVectorRef > &theta=std::nullopt) const
VectorRef getFeedforward(size_t i)
typename Impl::kkt0_t kkt0_t
bool backward(const Scalar mudyn, const Scalar mueq)
Backward sweep.
ProximalRiccatiSolver(const LQRProblemTpl< Scalar > &problem)
typename StageFactorType::value_t value_t
ProximalRiccatiKernel< Scalar > Impl