QPALM 1.0.0
Proximal Augmented Lagrangian method for Quadratic Programs
Data Fields
QPALMWorkspace Struct Reference

#include <types.h>

Detailed Description

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.

Examples
examples/c/qpalm_demo.c.

Definition at line 197 of file types.h.

+ Collaboration diagram for QPALMWorkspace:

Data Fields

QPALMDatadata
 problem data to work on (possibly scaled) More...
 
QPALMSolversolver
 linsys variables More...
 
QPALMSettingssettings
 problem settings More...
 
QPALMScalingscaling
 scaling vectors More...
 
QPALMSolutionsolution
 problem solution More...
 
QPALMInfoinfo
 solver information More...
 
QPALMTimertimer
 timer object More...
 
Iterates
c_floatx
 primal iterate More...
 
c_floaty
 dual iterate More...
 
c_floatAx
 scaled A * x More...
 
c_floatQx
 scaled Q * x More...
 
c_floatAty
 A' * y (useful for saving one mat_tpose_vec) More...
 
c_floatx_prev
 previous primal iterate More...
 
c_int initialized
 flag whether the iterates were initialized or not More...
 
Workspace variables
c_floattemp_m
 placeholder for vector of size m More...
 
c_floattemp_n
 placeholder for vector of size n More...
 
c_floatsigma
 penalty vector More...
 
c_floatsigma_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_floatAxys
 Ax + y./sigma. More...
 
c_floatz
 projection of Axys onto the constraint set [bmin, bmax] More...
 
c_floatpri_res
 primal residual More...
 
c_floatpri_res_in
 intermediate primal residual More...
 
c_floatyh
 candidate dual update More...
 
c_floatAtyh
 A' * yh. More...
 
c_floatdf
 gradient of the primal objective (+proximal term) More...
 
c_floatx0
 record of the primal iterate during the last dual update More...
 
c_floatxx0
 x - x0 More...
 
c_floatdphi
 gradient of the Lagrangian More...
 
c_floatneg_dphi
 -dphi, required as the rhs in SCHUR More...
 
c_floatdphi_prev
 previous gradient of the Lagrangian More...
 
c_floatd
 primal update step More...
 
Linesearch variables
c_float tau
 stepsize More...
 
c_floatQd
 Q * d. More...
 
c_floatAd
 A * d. More...
 
c_floatsqrt_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_floatdelta
 linesearch parameter More...
 
c_floatalpha
 linesearch parameter More...
 
c_floattemp_2m
 placeholder for vector of size 2m More...
 
c_floatdelta2
 delta .* delta More...
 
c_floatdelta_alpha
 delta .* alpha More...
 
array_elements
 alpha ./ delta More...
 
c_intindex_L
 index set L (where s>0) More...
 
c_intindex_P
 index set P (where delta>0) More...
 
c_intindex_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_floatdelta_y
 difference of consecutive dual iterates More...
 
c_floatAtdelta_y
 A' * delta_y. More...
 
Dual infeasibility variables
c_floatdelta_x
 difference of consecutive primal iterates More...
 
c_floatQdelta_x
 Q * delta_x. More...
 
c_floatAdelta_x
 A * delta_x. More...
 
Temporary vectors used in scaling
c_floatD_temp
 temporary primal variable scaling vectors More...
 
c_floatE_temp
 temporary constraints scaling vectors More...
 

Field Documentation

◆ Ad

c_float* QPALMWorkspace::Ad

A * d.

Definition at line 247 of file types.h.

◆ Adelta_x

c_float* QPALMWorkspace::Adelta_x

A * delta_x.

Definition at line 290 of file types.h.

◆ alpha

c_float* QPALMWorkspace::alpha

linesearch parameter

Definition at line 253 of file types.h.

◆ Atdelta_y

c_float* QPALMWorkspace::Atdelta_y

A' * delta_y.

Definition at line 280 of file types.h.

◆ Aty

