aligator  0.6.1
A primal-dual augmented Lagrangian-type solver for nonlinear trajectory optimization.
Loading...
Searching...
No Matches
expose-prox-riccati.cpp
Go to the documentation of this file.
1
4
5namespace aligator::python {
6using namespace gar;
8using prox_riccati_t = ProximalRiccatiSolver<Scalar>;
9using stage_factor_t = StageFactor<Scalar>;
10using riccati_base_t = RiccatiSolverBase<Scalar>;
11using lqr_t = LQRProblemTpl<context::Scalar>;
12
14
15 using value_t = prox_riccati_t::value_t;
16 bp::class_<value_t>("value_data", bp::no_init)
17 .def_readonly("Pmat", &value_t::Pmat)
18 .def_readonly("pvec", &value_t::pvec)
19 .def_readonly("Vxx", &value_t::Vxx)
20 .def_readonly("vx", &value_t::vx)
21 .def_readonly("Vxt", &value_t::Vxt)
22 .def_readonly("Vtt", &value_t::Vtt)
23 .def_readonly("vt", &value_t::vt);
24
25 bp::class_<stage_factor_t>(
26 "StageFactor", "Stagewise factor for the generalized Riccati algorithm.",
27 bp::no_init)
28 .def_readonly("ff", &stage_factor_t::ff)
29 .def_readonly("fb", &stage_factor_t::fb)
30 .def_readonly("fth", &stage_factor_t::fth)
31 .def_readonly("kktMat", &stage_factor_t::kktMat)
32 .def_readonly("kktChol", &stage_factor_t::kktChol)
33 .def_readonly("vm", &stage_factor_t::vm);
34
35 using StageFactorVec = std::vector<stage_factor_t>;
36 StdVectorPythonVisitor<StageFactorVec, true>::expose("StdVec_StageFactor");
37
38 {
39 bp::scope _ =
40 bp::class_<prox_riccati_t, bp::bases<riccati_base_t>,
41 boost::noncopyable>("ProximalRiccatiSolver",
42 "Proximal Riccati solver.", bp::no_init)
43 .def(bp::init<const lqr_t &>(("self"_a, "problem")))
44 .def_readonly("thGrad", &prox_riccati_t::thGrad, "Value gradient")
45 .def_readonly("thHess", &prox_riccati_t::thHess, "Value Hessian")
46 .def_readonly("datas", &prox_riccati_t::datas)
47 .def_readonly("kkt0", &prox_riccati_t::kkt0,
48 "Initial stage KKT system");
49 bp::class_<prox_riccati_t::kkt0_t>("kkt0_t", bp::no_init)
50 .def_readonly("ff", &prox_riccati_t::kkt0_t::ff)
51 .def_readonly("fth", &prox_riccati_t::kkt0_t::fth)
52 .def_readonly("mat", &prox_riccati_t::kkt0_t::mat)
53 .def_readonly("chol", &prox_riccati_t::kkt0_t::chol);
54 }
55}
56} // namespace aligator::python
The Python bindings.
Definition blk-matrix.hpp:5
ProximalRiccatiSolver< Scalar > prox_riccati_t
BlkMatrix< RowMatrixXs, 4, 1 > fth
BlkMatrix< VectorXs, 4, 1 > ff
BlkMatrix< RowMatrixXs, 4, 1 > fb
Eigen::BunchKaufman< MatrixXs > kktChol
BlkMatrix< MatrixXs, 2, 2 > kktMat