Custom memory allocation, print and utility functions, and data types for floats and ints.
ladel_double c_float
type for floating point numbers
QPALM_EXPORT void qpalm_warm_start(QPALMWorkspace *work, const c_float *x_warm_start, const c_float *y_warm_start)
Warm start workspace variables x, x_0, x_prev, Ax, Qx, y and sigma.
QPALM_EXPORT void qpalm_update_Q_A(QPALMWorkspace *work, const c_float *Qx, const c_float *Ax)
Update the matrix entries of Q and A.
QPALM_EXPORT void qpalm_update_bounds(QPALMWorkspace *work, const c_float *bmin, const c_float *bmax)
Update the lower and upper bounds.
QPALM_EXPORT void qpalm_set_default_settings(QPALMSettings *settings)
Set default settings from constants.h file.
QPALM_EXPORT void qpalm_update_settings(QPALMWorkspace *work, const QPALMSettings *settings)
Update the settings to the new settings.
QPALM_EXPORT void qpalm_cleanup(QPALMWorkspace *work)
Cleanup the workspace by deallocating memory.
QPALM_EXPORT void qpalm_solve(QPALMWorkspace *work)
Solve the quadratic program.
QPALM_EXPORT QPALMWorkspace * qpalm_setup(const QPALMData *data, const QPALMSettings *settings)
Initialize QPALM solver allocating memory.
QPALM_EXPORT void qpalm_update_q(QPALMWorkspace *work, const c_float *q)
Update the linear part of the cost.
QPALM main solver routines.
Linear algebra with vectors.
Routines to perform exact linesearch.
Functions to calculate the semismooth Newton direction.
Routines to deal with nonconvex QPs.
Problem data scaling during setup.
Interface and wrapper to matrix/factorization (ladel) functions.
Routines to check the termination and infeasibility criteria.
Internal data structures used in QPALM.
Validation of the user provided settings and data.