c_float* QPALMWorkspace::Aty

A' * y (useful for saving one mat_tpose_vec)

Definition at line 208 of file types.h.

◆ Atyh

c_float* QPALMWorkspace::Atyh

A' * yh.

Definition at line 230 of file types.h.

◆ Ax

c_float* QPALMWorkspace::Ax

scaled A * x

Definition at line 206 of file types.h.

◆ Axys

c_float* QPALMWorkspace::Axys

Ax + y./sigma.

Definition at line 225 of file types.h.

◆ beta

c_float QPALMWorkspace::beta

linesearch parameter

Definition at line 251 of file types.h.

◆ d

c_float* QPALMWorkspace::d

primal update step

Definition at line 237 of file types.h.

◆ D_temp

c_float* QPALMWorkspace::D_temp

temporary primal variable scaling vectors

Definition at line 299 of file types.h.

◆ data

QPALMData* QPALMWorkspace::data

problem data to work on (possibly scaled)

Definition at line 198 of file types.h.

◆ delta

c_float* QPALMWorkspace::delta

linesearch parameter

Definition at line 252 of file types.h.

◆ delta2

c_float* QPALMWorkspace::delta2

delta .* delta

Definition at line 255 of file types.h.

◆ delta_alpha

c_float* QPALMWorkspace::delta_alpha

delta .* alpha

Definition at line 256 of file types.h.

◆ delta_x

c_float* QPALMWorkspace::delta_x

difference of consecutive primal iterates

Definition at line 288 of file types.h.

◆ delta_y

c_float* QPALMWorkspace::delta_y

difference of consecutive dual iterates

Definition at line 279 of file types.h.

◆ df

c_float* QPALMWorkspace::df

gradient of the primal objective (+proximal term)

Definition at line 231 of file types.h.

◆ dphi

c_float* QPALMWorkspace::dphi

gradient of the Lagrangian

Definition at line 234 of file types.h.

◆ dphi_prev

c_float* QPALMWorkspace::dphi_prev

previous gradient of the Lagrangian

Definition at line 236 of file types.h.

◆ E_temp

c_float* QPALMWorkspace::E_temp

temporary constraints scaling vectors

Definition at line 300 of file types.h.

◆ eps_abs_in

c_float QPALMWorkspace::eps_abs_in

intermediate absolute tolerance

Definition at line 271 of file types.h.

◆ eps_dua

c_float QPALMWorkspace::eps_dua

dual tolerance

Definition at line 269 of file types.h.

◆ eps_dua_in

c_float QPALMWorkspace::eps_dua_in

intermediate dual tolerance

Definition at line 270 of file types.h.

◆ eps_pri

c_float QPALMWorkspace::eps_pri

primal tolerance

Definition at line 268 of file types.h.

◆ eps_rel_in

c_float QPALMWorkspace::eps_rel_in

intermediate relative tolerance

Definition at line 272 of file types.h.

◆ eta

c_float QPALMWorkspace::eta

linesearch parameter

Definition at line 250 of file types.h.

◆ gamma

c_float QPALMWorkspace::gamma

proximal penalty factor

Definition at line 223 of file types.h.

◆ gamma_maxed

c_int QPALMWorkspace::gamma_maxed

flag to indicate whether gamma has been maximized when the primal residual was low

Definition at line 224 of file types.h.

◆ index_J

c_int* QPALMWorkspace::index_J

index set J (L xor P)

Definition at line 260 of file types.h.

◆ index_L

c_int* QPALMWorkspace::index_L

index set L (where s>0)

Definition at line 258 of file types.h.

◆ index_P

c_int* QPALMWorkspace::index_P

index set P (where delta>0)

Definition at line 259 of file types.h.

◆ info

QPALMInfo* QPALMWorkspace::info

solver information

Examples
examples/c/qpalm_demo.c.

Definition at line 308 of file types.h.

◆ initialized

c_int QPALMWorkspace::initialized

