proxsuite-nlp  0.10.0
A primal-dual augmented Lagrangian-type solver for nonlinear programming on manifolds.
Loading...
Searching...
No Matches
expose-workspace.cpp
Go to the documentation of this file.
2
4
5namespace proxsuite {
6namespace nlp {
7namespace python {
9 using context::Scalar;
11 bp::class_<Workspace, boost::noncopyable>(
12 "Workspace", "ProxNLPSolverTpl workspace.",
13 bp::init<const context::Problem &>(bp::args("self", "problem")))
14 .def_readonly("kkt_matrix", &Workspace::kkt_matrix, "KKT matrix buffer.")
15 .def_readonly("kkt_rhs", &Workspace::kkt_rhs,
16 "KKT system right-hand side buffer.")
17 .def_readonly("kkt_err", &Workspace::kkt_err, "KKT system error.")
18 .def_readonly("pd_step", &Workspace::pd_step, "The primal-dual step.")
19 .add_property(
20 "prim_step",
21 bp::make_getter(&Workspace::prim_step,
22 bp::return_value_policy<bp::return_by_value>()))
23 .add_property(
24 "dual_step",
25 bp::make_getter(&Workspace::dual_step,
26 bp::return_value_policy<bp::return_by_value>()))
27 .def_readonly("objective_value", &Workspace::objective_value)
28 .def_readonly("objective_gradient", &Workspace::objective_gradient)
29 .def_readonly("objective_hessian", &Workspace::objective_hessian)
30 .def_readonly("merit_gradient", &Workspace::merit_gradient)
31 .def_readonly("merit_dual_gradient", &Workspace::merit_dual_gradient)
32 .def_readonly("data_cstr_values", &Workspace::data_cstr_values)
33 .def_readonly("cstr_values", &Workspace::cstr_values,
34 "Vector constraint residuals.")
35 .def_readonly("data_shift_cstr_values",
36 &Workspace::data_shift_cstr_values,
37 "Shifted constraint values.")
38 .def_readonly("dual_residuals", &Workspace::dual_residual,
39 "Dual vector residual.")
40 .def_readonly("data_jacobians", &Workspace::data_jacobians,
41 "Constraint Jacobians.")
42 .def_readonly("data_hessians", &Workspace::data_hessians,
43 "Constraint vector-Hessian product matrices.")
44 .def_readonly("cstr_jacobians", &Workspace::cstr_jacobians,
45 "Block jacobians.")
46 .def_readonly("data_jacobians_proj", &Workspace::data_jacobians_proj,
47 "Projected constraint Jacobians.")
48 .def_readonly("cstr_jacobians_proj", &Workspace::cstr_jacobians_proj,
49 "Projected constraint Jacobians.")
50 .def_readonly("lams_plus", &Workspace::lams_plus,
51 "First-order multiplier estimates.")
52 .def_readonly("data_lams_plus", &Workspace::data_lams_plus,
53 "First-order multiplier estimates.")
54 .def_readonly("lams_plus_reproj", &Workspace::lams_plus_reproj,
55 "Product of projection Jacobian and first-order multiplier "
56 "estimates.")
57 .def_readonly("data_lams_pdal", &Workspace::data_lams_pdal,
58 "Primal-dual multiplier estimates.")
59 .def_readonly("lams_pdal", &Workspace::lams_pdal,
60 "Primal-dual multiplier estimates.")
61 .def_readonly("alpha_opt", &Workspace::alpha_opt,
62 "Computed linesearch step length.")
63 .def_readonly("dmerit_dir", &Workspace::dmerit_dir)
64 // TODO: expose Workspace::ldlt_ once boost::variant can be exposed in
65 // eigenpy
66 ;
67}
68
69} // namespace python
70} // namespace nlp
71} // namespace proxsuite
Main package namespace.
Definition bcl-params.hpp:5