Template Struct Workspace
Defined in File workspace.hpp
Struct Documentation
-
template<typename T, typename I>
struct Workspace This class defines the workspace of the sparse solver.
Workspace class of the sparse solver.
Public Functions
-
inline 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)
Constructor using the symbolic factorization.
- Parameters:
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.
-
template<typename P>
inline 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) Constructor.
- Parameters:
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.
-
Workspace() = default
-
inline auto stack_mut() -> proxsuite::linalg::veg::dynstack::DynStackMut
-
inline void set_dirty()
Public Members
-
bool do_ldlt
-
bool do_symbolic_fact
-
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
-
isize lnnz
-
inline 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)