flag whether the iterates were initialized or not

Definition at line 210 of file types.h.

◆ nb_sigma_changed

c_int QPALMWorkspace::nb_sigma_changed

number of sigma-components that changed in an outer iteration (relevant for factorization update)

Definition at line 222 of file types.h.

◆ neg_dphi

c_float* QPALMWorkspace::neg_dphi

-dphi, required as the rhs in SCHUR

Definition at line 235 of file types.h.

◆ pri_res

c_float* QPALMWorkspace::pri_res

primal residual

Definition at line 227 of file types.h.

◆ pri_res_in

c_float* QPALMWorkspace::pri_res_in

intermediate primal residual

Definition at line 228 of file types.h.

◆ Qd

c_float* QPALMWorkspace::Qd

Q * d.

Definition at line 246 of file types.h.

◆ Qdelta_x

c_float* QPALMWorkspace::Qdelta_x

Q * delta_x.

Definition at line 289 of file types.h.

◆ Qx

c_float* QPALMWorkspace::Qx

scaled Q * x

Definition at line 207 of file types.h.

◆ s

array_element* QPALMWorkspace::s

alpha ./ delta

Definition at line 257 of file types.h.

◆ scaling

QPALMScaling* QPALMWorkspace::scaling

scaling vectors

Definition at line 306 of file types.h.

◆ settings

QPALMSettings* QPALMWorkspace::settings

problem settings

Definition at line 305 of file types.h.

◆ sigma

c_float* QPALMWorkspace::sigma

penalty vector

Definition at line 219 of file types.h.

◆ sigma_inv

c_float* QPALMWorkspace::sigma_inv

1./sigma

Definition at line 220 of file types.h.

◆ solution

QPALMSolution* QPALMWorkspace::solution

problem solution

Definition at line 307 of file types.h.

◆ solver

QPALMSolver* QPALMWorkspace::solver

linsys variables

Definition at line 304 of file types.h.

◆ sqrt_delta

c_float QPALMWorkspace::sqrt_delta

sqrt(penalty update factor)

Definition at line 249 of file types.h.

◆ sqrt_sigma

c_float* QPALMWorkspace::sqrt_sigma

elementwise sqrt(sigma)

Definition at line 248 of file types.h.

◆ sqrt_sigma_max

c_float QPALMWorkspace::sqrt_sigma_max

sqrt(sigma_max)

Definition at line 221 of file types.h.

◆ tau

c_float QPALMWorkspace::tau

stepsize

Definition at line 245 of file types.h.

◆ temp_2m

c_float* QPALMWorkspace::temp_2m

placeholder for vector of size 2m

Definition at line 254 of file types.h.

◆ temp_m

c_float* QPALMWorkspace::temp_m

placeholder for vector of size m

Definition at line 217 of file types.h.

◆ temp_n

c_float* QPALMWorkspace::temp_n

placeholder for vector of size n

Definition at line 218 of file types.h.

◆ timer

QPALMTimer* QPALMWorkspace::timer

timer object

Definition at line 311 of file types.h.

◆ x

c_float* QPALMWorkspace::x

primal iterate

Definition at line 204 of file types.h.

◆ x0

c_float* QPALMWorkspace::x0

record of the primal iterate during the last dual update

Definition at line 232 of file types.h.

◆ x_prev

c_float* QPALMWorkspace::x_prev

previous primal iterate

Definition at line 209 of file types.h.

◆ xx0

c_float* QPALMWorkspace::xx0

x - x0

Definition at line 233 of file types.h.

◆ y

c_float* QPALMWorkspace::y

dual iterate

Definition at line 205 of file types.h.

◆ yh

c_float* QPALMWorkspace::yh

candidate dual update

Definition at line 229 of file types.h.

◆ z

c_float* QPALMWorkspace::z

projection of Axys onto the constraint set [bmin, bmax]

Definition at line 226 of file types.h.


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