C++ implementations of the algorithm of Goldfarb and Idnani for the solution of a (convex) QP
Project description
eiquadprog
This repo contains different C++ implementations of the algorithm of Goldfarb and Idnani for the solution of a (convex) Quadratic Programming problem by means of a dual method.
The problem is in the form: min 0.5 * x G x + g0 x s.t. CE^T x + ce0 = 0 CI^T x + ci0 >= 0
There are 3 implementations:
eiquadprog.hpp
: the original C++ implementationeiquadprog-fast.hpp
: an improved version employing a wrapper, avoiding dynamic memory allocationeiquadprog-rt.hpp
: similar to the above, it employs fixed-size Eigen vectors. This requires the problem dimensions to be known at compile time and is recommended only for small problems.
Please refer to the unit tests for examples of usage.
Authors
Eiquadprog was created at LAAS-CNRS by Gabriele Buondonno, based on parts from TSID by Andrea Del Prete.
This work was based on previous libraries:
- QuadProg++, Copyright (C) 2007-2016 Luca Di Gaspero, MIT License.
- uQuadProg, Copyright (C) 2006 - 2017 Angelo Furfaro, LGPL v3.
- eiquadprog.hpp, Copyright (2011) Benjamin Stephens, GPL v2.
- quadprog++ Copyright (C) 2014-2015 Gael Guennebaud, LGPL v3.
Project details
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
File details
Details for the file eiquadprog-1.2.8.tar.gz
.
File metadata
- Download URL: eiquadprog-1.2.8.tar.gz
- Upload date:
- Size: 869.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9e16b578408e749ca1b2a3f550c80f70583873b7ae5058c5d48394b13967043a |
|
MD5 | 8a111597b97f219a2c700bde93c4bdfa |
|
BLAKE2b-256 | 2c556fa5374ebe966ae40c419a6e7122656d1b22b53f9787d0e603a8a7fb8082 |
File details
Details for the file eiquadprog-1.2.8-0-py3-none-musllinux_1_1_x86_64.whl
.
File metadata
- Download URL: eiquadprog-1.2.8-0-py3-none-musllinux_1_1_x86_64.whl
- Upload date:
- Size: 100.3 kB
- Tags: Python 3, musllinux: musl 1.1+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | d7c881b40998893fc7009b9689f35f395e9e9a653d65cd124a5764c0311b648d |
|
MD5 | 68d6c1f889b27e4fa17d1979a9040ea8 |
|
BLAKE2b-256 | 1e5bf9deb950b4902ac46b950eac00e0830d4f37942b87a8f0ca9d50bad6563b |
File details
Details for the file eiquadprog-1.2.8-0-py3-none-manylinux_2_28_x86_64.whl
.
File metadata
- Download URL: eiquadprog-1.2.8-0-py3-none-manylinux_2_28_x86_64.whl
- Upload date:
- Size: 115.1 kB
- Tags: Python 3, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fabbba52ceb74f49ac089b504a9914206b6a515809f2db96aa8638d7c1faa1c3 |
|
MD5 | 4fbd0e44454825252402e6313cc9943e |
|
BLAKE2b-256 | 0da1627779a388c45272d2073fd6117d90ab26af1ba8347909c659b3002a52b1 |
File details
Details for the file eiquadprog-1.2.8-0-py3-none-manylinux_2_28_aarch64.whl
.
File metadata
- Download URL: eiquadprog-1.2.8-0-py3-none-manylinux_2_28_aarch64.whl
- Upload date:
- Size: 104.4 kB
- Tags: Python 3, manylinux: glibc 2.28+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 04695b8c04042afc6f7ac31af8086866cee5e3c6602fa1f57e3cbab1735fd918 |
|
MD5 | 24d3477426883afff4d6f4ca3100c82a |
|
BLAKE2b-256 | 9132af134ef8800568db2fe2c12eccfefa32cc8d591bbe4b65caa8a535451aa5 |
File details
Details for the file eiquadprog-1.2.8-0-py3-none-macosx_12_0_x86_64.whl
.
File metadata
- Download URL: eiquadprog-1.2.8-0-py3-none-macosx_12_0_x86_64.whl
- Upload date:
- Size: 102.3 kB
- Tags: Python 3, macOS 12.0+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.12
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb31732fe5ea313f1d2c4999be86890ac0abe10cd32e1892c4ef4b1de3a4723a |
|
MD5 | 4adb5e019b88f8ccf7ba27cdbe92cc72 |
|
BLAKE2b-256 | 93036b291232ea2380d96dbd525da15a20785e07ee1662412b74d27844a58e39 |
File details
Details for the file eiquadprog-1.2.8-0-py3-none-macosx_12_0_arm64.whl
.
File metadata
- Download URL: eiquadprog-1.2.8-0-py3-none-macosx_12_0_arm64.whl
- Upload date:
- Size: 87.3 kB
- Tags: Python 3, macOS 12.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.10.6
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6da4aea44909ec92a8d3bfe2a39f4e4067293ae28298b7637dac2209e4453e3a |
|
MD5 | eea1f189b1a06ed6527dd122eac6cea3 |
|
BLAKE2b-256 | 8325ad5445d04846931cc3ba4e7c8c630f20024b7a144d72c329876381398058 |