# QPALM **Repository Path**: jrdtec/QPALM ## Basic Information - **Project Name**: QPALM - **Description**: No description available - **Primary Language**: Unknown - **License**: LGPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-03 - **Last Updated**: 2026-03-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [![Python Wheels tests](https://github.com/kul-optec/QPALM/actions/workflows/wheel-short-test.yml/badge.svg)](https://github.com/kul-optec/QPALM/actions/workflows/wheel-short-test.yml) [![Matlab Package](https://github.com/kul-optec/QPALM/actions/workflows/matlab.yml/badge.svg)](https://github.com/kul-optec/QPALM/actions/workflows/matlab.yml) [![Test Coverage](https://img.shields.io/endpoint?url=https://kul-optec.github.io/QPALM/Coverage/shield.io.coverage.json)](https://kul-optec.github.io/QPALM/Coverage/index.html) [![PyPI - Downloads](https://img.shields.io/pypi/dm/qpalm?label=PyPI)](https://pypi.org/project/qpalm) # Proximal Augmented Lagrangian method for Quadratic Programs QPALM is a numerical optimization package that finds stationary points of (possibly **nonconvex**) quadratic programs, that is $$ \begin{equation} \begin{aligned} & \underset{x}{\textbf{minimize}} & & \tfrac12 x^\top Q x + q^\top x\\ & \textbf{subject to} & & b_\mathrm{min} \le Ax \le b_\mathrm{max} \\ \end{aligned} \end{equation} $$ ## Documentation The documentation can be found at: Examples are included as well: ## Installation ### Python The QPALM Python interface is available from [PyPI](https://pypi.org/project/qpalm), you can install it using: ```sh python3 -m pip install qpalm ``` ### Julia In the Julia console, press `]` to enter the Pkg REPL and install QPALM using: ```sh add QPALM ``` ### Matlab To install the Matlab interface, download `qpalm-matlab-{glnxa64,win64,maci64,maca64}.zip` from the [releases page](https://github.com/kul-optec/QPALM/releases/latest), and extract it into the `~/Documents/MATLAB` folder. As a one-liner in the Matlab console: ```matlab unzip(['https://github.com/kul-optec/QPALM/releases/latest/download/qpalm-matlab-' computer('arch') '.zip'], userpath) ``` Matlab versions R2021a and later are supported (R2023b and later on ARM64). ### C/C++/Fortran Pre-built C, C++ and Fortran libraries are available from the [releases page](https://github.com/kul-optec/QPALM/releases). ### Building QPALM from source For detailed instructions on how to build QPALM from source, please see ## Supported platforms QPALM is written in C, with interfaces for C++, Python, Julia, Matlab and Fortran. The code itself is portable across all major platforms. Binaries are available for Linux, Windows and macOS on x86-64 and ARM64*. ## Benchmarks Check out the papers below for detailed benchmark tests comparing QPALM with state-of-the-art solvers. * [QPALM: A Newton-type Proximal Augmented Lagrangian Method for Quadratic Programs](https://arxiv.org/abs/1911.02934) * [QPALM: A Proximal Augmented Lagrangian Method for Nonconvex Quadratic Programs](https://arxiv.org/abs/2010.02653) ## Citing If you use QPALM in your research, please cite the following paper: ```bibtex @inproceedings{hermans2019qpalm, author = {Hermans, B. and Themelis, A. and Patrinos, P.}, booktitle = {58th IEEE Conference on Decision and Control}, title = {{QPALM}: {A} {N}ewton-type {P}roximal {A}ugmented {L}agrangian {M}ethod for {Q}uadratic {P}rograms}, year = {2019}, volume = {}, number = {}, pages = {}, doi = {}, issn = {}, month = {Dec.}, } ``` ## Previous versions The original repository by Ben Hermans at will no longer be maintained. ## License QPALM is licensed under LGPL v3.0. Some modules are used in this software: * LADEL: authored by Ben Hermans and licensed under [LGPL-v3](LICENSE). * LOBPCG: the version of LOBPCG used here was written by Ben Hermans and licensed under the GNU Lesser General Public License v3.0, see [LOBPCG/LICENSE](https://github.com/Benny44/LOBPCG/blob/master/LICENSE). * LAPACK: authored by The University of Tennessee and The University of Tennessee Research Foundation, The University of California Berkeley, and The University of Colorado Denver, and licensed under BSD-3, see [here](https://github.com/Reference-LAPACK/lapack/blob/master/LICENSE).