QPALM
1.2.2
Proximal Augmented Lagrangian method for Quadratic Programs
|
Routines to deal with nonconvex QPs.
The functions in this file serve to set up QPALM for a nonconvex QP. The main routine in this file computes the minimum eigenvalue of a square matrix, based on lobpcg [3]. Furthermore, some setting updates are performed. In addition, the spectrum of a matrix can be upper bounded using Gershgorin's circle theorem, which is used in the gamma_boost routine in iteration.c.
Definition in file nonconvex.h.
#include <qpalm/types.h>
Go to the source code of this file.
Functions | |
c_float | gershgorin_max (solver_sparse *M, c_float *center, c_float *radius) |
Calculate the Gershgorin upper bound for the eigenvalues of a symmetric matrix. | |
void | set_settings_nonconvex (QPALMWorkspace *work, solver_common *c) |
Set the proximal parameters for nonconvex QPs. | |
c_float gershgorin_max | ( | solver_sparse * | M, |
c_float * | center, | ||
c_float * | radius | ||
) |
Calculate the Gershgorin upper bound for the eigenvalues of a symmetric matrix.
This routine uses the Gershgorin circle theorem to compute an upper bound on the eigenvalues of a matrix.
M | Matrix |
center | Vector of size M->ncol to hold the values of the centers of the discs |
radius | Vector of size M->ncol to hold the values of the radii of the discs |
Definition at line 353 of file nonconvex.c.
void set_settings_nonconvex | ( | QPALMWorkspace * | work, |
solver_common * | c | ||
) |
Set the proximal parameters for nonconvex QPs.
QPALM can deal with nonconvex QPs, by setting the initial and maximal proximal penalty small enough (smaller than \( \frac{1}{|\lambda_\textrm{min}|} \)). This ensures positive definiteness of \( Q + \frac{1}{\gamma}I \) during the iterations. The minimum eigenvalue is computed using lobpcg.
work | Workspace |
c | Linear systems solver environment |
Definition at line 331 of file nonconvex.c.