Proximal Augmented Lagrangian method for Quadratic Programs
Project description
QPALM is a numerical optimization package that finds stationary points of (possibly nonconvex) quadratic programs, that is
..math:
\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}
Documentation
Installation
Python
The QPALM Python interface is available from PyPI, you can install it using:
python3 -m pip install qpalm
Julia, Matlab, C/C++/Fortran
Installation instructions for the Julia, Matlab, C, C++ and Fortran interfaces, as well as instructions for building QPALM from source, can be found on GitHub.
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 on x86-64, AArch64, ARMv7 and ARMv6, for macOS on x86-64 and ARM64, and for Windows on x86-64.
Benchmarks
Check out the papers below for detailed benchmark tests comparing QPALM with state-of-the-art solvers.
Citing
If you use QPALM in your research, please cite the following paper:
@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.},
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Hashes for qpalm-1.1.4-pp39-pypy39_pp73-manylinux_2_27_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 31fa10a9e97802c13eb48dee6e129de876688fb4160559c5b1ce77ac23b72b51 |
|
MD5 | d39ec076c4e97249f8981b485310b72e |
|
BLAKE2b-256 | f1c7a1f64ecd902cba3cf1cc9f4861dcbecd016b758b1390f61df8be3695d357 |
Hashes for qpalm-1.1.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f846582436a12b6fae43e3652743df7cb2b1584179effd83c62ceafd12e0563d |
|
MD5 | b0826d42948fc9429b4aa4dcd0042f28 |
|
BLAKE2b-256 | 3dc79ab7bb25347785ff8fbb6a81d4eb715be537d06f638e386e1a4759fbb387 |
Hashes for qpalm-1.1.4-pp38-pypy38_pp73-manylinux_2_27_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e92c4d56117fb95c10ad21641aa7a2fe21a9d39e57e805ec4f2bfd090e805ad1 |
|
MD5 | 24c748336aa586fbd93006ad899a7390 |
|
BLAKE2b-256 | 3e6024521598b604b452b74c267c577a3638c0b437c70b783ac4cd53978692ae |
Hashes for qpalm-1.1.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a3910a559bca68170eb86f324732e44aaad8d6acc05afddbbe5b93cee2caa742 |
|
MD5 | 9555ef9b0b93c4e3ac756713cb9105f8 |
|
BLAKE2b-256 | a73a60915a5e23c9a39b81d55dc62831e1f1665b9c87ad8ee47d44432a827ed9 |
Hashes for qpalm-1.1.4-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cffcf0b5107278e70c2af9a64244693b88819421b5f70ea85d0bb4af1a456777 |
|
MD5 | e8a3a9048ba75fa05554a3f44f699d94 |
|
BLAKE2b-256 | 01941424bf014f12008053c9770133f1516e65f2446b38b8a9e9a4e627d82e7e |
Hashes for qpalm-1.1.4-cp311-cp311-manylinux_2_27_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ae4a8cc3f9f017581ea180ba0b721d47d5038c6fe026cbcbe39de77d3859f4e |
|
MD5 | b173a3720d1627dd81f1d268ef8e0da2 |
|
BLAKE2b-256 | a16da7a17e6dbba21ece1512ce31eeeef55431f9064b92b3d15ebfd628e56325 |
Hashes for qpalm-1.1.4-cp311-cp311-manylinux_2_27_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 15773893b88b3dd50e6bfdd874c05d3413b840cb55d4833c058535103636072b |
|
MD5 | b8a4ccbfdf41ff2ac5703adf09e1ab71 |
|
BLAKE2b-256 | 37ef4f300261e8f7a7c36716fb54fa789a285c398604513ff21478e6970949b6 |
Hashes for qpalm-1.1.4-cp311-cp311-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 213f84f32cd998cc567c021da24c62e6dfe3fa63d3d6ce0612aaee9af5156354 |
|
MD5 | d92db0c0078aee0460134ac39e1934b2 |
|
BLAKE2b-256 | 8637ca33cd52d858b4d0fce90560ef25044d641b17390ebe8d8dfbe0702e881a |
Hashes for qpalm-1.1.4-cp311-cp311-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1a278017437486198354c1e4054baab87dbd6d03334d4ba449e61355f516a32 |
|
MD5 | a813f09d3f84fce4d84155077ec6db17 |
|
BLAKE2b-256 | 8abbb492bd8d060d2419da060717ed30234bb4f290f690bc77c3b84d4159111e |
Hashes for qpalm-1.1.4-cp311-cp311-linux_armv6l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2fc853a3caacdf6f68c078f1155b45adb62c99084ff90e15dcaf7a6c40bdacb9 |
|
MD5 | 2e5915e8bd947a4f1366815353c9d9e2 |
|
BLAKE2b-256 | 0a830956ae3671e45bbca100dce74d4cc3d28b4ed895f33ef695dda40c80c781 |
Hashes for qpalm-1.1.4-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87b45e41126a7924e2699a35ad09f6569054ba85ffcd21d36e6971085b51de73 |
|
MD5 | 7e1ef32310275adb1db09d4ff3194f24 |
|
BLAKE2b-256 | 06f75c3cdac2b0c00a99d5967b0388c366e049c38822704f38a33c21d2d90aa0 |
Hashes for qpalm-1.1.4-cp310-cp310-manylinux_2_27_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2ffc93539917dd356b0d4461276b97a833e4cdac476908f42338c97635f28ad6 |
|
MD5 | bfeb27bed3d3e29d4c45902c2a270d46 |
|
BLAKE2b-256 | 09953abc09ac01fb74cdc0f647972905c0f34b9f70f8f066c6e52b6944144168 |
Hashes for qpalm-1.1.4-cp310-cp310-manylinux_2_27_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6e14dc36411e9022242fe7917e2589844b6f67237e1371aa25426fcfd2627fbe |
|
MD5 | bfce6d538f7207f25af7aa8608794414 |
|
BLAKE2b-256 | 361328ff1485faf155342ad43c38ff51dad943e4d43fe3bac86818de8082db5a |
Hashes for qpalm-1.1.4-cp310-cp310-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6421e995e72eeb8d8a8000774550372490befbd9ae65a5bdb899c2c60ca7222b |
|
MD5 | 8a6e62dd7918ca71e78e4301b9c3e1eb |
|
BLAKE2b-256 | 4c659907838c9633ec8109d0a34d2c4b3c472173d8e7db6d7c69d3e82a151db4 |
Hashes for qpalm-1.1.4-cp310-cp310-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e730cfadae7ce463fad866c1579fb7583837c5628bebd625ebaaccc705ade25 |
|
MD5 | 08ab3c1f3c47c5dba953b69d82138c3b |
|
BLAKE2b-256 | 2690d4b7f4a7c60341a102e609d0832fe00650af89dd72a90be97afd120ff7d3 |
Hashes for qpalm-1.1.4-cp310-cp310-linux_armv6l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2527c96f17c358e3a0489970e177365652673866b20ba4b77546d8adc13ba8e4 |
|
MD5 | 1cbd630e8b56c099b7de9ff84f2c2fec |
|
BLAKE2b-256 | 40577bbdf0900f3535d81024dee9bb50032714e6e2a1c965f104bff058af5529 |
Hashes for qpalm-1.1.4-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | cc94c6f4fe4e583a9e720bfad6c32bb07c75634b5b1ef81014322f4b0751b444 |
|
MD5 | 9f7ebaecd0be6441fbff7e0980dc7f57 |
|
BLAKE2b-256 | fba4fdbe919af098da0a9a8d3d859cdcf321f14405b9c0c1aba129cdd2ee0f1c |
Hashes for qpalm-1.1.4-cp39-cp39-manylinux_2_27_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 80a853e2d7d9c82eb3abe05bc55bcdea2e04cb2c8a7303740dae4b8cedb02842 |
|
MD5 | 7c4fda2edecbb37409a57491a289a817 |
|
BLAKE2b-256 | 7155865a16d6dc105f98f2973a45db35ea21309fb5c5f6e3d0f384182d5c20b3 |
Hashes for qpalm-1.1.4-cp39-cp39-manylinux_2_27_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5f1ff4c1dbbe4f2867be7f3fb8d06b234e524375d3d9702560124d7d045a9db8 |
|
MD5 | a145ad9aa8b60877d9fd6d4b6457e588 |
|
BLAKE2b-256 | 0a03676ee922d86873a1651b79acdd6cc22531e4804643b7654406fddbe5732b |
Hashes for qpalm-1.1.4-cp39-cp39-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4bb9a0b29e86c766ca04375570f2d0e1972cb9329216136d90b0bdef528fd0e3 |
|
MD5 | 7bc45d5b1f6f36211442cada3f85758d |
|
BLAKE2b-256 | 6c9f1c18dc40de011fdf96ce157ea5ff850bdcd59641507f5881c1ad74b83f15 |
Hashes for qpalm-1.1.4-cp39-cp39-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2084e0e88938fac9a9cd3b476181bb09d63beee434b719c6a6e7161ed65398df |
|
MD5 | 306ea6237035f3092f1dd0b01b784d6e |
|
BLAKE2b-256 | c68a0fac8628c6b2cc839ba0517bb1c49da289651741b13b4098a05dbc5118c8 |
Hashes for qpalm-1.1.4-cp39-cp39-linux_armv6l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f8e55847c82c67d63398a9c598ebe4926cd9cb7c82a8e4228014ab9d65328e77 |
|
MD5 | 3322c8e56989b49680db75e2b6f9a3cd |
|
BLAKE2b-256 | fc826d04f7c106f4d19750fa694017b517fd98005f26832fc396fe7a2281aa71 |
Hashes for qpalm-1.1.4-cp38-cp38-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ea639e1147b808a94479cdac61eee6aaae624b701ae394920af2b6c452cbbfb |
|
MD5 | 9e35e2f829a2239e24e79cac850f9d53 |
|
BLAKE2b-256 | 0b482c52517d799628b7b27aaae7aaafbb8715920e597f853c98729809e4609a |
Hashes for qpalm-1.1.4-cp38-cp38-manylinux_2_27_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | c46c634ca493cbf37a92741e38849e34d7ae8d204bba2c0cd49c3bc59b84de24 |
|
MD5 | b196caf31c98e2f68943524a6ebbf7f2 |
|
BLAKE2b-256 | d715e6fc8c1b3448fb2b0dd086acea62bb552e4e2e6825312b44bc680e613740 |
Hashes for qpalm-1.1.4-cp38-cp38-manylinux_2_27_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 87d543c7fb478f0296599d6208d808a789c0a2ce4dff2603e730b7f7ab12f833 |
|
MD5 | ca01709616232ebc1934bf1d19553819 |
|
BLAKE2b-256 | 80fa4f6a43d129a472c7421311a406cf9011026d98c0ae8bdabdbefb65bf9acc |
Hashes for qpalm-1.1.4-cp38-cp38-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 7d6289361b2bb6da8ea57c2dcd31eac6002dd665f9704e851331d74dcb756fce |
|
MD5 | d113fc0b107c3e089d47b3ed44cf8f0a |
|
BLAKE2b-256 | eb9fd47b697047f363068a6f6bce988413f0805485cb3398056bdb2f4d8fd3ec |
Hashes for qpalm-1.1.4-cp38-cp38-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b4dc9b6606bd4c72860b6604ae22d58a369c1df38b5cc9d60ed5a60ebcbe516c |
|
MD5 | b8fb446070a5e90e7606ed34d60d03f0 |
|
BLAKE2b-256 | a93ad08106c425c23ac031bbaa45f92a67f7256e7bd7b8a0c5e745df68d13927 |
Hashes for qpalm-1.1.4-cp38-cp38-linux_armv6l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0bbb4838aa3069befa4aa8e338a94056963bb6decd8d71f09e2a66d9b1240316 |
|
MD5 | cd272eb92fbd32a9c0f36650566a8e49 |
|
BLAKE2b-256 | 5234894426434c459e3c1cb5e4ab935b8473dbf08d53f7f2c5fc668daed461b6 |
Hashes for qpalm-1.1.4-cp37-cp37m-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | a75349b7916f22cf10b666458b4f19e743d74f2d361ecae845b8ad3a8041836b |
|
MD5 | 8557ff66ca4f7f1e1ffcb1ec2870c122 |
|
BLAKE2b-256 | 26da8ddd9821b5e87164ec2d983de282cb180ce6da9557e01c26a386b5b6452d |
Hashes for qpalm-1.1.4-cp37-cp37m-manylinux_2_27_armv7l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ed074b3f069df6e89390ad42efca8792d42a62a5fa8a8729ad492a06ccb970d0 |
|
MD5 | 0e38aac9db9159dfd54fbaf2de06e09a |
|
BLAKE2b-256 | f0373bb357ea40910c2367688800da529020792f4488d06653888ef684815d0f |
Hashes for qpalm-1.1.4-cp37-cp37m-manylinux_2_27_aarch64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 86bd239e508b570734569213eca23bd1748187c74a79377c2a36aa2a9321babd |
|
MD5 | fbb7b6da801b10f6a16fae28dcb516f3 |
|
BLAKE2b-256 | 30dd44a65151e8648b786f92f2db1db469dcc01327de598d00e109b808f6afc2 |
Hashes for qpalm-1.1.4-cp37-cp37m-manylinux_2_17_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6b54edc00c46d2f33e7d705c2e55011b033efbb8e2c43660c5c2ed311c438e6 |
|
MD5 | 0cc36264e54df591d915b85c26d42c22 |
|
BLAKE2b-256 | 595368d1ed0110f4de996dc471dd4633fccc7a02e74a68cd982345d2af6ebdfd |
Hashes for qpalm-1.1.4-cp37-cp37m-macosx_10_9_universal2.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6ec6a01faca8354f407bca9e2b6597233864355b9b38f77d6d32f5b07b258664 |
|
MD5 | d94591749972aecdbc7dd8df7b370b78 |
|
BLAKE2b-256 | 2a421cf1128eb90db3c256b85c3adadd9ae8e433daf7e7e141c753d3e7c25020 |
Hashes for qpalm-1.1.4-cp37-cp37m-linux_armv6l.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 27a5b65b67fce453df8ddf5ef001ec25993be30cabfef9c581dffee26bfb2526 |
|
MD5 | c32c4b2bfe1ed6709adfbcb234986242 |
|
BLAKE2b-256 | d8c2ebada82f93d3e8fcab7c29c31ccea745e80ea82fb06ab9a0bd4a80c0025f |