QPALM main
Proximal Augmented Lagrangian method for Quadratic Programs
Loading...
Searching...
No Matches
Functions
nonconvex.h File Reference

Detailed Description

Routines to deal with nonconvex QPs.

Author
Ben Hermans

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>
+ Include dependency graph for nonconvex.h:
+ This graph shows which files directly or indirectly include this file:

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.
 

Function Documentation

◆ gershgorin_max()

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.

Note
M is assumed to be symmetric
Parameters
MMatrix
centerVector of size M->ncol to hold the values of the centers of the discs
radiusVector of size M->ncol to hold the values of the radii of the discs
Returns
Upper bound on the eigenvalues of M

Definition at line 353 of file nonconvex.c.

+ Here is the caller graph for this function:

◆ set_settings_nonconvex()

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.

Parameters
workWorkspace
cLinear systems solver environment

Definition at line 331 of file nonconvex.c.