OSQPWorkspace

OSQP Workspace

Members

Variables

Adelta_x
c_float* Adelta_x;

< A * delta_x

Atdelta_y
c_float* Atdelta_y;

< A' * delta_y

Aty
c_float* Aty;

< scaled A * x

Ax
c_float* Ax;

* @name Primal and dual residuals workspace variables * * Needed for residuals computation, tolerances computation, * approximate tolerances computation and adapting rho * @{ *////< scaled A *

D_temp
c_float* D_temp;

* @name Temporary vectors used in scaling * @{ *////< temporary primal variable scaling vector

D_temp_A
c_float* D_temp_A;

< temporary primal variable scaling vectors storing norms of A columns

E_temp
c_float* E_temp;

< temporary constraints scaling vectors storing norms of A' columns

Pdelta_x
c_float* Pdelta_x;

< P * delta_x

Px
c_float* Px;

< scaled P * x

clear_update_time
c_int clear_update_time;

flag indicating whether the update_time should be cleared

constr_type
c_int* constr_type;

< Type of constraints: loose (-1), equality (1), inequality (0)

data
OSQPData* data;

Problem data to work on (possibly scaled)

delta_x
c_float* delta_x;

* @name Dual infeasibility variables * @{ *////< difference between consecutive primal iterate

delta_y
c_float* delta_y;

* @name Primal infeasibility variables * @{ *////< difference between consecutive dual iterate

first_run
c_int first_run;

flag indicating whether the solve function has been run before

info
OSQPInfo* info;

< solver information

linsys_solver
LinSysSolver* linsys_solver;

Linear System solver structure

pol
OSQPPolish* pol;

Polish structure

rho_inv_vec
c_float* rho_inv_vec;

< vector of inv rho values

rho_update_from_solve
c_int rho_update_from_solve;

flag indicating that osqp_update_rho is called from osqp_solve function

rho_vec
c_float* rho_vec;

* @name Vector used to store a vectorized rho parameter * @{ *////< vector of rho value

scaling
OSQPScaling* scaling;

< scaling vectors

settings
OSQPSettings* settings;

@} *////< problem setting

solution
OSQPSolution* solution;

< problem solution

summary_printed
c_int summary_printed;

< Has last summary been printed? (true/false)

timer
OSQPTimer* timer;

< timer object

x
c_float* x;

* @name Iterates * @{ *////< Iterate

x_prev
c_float* x_prev;

< Previous x

xz_tilde
c_float* xz_tilde;

< Iterate xz_tilde

y
c_float* y;

< Iterate y

z
c_float* z;

< Iterate z

z_prev
c_float* z_prev;

< NB: Used also as workspace vector for dual residual *////< Previous

Meta