This class defines the workspace of the sparse solver. More...
#include <proxsuite/proxqp/sparse/workspace.hpp>
Public Member Functions | |
| void | setup_symbolic_factorizaton (Model< T, I > &data, proxsuite::linalg::sparse::SymbolicMatRef< I > H, proxsuite::linalg::sparse::SymbolicMatRef< I > AT, proxsuite::linalg::sparse::SymbolicMatRef< I > CT) |
| template<typename P> | |
| void | setup_impl (const QpView< T, I > qp, Model< T, I > &data, const Settings< T > &settings, bool execute_or_not, P &precond, proxsuite::linalg::veg::dynstack::StackReq precond_req) |
| Workspace ()=default | |
| auto | ldl_col_ptrs () const -> I const * |
| auto | ldl_col_ptrs_mut () -> I * |
| auto | stack_mut () -> proxsuite::linalg::veg::dynstack::DynStackMut |
| void | set_dirty () |
Public Attributes | ||
| struct { | ||
| proxsuite::linalg::veg::Vec< proxsuite::linalg::veg::mem::byte > storage | ||
| Ldlt< T, I > ldl | ||
| bool do_ldlt | ||
| bool do_symbolic_fact | ||
| Eigen::Matrix< T, Eigen::Dynamic, 1 > g_scaled | ||
| Eigen::Matrix< T, Eigen::Dynamic, 1 > b_scaled | ||
| Eigen::Matrix< T, Eigen::Dynamic, 1 > l_scaled | ||
| Eigen::Matrix< T, Eigen::Dynamic, 1 > u_scaled | ||
| proxsuite::linalg::veg::Vec< I > kkt_nnz_counts | ||
| std::unique_ptr< detail::AugmentedKkt< T, I > > matrix_free_kkt | ||
| std::unique_ptr< Eigen::MINRES< detail::AugmentedKkt< T, I >, Eigen::Upper|Eigen::Lower, Eigen::IdentityPreconditioner > > matrix_free_solver | ||
| bool dirty | ||
| bool proximal_parameter_update | ||
| bool is_initialized | ||
| } | internal | |
| VecBool | active_set_up | |
| VecBool | active_set_low | |
| proxsuite::linalg::veg::Vec< bool > | active_inequalities | |
| isize | lnnz | |
| Timer< T > | timer | |
This class defines the workspace of the sparse solver.
Workspace class of the sparse solver.
Definition at line 119 of file workspace.hpp.
|
default |
|
inline |
Constructor using the symbolic factorization.
| results | solver's results. |
| data | solver's model. |
| settings | solver's settings. |
| precond_req | storage requirements for the solver's preconditioner. |
| H | symbolic structure of the quadratic cost input defining the QP model. |
| A | symbolic structure of the equality constraint matrix input defining the QP model. |
| C | symbolic structure of the inequality constraint matrix input defining the QP model. |
Definition at line 180 of file workspace.hpp.
|
inline |
Constructor.
| qp | view on the qp problem. |
| data | solver's model. |
| settings | solver's settings. |
| execute_or_not | boolean option for execturing or not the preconditioner for scaling the problem (and reduce its ill conditioning). |
| precond | preconditioner chosen for the solver. |
| precond_req | storage requirements for the solver's preconditioner. |
Definition at line 333 of file workspace.hpp.
|
inline |
Definition at line 786 of file workspace.hpp.
|
inline |
Definition at line 787 of file workspace.hpp.
|
inline |
Definition at line 788 of file workspace.hpp.
|
inline |
Definition at line 793 of file workspace.hpp.
| proxsuite::linalg::veg::Vec<proxsuite::linalg::veg::mem::byte> proxsuite::proxqp::sparse::Workspace< T, I >::storage |
Definition at line 126 of file workspace.hpp.
| Ldlt<T, I> proxsuite::proxqp::sparse::Workspace< T, I >::ldl |
Definition at line 128 of file workspace.hpp.
| bool proxsuite::proxqp::sparse::Workspace< T, I >::do_ldlt |
Definition at line 129 of file workspace.hpp.
| bool proxsuite::proxqp::sparse::Workspace< T, I >::do_symbolic_fact |
Definition at line 130 of file workspace.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, 1> proxsuite::proxqp::sparse::Workspace< T, I >::g_scaled |
Definition at line 133 of file workspace.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, 1> proxsuite::proxqp::sparse::Workspace< T, I >::b_scaled |
Definition at line 134 of file workspace.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, 1> proxsuite::proxqp::sparse::Workspace< T, I >::l_scaled |
Definition at line 135 of file workspace.hpp.
| Eigen::Matrix<T, Eigen::Dynamic, 1> proxsuite::proxqp::sparse::Workspace< T, I >::u_scaled |
Definition at line 136 of file workspace.hpp.
| proxsuite::linalg::veg::Vec<I> proxsuite::proxqp::sparse::Workspace< T, I >::kkt_nnz_counts |
Definition at line 137 of file workspace.hpp.
| std::unique_ptr<detail::AugmentedKkt<T, I> > proxsuite::proxqp::sparse::Workspace< T, I >::matrix_free_kkt |
Definition at line 141 of file workspace.hpp.
| std::unique_ptr<Eigen::MINRES<detail::AugmentedKkt<T, I>, Eigen::Upper | Eigen::Lower, Eigen::IdentityPreconditioner> > proxsuite::proxqp::sparse::Workspace< T, I >::matrix_free_solver |
Definition at line 146 of file workspace.hpp.
| bool proxsuite::proxqp::sparse::Workspace< T, I >::dirty |
Definition at line 158 of file workspace.hpp.
| bool proxsuite::proxqp::sparse::Workspace< T, I >::proximal_parameter_update |
Definition at line 159 of file workspace.hpp.
| bool proxsuite::proxqp::sparse::Workspace< T, I >::is_initialized |
Definition at line 160 of file workspace.hpp.
| struct { ... } proxsuite::proxqp::sparse::Workspace< T, I >::internal |
| VecBool proxsuite::proxqp::sparse::Workspace< T, I >::active_set_up |
Definition at line 163 of file workspace.hpp.
| VecBool proxsuite::proxqp::sparse::Workspace< T, I >::active_set_low |
Definition at line 164 of file workspace.hpp.
| proxsuite::linalg::veg::Vec<bool> proxsuite::proxqp::sparse::Workspace< T, I >::active_inequalities |
Definition at line 165 of file workspace.hpp.
| isize proxsuite::proxqp::sparse::Workspace< T, I >::lnnz |
Definition at line 166 of file workspace.hpp.
| Timer<T> proxsuite::proxqp::sparse::Workspace< T, I >::timer |
Definition at line 783 of file workspace.hpp.