QPALM
A proximal augmented Lagrangian method for QPs.
|
Routines to deal with nonconvex QPs. More...
#include "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. More... | |
void | set_settings_nonconvex (QPALMWorkspace *work, solver_common *c) |
Set the proximal parameters for nonconvex QPs. More... | |
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.
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 |
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 ). This ensures positive definiteness of
during the iterations. The minimum eigenvalue is computed using lobpcg.
work | Workspace |
c | Linear systems solver environment |