QPALM 1.1.1
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

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...
 

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: