QPALM main
Proximal Augmented Lagrangian method for Quadratic Programs
Loading...
Searching...
No Matches
Data Fields
QPALMWorkspace Struct Reference

#include <qpalm/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 204 of file types.h.

+ Collaboration diagram for QPALMWorkspace:

Data Fields

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

Field Documentation

◆ data

QPALMData* QPALMWorkspace::data

problem data to work on (possibly scaled)

Definition at line 205 of file types.h.

◆ x

c_float* QPALMWorkspace::x

primal iterate

Definition at line 211 of file types.h.

◆ y

c_float* QPALMWorkspace::y

dual iterate

Definition at line 212 of file types.h.

◆ Ax

c_float* QPALMWorkspace::Ax

scaled A * x

Definition at line 213 of file types.h.

◆ Qx

c_float* QPALMWorkspace::Qx

scaled Q * x

Definition at line 214 of file types.h.

◆ Aty

c_float* QPALMWorkspace::Aty

A' * y (useful for saving one mat_tpose_vec)

Definition at line 215 of file types.h.

◆ x_prev

c_float* QPALMWorkspace::x_prev

previous primal iterate

Definition at line 216 of file types.h.

◆ initialized

c_int QPALMWorkspace::initialized

flag whether the iterates were initialized or not

Definition at line 217 of file types.h.

◆ temp_m

c_float* QPALMWorkspace::temp_m

placeholder for vector of size m

Definition at line 224 of file types.h.

◆ temp_n

c_float* QPALMWorkspace::temp_n

placeholder for vector of size n

Definition at line 225 of file types.h.

◆ sigma

c_float* QPALMWorkspace::sigma

penalty vector

Definition at line 226 of file types.h.

◆ sigma_inv

c_float* QPALMWorkspace::sigma_inv

1./sigma

Definition at line 227 of file types.h.

◆ sqrt_sigma_max

c_float QPALMWorkspace::sqrt_sigma_max

sqrt(sigma_max)

Definition at line 228 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 229 of file types.h.

◆ gamma

c_float QPALMWorkspace::gamma

proximal penalty factor

Definition at line 230 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 231 of file types.h.

◆ Axys

c_float* QPALMWorkspace::Axys

Ax + y./sigma.

Definition at line 232 of file types.h.

◆ z

c_float* QPALMWorkspace::z

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

Definition at line 233 of file types.h.

◆ pri_res

c_float* QPALMWorkspace::pri_res

primal residual

Definition at line 234 of file types.h.

◆ pri_res_in

c_float* QPALMWorkspace::pri_res_in

intermediate primal residual

Definition at line 235 of file types.h.

◆ yh

c_float* QPALMWorkspace::yh

candidate dual update

Definition at line 236 of file types.h.

◆ Atyh

c_float* QPALMWorkspace::Atyh

A' * yh.

Definition at line 237 of file types.h.

◆ df

c_float* QPALMWorkspace::df

gradient of the primal objective (+proximal term)

Definition at line 238 of file types.h.

◆ x0

c_float* QPALMWorkspace::x0

record of the primal iterate during the last dual update

Definition at line 239 of file types.h.

◆ xx0

c_float* QPALMWorkspace::xx0

x - x0

Definition at line 240 of file types.h.

◆ dphi

c_float* QPALMWorkspace::dphi

gradient of the Lagrangian

Definition at line 241 of file types.h.

◆ neg_dphi

c_float* QPALMWorkspace::neg_dphi

-dphi, required as the rhs in SCHUR

Definition at line 242 of file types.h.

◆ dphi_prev

c_float* QPALMWorkspace::dphi_prev

previous gradient of the Lagrangian

Definition at line 243 of file types.h.

◆ d

c_float* QPALMWorkspace::d

primal update step

Definition at line 244 of file types.h.

◆ tau

c_float QPALMWorkspace::tau

stepsize

Definition at line 252 of file types.h.

◆ Qd

c_float* QPALMWorkspace::Qd

Q * d.

Definition at line 253 of file types.h.

◆ Ad

c_float* QPALMWorkspace::Ad

A * d.

Definition at line 254 of file types.h.

◆ sqrt_sigma

c_float* QPALMWorkspace::sqrt_sigma

elementwise sqrt(sigma)

Definition at line 255 of file types.h.

◆ sqrt_delta

c_float QPALMWorkspace::sqrt_delta

sqrt(penalty update factor)

Definition at line 256 of file types.h.

◆ eta

c_float QPALMWorkspace::eta

linesearch parameter

Definition at line 257 of file types.h.

◆ beta

c_float QPALMWorkspace::beta

linesearch parameter

Definition at line 258 of file types.h.

◆ delta

c_float* QPALMWorkspace::delta

linesearch parameter

Definition at line 259 of file types.h.

◆ alpha

c_float* QPALMWorkspace::alpha

linesearch parameter

Definition at line 260 of file types.h.

◆ temp_2m

c_float* QPALMWorkspace::temp_2m

placeholder for vector of size 2m

Definition at line 261 of file types.h.

◆ delta2

c_float* QPALMWorkspace::delta2

delta .* delta

Definition at line 262 of file types.h.

◆ delta_alpha

c_float* QPALMWorkspace::delta_alpha

delta .* alpha

Definition at line 263 of file types.h.

◆ s

array_element* QPALMWorkspace::s

alpha ./ delta

Definition at line 264 of file types.h.

◆ index_L

c_int* QPALMWorkspace::index_L

index set L (where s>0)

Definition at line 265 of file types.h.

◆ index_P

c_int* QPALMWorkspace::index_P

index set P (where delta>0)

Definition at line 266 of file types.h.

◆ index_J

c_int* QPALMWorkspace::index_J

index set J (L xor P)

Definition at line 267 of file types.h.

◆ eps_pri

c_float QPALMWorkspace::eps_pri

primal tolerance

Definition at line 275 of file types.h.

◆ eps_dua

c_float QPALMWorkspace::eps_dua

dual tolerance

Definition at line 276 of file types.h.

◆ eps_dua_in

c_float QPALMWorkspace::eps_dua_in

intermediate dual tolerance

Definition at line 277 of file types.h.

◆ eps_abs_in

c_float QPALMWorkspace::eps_abs_in

intermediate absolute tolerance

Definition at line 278 of file types.h.

◆ eps_rel_in

c_float QPALMWorkspace::eps_rel_in

intermediate relative tolerance

Definition at line 279 of file types.h.

◆ delta_y

c_float* QPALMWorkspace::delta_y

difference of consecutive dual iterates

Definition at line 286 of file types.h.

◆ Atdelta_y

c_float* QPALMWorkspace::Atdelta_y

A' * delta_y.

Definition at line 287 of file types.h.

◆ delta_x

c_float* QPALMWorkspace::delta_x

difference of consecutive primal iterates

Definition at line 295 of file types.h.

◆ Qdelta_x

c_float* QPALMWorkspace::Qdelta_x

Q * delta_x.

Definition at line 296 of file types.h.

◆ Adelta_x

c_float* QPALMWorkspace::Adelta_x

A * delta_x.

Definition at line 297 of file types.h.

◆ D_temp

c_float* QPALMWorkspace::D_temp

temporary primal variable scaling vectors

Definition at line 306 of file types.h.

◆ E_temp

c_float* QPALMWorkspace::E_temp

temporary constraints scaling vectors

Definition at line 307 of file types.h.

◆ solver

QPALMSolver* QPALMWorkspace::solver

linsys variables

Definition at line 311 of file types.h.

◆ settings

QPALMSettings* QPALMWorkspace::settings

problem settings

Definition at line 312 of file types.h.

◆ scaling

QPALMScaling* QPALMWorkspace::scaling

scaling vectors

Definition at line 313 of file types.h.

◆ solution

QPALMSolution* QPALMWorkspace::solution

problem solution

Examples
examples/c/qpalm_demo.c.

Definition at line 314 of file types.h.

◆ info

QPALMInfo* QPALMWorkspace::info

solver information

Examples
examples/c/qpalm_demo.c.

Definition at line 315 of file types.h.

◆ timer

QPALMTimer* QPALMWorkspace::timer

timer object

Definition at line 318 of file types.h.

◆ cancel

atomic_bool QPALMWorkspace::cancel

Cancel the solver (from other thread or signal)

Definition at line 321 of file types.h.


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