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