#include <types.h>
QPALM Workspace.
The workspace is the main data structure and is given as a pointer to (almost) all QPALM functions. It contains pointers to the settings, the data, return info, solution variables and intermediate workspace variables.
 Collaboration diagram for QPALMWorkspace:Data Fields | |
| QPALMData * | data | 
| problem data to work on (possibly scaled)  More... | |
| QPALMSolver * | solver | 
| linsys variables  More... | |
| QPALMSettings * | settings | 
| problem settings  More... | |
| QPALMScaling * | scaling | 
| scaling vectors  More... | |
| QPALMSolution * | solution | 
| problem solution  More... | |
| QPALMInfo * | info | 
| solver information  More... | |
| QPALMTimer * | timer | 
| timer object  More... | |
Iterates  | |
| c_float * | x | 
| primal iterate  More... | |
| c_float * | y | 
| dual iterate  More... | |
| c_float * | Ax | 
| scaled A * x  More... | |
| c_float * | Qx | 
| scaled Q * x  More... | |
| c_float * | Aty | 
| A' * y (useful for saving one mat_tpose_vec)  More... | |
| c_float * | x_prev | 
| previous primal iterate  More... | |
| c_int | initialized | 
| flag whether the iterates were initialized or not  More... | |
Workspace variables  | |
| c_float * | temp_m | 
| placeholder for vector of size m  More... | |
| c_float * | temp_n | 
| placeholder for vector of size n  More... | |
| c_float * | sigma | 
| penalty vector  More... | |
| c_float * | sigma_inv | 
| 1./sigma  More... | |
| c_float | sqrt_sigma_max | 
| sqrt(sigma_max)  More... | |
| c_int | nb_sigma_changed | 
| number of sigma-components that changed in an outer iteration (relevant for factorization update)  More... | |
| c_float | gamma | 
| proximal penalty factor  More... | |
| c_int | gamma_maxed | 
| flag to indicate whether gamma has been maximized when the primal residual was low  More... | |
| c_float * | Axys | 
| Ax + y./sigma.  More... | |
| c_float * | z | 
| projection of Axys onto the constraint set [bmin, bmax]  More... | |
| c_float * | pri_res | 
| primal residual  More... | |
| c_float * | pri_res_in | 
| intermediate primal residual  More... | |
| c_float * | yh | 
| candidate dual update  More... | |
| c_float * | Atyh | 
| A' * yh.  More... | |
| c_float * | df | 
| gradient of the primal objective (+proximal term)  More... | |
| c_float * | x0 | 
| record of the primal iterate during the last dual update  More... | |
| c_float * | xx0 | 
| x - x0  More... | |
| c_float * | dphi | 
| gradient of the Lagrangian  More... | |
| c_float * | neg_dphi | 
| -dphi, required as the rhs in SCHUR  More... | |
| c_float * | dphi_prev | 
| previous gradient of the Lagrangian  More... | |
| c_float * | d | 
| primal update step  More... | |
Linesearch variables  | |
| c_float | tau | 
| stepsize  More... | |
| c_float * | Qd | 
| Q * d.  More... | |
| c_float * | Ad | 
| A * d.  More... | |
| c_float * | sqrt_sigma | 
| elementwise sqrt(sigma)  More... | |
| c_float | sqrt_delta | 
| sqrt(penalty update factor)  More... | |
| c_float | eta | 
| linesearch parameter  More... | |
| c_float | beta | 
| linesearch parameter  More... | |
| c_float * | delta | 
| linesearch parameter  More... | |
| c_float * | alpha | 
| linesearch parameter  More... | |
| c_float * | temp_2m | 
| placeholder for vector of size 2m  More... | |
| c_float * | delta2 | 
| delta .* delta  More... | |
| c_float * | delta_alpha | 
| delta .* alpha  More... | |
| array_element * | s | 
| alpha ./ delta  More... | |
| c_int * | index_L | 
| index set L (where s>0)  More... | |
| c_int * | index_P | 
| index set P (where delta>0)  More... | |
| c_int * | index_J | 
| index set J (L xor P)  More... | |
Termination criteria variables  | |
| c_float | eps_pri | 
| primal tolerance  More... | |
| c_float | eps_dua | 
| dual tolerance  More... | |
| c_float | eps_dua_in | 
| intermediate dual tolerance  More... | |
| c_float | eps_abs_in | 
| intermediate absolute tolerance  More... | |
| c_float | eps_rel_in | 
| intermediate relative tolerance  More... | |
Primal infeasibility variables  | |
| c_float * | delta_y | 
| difference of consecutive dual iterates  More... | |
| c_float * | Atdelta_y | 
| A' * delta_y.  More... | |
Dual infeasibility variables  | |
| c_float * | delta_x | 
| difference of consecutive primal iterates  More... | |
| c_float * | Qdelta_x | 
| Q * delta_x.  More... | |
| c_float * | Adelta_x | 
| A * delta_x.  More... | |
Temporary vectors used in scaling  | |
| c_float * | D_temp | 
| temporary primal variable scaling vectors  More... | |
| c_float * | E_temp | 
| temporary constraints scaling vectors  More... | |
| c_float* QPALMWorkspace::Aty | 
| c_float* QPALMWorkspace::D_temp | 
| QPALMData* QPALMWorkspace::data | 
| c_float* QPALMWorkspace::delta_x | 
| c_float* QPALMWorkspace::delta_y | 
| c_float* QPALMWorkspace::df | 
| c_float* QPALMWorkspace::dphi_prev | 
| c_float* QPALMWorkspace::E_temp | 
| c_float QPALMWorkspace::eps_abs_in | 
| c_float QPALMWorkspace::eps_dua_in | 
| c_float QPALMWorkspace::eps_rel_in | 
| c_int QPALMWorkspace::gamma_maxed | 
| QPALMInfo* QPALMWorkspace::info | 
| c_int QPALMWorkspace::initialized | 
| c_int QPALMWorkspace::nb_sigma_changed | 
| c_float* QPALMWorkspace::neg_dphi | 
| c_float* QPALMWorkspace::pri_res_in | 
| array_element* QPALMWorkspace::s | 
| QPALMScaling* QPALMWorkspace::scaling | 
| QPALMSettings* QPALMWorkspace::settings | 
| QPALMSolution* QPALMWorkspace::solution | 
| QPALMSolver* QPALMWorkspace::solver | 
| c_float QPALMWorkspace::sqrt_delta | 
| c_float* QPALMWorkspace::temp_2m | 
| c_float* QPALMWorkspace::temp_m | 
| c_float* QPALMWorkspace::temp_n | 
| QPALMTimer* QPALMWorkspace::timer | 
| c_float* QPALMWorkspace::x0 | 
| c_float* QPALMWorkspace::z |