7#ifndef PROXSUITE_PROXQP_RESULTS_HPP
8#define PROXSUITE_PROXQP_RESULTS_HPP
93 bool box_constraints =
false,
101 if (box_constraints) {
102 z.resize(dim + n_in);
103 si.resize(dim + n_in);
113 switch (dense_backend) {
124 info.mu_eq_inv = 1e3;
126 info.mu_in_inv = 1e1;
132 info.rho_updates = 0;
139 info.duality_gap = 0.;
140 info.iterative_residual = 0.;
143 info.minimal_H_eigenvalue_estimate = 0.;
167 info.rho_updates = 0;
170 info.duality_gap = 0.;
171 info.iterative_residual = 0.;
178 info.mu_eq_inv = 1e3;
180 info.mu_in_inv = 1e1;
183 info.minimal_H_eigenvalue_estimate = 0.;
185 info.rho = settings.value().default_rho;
186 info.mu_eq = settings.value().default_mu_eq;
188 info.mu_in = settings.value().default_mu_in;
190 info.minimal_H_eigenvalue_estimate =
191 settings.value().default_H_eigenvalue_estimate;
213 info1.
rho == info2.
rho && info1.
nu == info2.
nu &&
230 return !(info1 == info2);
237 bool value = results1.
x == results2.
x && results1.
y == results2.
y &&
238 results1.
z == results2.
z && results1.
info == results2.
info;
246 return !(results1 == results2);
Eigen::Matrix< T, DYN, 1 > Vec
bool operator!=(const Info< T > &info1, const Info< T > &info2)
bool operator==(const Info< T > &info1, const Info< T > &info2)
@ PROXQP_MAX_ITER_REACHED
constexpr nullopt_t nullopt
This class stores the results statistics of PROXQP solvers with sparse and dense backends.
SparseBackend sparse_backend
T minimal_H_eigenvalue_estimate
sparse::isize rho_updates
This class stores all the results of PROXQP solvers with sparse and dense backends.
void cold_start(optional< Settings< T > > settings=nullopt)
void cleanup(optional< Settings< T > > settings=nullopt)
proxsuite::linalg::veg::Vec< bool > active_constraints
void cleanup_statistics()
Results(isize dim=0, isize n_eq=0, isize n_in=0, bool box_constraints=false, DenseBackend dense_backend=DenseBackend::PrimalDualLDLT)
void cleanup_all_except_prox_parameters()
This class defines the settings of PROXQP solvers with sparse and dense backends.