proxsuite 0.6.7
The Advanced Proximal Optimization Toolbox
Loading...
Searching...
No Matches
proxsuite::proxqp::sparse::Workspace< T, I > Struct Template Reference

This class defines the workspace of the sparse solver. More...

#include <proxsuite/proxqp/sparse/workspace.hpp>

Collaboration diagram for proxsuite::proxqp::sparse::Workspace< T, I >:
[legend]

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
 

Detailed Description

template<typename T, typename I>
struct proxsuite::proxqp::sparse::Workspace< T, I >

This class defines the workspace of the sparse solver.

Workspace class of the sparse solver.

Definition at line 119 of file workspace.hpp.

Constructor & Destructor Documentation

◆ Workspace()

template<typename T , typename I >
proxsuite::proxqp::sparse::Workspace< T, I >::Workspace ( )
default

Member Function Documentation

◆ setup_symbolic_factorizaton()

template<typename T , typename I >
void proxsuite::proxqp::sparse::Workspace< T, I >::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 )
inline

Constructor using the symbolic factorization.

Parameters
resultssolver's results.
datasolver's model.
settingssolver's settings.
precond_reqstorage requirements for the solver's preconditioner.
Hsymbolic structure of the quadratic cost input defining the QP model.
Asymbolic structure of the equality constraint matrix input defining the QP model.
Csymbolic structure of the inequality constraint matrix input defining the QP model.

Definition at line 180 of file workspace.hpp.

◆ setup_impl()

template<typename T , typename I >
template<typename P >
void proxsuite::proxqp::sparse::Workspace< T, I >::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 )
inline

Constructor.

Parameters
qpview on the qp problem.
datasolver's model.
settingssolver's settings.
execute_or_notboolean option for execturing or not the preconditioner for scaling the problem (and reduce its ill conditioning).
precondpreconditioner chosen for the solver.
precond_reqstorage requirements for the solver's preconditioner.

Definition at line 333 of file workspace.hpp.

◆ ldl_col_ptrs()

template<typename T , typename I >
auto proxsuite::proxqp::sparse::Workspace< T, I >::ldl_col_ptrs ( ) const -> I const*
inline

Definition at line 786 of file workspace.hpp.

◆ ldl_col_ptrs_mut()

template<typename T , typename I >
auto proxsuite::proxqp::sparse::Workspace< T, I >::ldl_col_ptrs_mut ( ) -> I*
inline

Definition at line 787 of file workspace.hpp.

◆ stack_mut()

template<typename T , typename I >
auto proxsuite::proxqp::sparse::Workspace< T, I >::stack_mut ( ) -> proxsuite::linalg::veg::dynstack::DynStackMut
inline

Definition at line 788 of file workspace.hpp.

◆ set_dirty()

template<typename T , typename I >
void proxsuite::proxqp::sparse::Workspace< T, I >::set_dirty ( )
inline

Definition at line 793 of file workspace.hpp.

Member Data Documentation

◆ storage

Definition at line 126 of file workspace.hpp.

◆ ldl

template<typename T , typename I >
Ldlt<T, I> proxsuite::proxqp::sparse::Workspace< T, I >::ldl

Definition at line 128 of file workspace.hpp.

◆ do_ldlt

template<typename T , typename I >
bool proxsuite::proxqp::sparse::Workspace< T, I >::do_ldlt

Definition at line 129 of file workspace.hpp.

◆ do_symbolic_fact

template<typename T , typename I >
bool proxsuite::proxqp::sparse::Workspace< T, I >::do_symbolic_fact

Definition at line 130 of file workspace.hpp.

◆ g_scaled

template<typename T , typename I >
Eigen::Matrix<T, Eigen::Dynamic, 1> proxsuite::proxqp::sparse::Workspace< T, I >::g_scaled

Definition at line 133 of file workspace.hpp.

◆ b_scaled

template<typename T , typename I >
Eigen::Matrix<T, Eigen::Dynamic, 1> proxsuite::proxqp::sparse::Workspace< T, I >::b_scaled

Definition at line 134 of file workspace.hpp.

◆ l_scaled

template<typename T , typename I >
Eigen::Matrix<T, Eigen::Dynamic, 1> proxsuite::proxqp::sparse::Workspace< T, I >::l_scaled

Definition at line 135 of file workspace.hpp.

◆ u_scaled

template<typename T , typename I >
Eigen::Matrix<T, Eigen::Dynamic, 1> proxsuite::proxqp::sparse::Workspace< T, I >::u_scaled

Definition at line 136 of file workspace.hpp.

◆ kkt_nnz_counts

template<typename T , typename I >
proxsuite::linalg::veg::Vec<I> proxsuite::proxqp::sparse::Workspace< T, I >::kkt_nnz_counts

Definition at line 137 of file workspace.hpp.

◆ matrix_free_kkt

template<typename T , typename I >
std::unique_ptr<detail::AugmentedKkt<T, I> > proxsuite::proxqp::sparse::Workspace< T, I >::matrix_free_kkt

Definition at line 141 of file workspace.hpp.

◆ matrix_free_solver

template<typename T , typename I >
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.

◆ dirty

template<typename T , typename I >
bool proxsuite::proxqp::sparse::Workspace< T, I >::dirty

Definition at line 158 of file workspace.hpp.

◆ proximal_parameter_update

template<typename T , typename I >
bool proxsuite::proxqp::sparse::Workspace< T, I >::proximal_parameter_update

Definition at line 159 of file workspace.hpp.

◆ is_initialized

template<typename T , typename I >
bool proxsuite::proxqp::sparse::Workspace< T, I >::is_initialized

Definition at line 160 of file workspace.hpp.

◆ [struct]

struct { ... } proxsuite::proxqp::sparse::Workspace< T, I >::internal

◆ active_set_up

template<typename T , typename I >
VecBool proxsuite::proxqp::sparse::Workspace< T, I >::active_set_up

Definition at line 163 of file workspace.hpp.

◆ active_set_low

template<typename T , typename I >
VecBool proxsuite::proxqp::sparse::Workspace< T, I >::active_set_low

Definition at line 164 of file workspace.hpp.

◆ active_inequalities

template<typename T , typename I >
proxsuite::linalg::veg::Vec<bool> proxsuite::proxqp::sparse::Workspace< T, I >::active_inequalities

Definition at line 165 of file workspace.hpp.

◆ lnnz

template<typename T , typename I >
isize proxsuite::proxqp::sparse::Workspace< T, I >::lnnz

Definition at line 166 of file workspace.hpp.

◆ timer

template<typename T , typename I >
Timer<T> proxsuite::proxqp::sparse::Workspace< T, I >::timer

Definition at line 783 of file workspace.hpp.


The documentation for this struct was generated from the following files: