15template <
typename _Scalar>
26 using Data =
typename Kernel::Data;
29 std::vector<MatrixXs>
Pxx;
30 std::vector<MatrixXs>
Pxt;
31 std::vector<MatrixXs>
Ptt;
32 std::vector<VectorXs>
px;
33 std::vector<VectorXs>
pt;
47 bool forward(std::vector<VectorXs> &xs, std::vector<VectorXs> &us,
48 std::vector<VectorXs> &vs, std::vector<VectorXs> &lbdas,
49 const std::optional<ConstVectorRef> &theta = std::nullopt)
const;
59#ifdef ALIGATOR_ENABLE_TEMPLATE_INSTANTIATION
Block matrix class, with a fixed-size number of row and column blocks.
A stagewise-dense Riccati solver. This algorithm uses a dense Bunch-Kaufman factorization at every st...
ALIGATOR_DYNAMIC_TYPEDEFS_WITH_ROW_TYPES(Scalar)
void cycleAppend(const KnotType &knot)
BlkMatrix< VectorXs, 4, 1 > BlkVec4
BlkMatrix< VectorXs, 2, 1 > ff
BlkMatrix< RowMatrixXs, 4, 1 > BlkRowMat41
std::vector< MatrixXs > Pxt
typename Kernel::Data Data
std::vector< MatrixXs > Pxx
std::vector< VectorXs > pt
std::vector< VectorXs > px
std::vector< MatrixXs > Ptt
RiccatiSolverBase< Scalar > Base
std::vector< Data > stage_factors
VectorRef getFeedforward(size_t i)
struct aligator::gar::RiccatiSolverDense::@331356351357076052247076001133223062057032131163 kkt0
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
BlkMatrix< MatrixXs, 4, 4 > BlkMat44
BlkMatrix< MatrixXs, 2, 2 > mat
const LqrProblemTpl< Scalar > * problem_
BlkMatrix< MatrixXs, 2, 1 > fth
LqrKnotTpl< Scalar > KnotType
RiccatiSolverDense(const LqrProblemTpl< Scalar > &problem)
Eigen::BunchKaufman< MatrixXs > ldl
RowMatrixRef getFeedback(size_t i)
DenseKernel< Scalar > Kernel
bool backward(const Scalar mudyn, const Scalar mueq)
A dense Bunch-Kaufman based kernel.
Struct describing a stage of a constrained LQ problem.