QPALM
develop
Proximal Augmented Lagrangian method for Quadratic Programs
|
#include <qpalm.hpp>
Stores the matrices and vectors that define the problem.
\begin{align*} & \operatorname*{\mathrm{minimize}}_x & & \tfrac{1}{2}x^\top Q x + q^\top x + c \\ & \text{subject to} & & b_\mathrm{min} \leq Ax \leq b_\mathrm{max} \end{align*}
Public Member Functions | |
Data (index_t n, index_t m) | |
Construct a problem of dimension n with m constraints. | |
Data (index_t n, index_t m, index_t nnz_Q, index_t nnz_A) | |
Construct a problem of dimension n with m constraints, allocating an uninitialized upper-triangular Q matrix (with implicit symmetry) of nnz_Q entries, and an uninitialized A matrix of nnz_A entries. | |
void | set_Q (const sparse_mat_ref_t &Q) |
Set the sparse Q matrix. Creates a copy. | |
void | set_A (const sparse_mat_ref_t &A) |
Set the sparse A matrix. Creates a copy. | |
const ::QPALMData * | get_c_data_ptr () const |
Get a pointer to the underlying C data structure. | |
sparse_mat_view_t | get_Q () const |
Get a view on the Q matrix of the problem. | |
sparse_mat_view_t | get_A () const |
Get a view on the A matrix of the problem. | |
Data Fields | |
index_t | n |
Problem dimension (size of x and q, number rows and columns of Q, number of columns of A). | |
index_t | m |
Number of constraints (size of bmin and bmax, number of rows of A). | |
ladel_sparse_matrix_ptr | Q = ladel_sparse_create(n, n, 0, UPPER) |
ladel_sparse_matrix_ptr | A = ladel_sparse_create(m, n, 0, UNSYMMETRIC) |
c_float | c = 0 |
vec_t | q = vec_t::Zero(n) |
vec_t | bmin = vec_t::Zero(m) |
vec_t | bmax = vec_t::Zero(m) |
|
inline |
Set the sparse Q matrix. Creates a copy.
Definition at line 65 of file qpalm.hpp.
|
inline |
Set the sparse A matrix. Creates a copy.
Definition at line 71 of file qpalm.hpp.
const ::QPALMData * qpalm::Data::get_c_data_ptr | ( | ) | const |
|
inline |
|
inline |
index_t qpalm::Data::n |
index_t qpalm::Data::m |
ladel_sparse_matrix_ptr qpalm::Data::Q = ladel_sparse_create(n, n, 0, UPPER) |
ladel_sparse_matrix_ptr qpalm::Data::A = ladel_sparse_create(m, n, 0, UNSYMMETRIC) |
c_float qpalm::Data::c = 0 |