Skip to main content

C++ implementations of the algorithm of Goldfarb and Idnani for the solution of a (convex) QP

Project description

eiquadprog

Pipeline status Coverage report pre-commit.ci status

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++ implementation
  • eiquadprog-fast.hpp: an improved version employing a wrapper, avoiding dynamic memory allocation
  • eiquadprog-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

eiquadprog-1.2.8.tar.gz (869.5 kB view details)

Uploaded Source

Built Distributions

eiquadprog-1.2.8-0-py3-none-musllinux_1_1_x86_64.whl (100.3 kB view details)

Uploaded Python 3 musllinux: musl 1.1+ x86-64

eiquadprog-1.2.8-0-py3-none-manylinux_2_28_x86_64.whl (115.1 kB view details)

Uploaded Python 3 manylinux: glibc 2.28+ x86-64

eiquadprog-1.2.8-0-py3-none-manylinux_2_28_aarch64.whl (104.4 kB view details)

Uploaded Python 3 manylinux: glibc 2.28+ ARM64

eiquadprog-1.2.8-0-py3-none-macosx_12_0_x86_64.whl (102.3 kB view details)

Uploaded Python 3 macOS 12.0+ x86-64

eiquadprog-1.2.8-0-py3-none-macosx_12_0_arm64.whl (87.3 kB view details)

Uploaded Python 3 macOS 12.0+ ARM64

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

Hashes for eiquadprog-1.2.8.tar.gz
Algorithm Hash digest
SHA256 9e16b578408e749ca1b2a3f550c80f70583873b7ae5058c5d48394b13967043a
MD5 8a111597b97f219a2c700bde93c4bdfa
BLAKE2b-256 2c556fa5374ebe966ae40c419a6e7122656d1b22b53f9787d0e603a8a7fb8082

See more details on using hashes here.

File details

Details for the file eiquadprog-1.2.8-0-py3-none-musllinux_1_1_x86_64.whl.

File metadata

File hashes

Hashes for eiquadprog-1.2.8-0-py3-none-musllinux_1_1_x86_64.whl
Algorithm Hash digest
SHA256 d7c881b40998893fc7009b9689f35f395e9e9a653d65cd124a5764c0311b648d
MD5 68d6c1f889b27e4fa17d1979a9040ea8
BLAKE2b-256 1e5bf9deb950b4902ac46b950eac00e0830d4f37942b87a8f0ca9d50bad6563b

See more details on using hashes here.

File details

Details for the file eiquadprog-1.2.8-0-py3-none-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for eiquadprog-1.2.8-0-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fabbba52ceb74f49ac089b504a9914206b6a515809f2db96aa8638d7c1faa1c3
MD5 4fbd0e44454825252402e6313cc9943e
BLAKE2b-256 0da1627779a388c45272d2073fd6117d90ab26af1ba8347909c659b3002a52b1

See more details on using hashes here.

File details

Details for the file eiquadprog-1.2.8-0-py3-none-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for eiquadprog-1.2.8-0-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 04695b8c04042afc6f7ac31af8086866cee5e3c6602fa1f57e3cbab1735fd918
MD5 24d3477426883afff4d6f4ca3100c82a
BLAKE2b-256 9132af134ef8800568db2fe2c12eccfefa32cc8d591bbe4b65caa8a535451aa5

See more details on using hashes here.

File details

Details for the file eiquadprog-1.2.8-0-py3-none-macosx_12_0_x86_64.whl.

File metadata

File hashes

Hashes for eiquadprog-1.2.8-0-py3-none-macosx_12_0_x86_64.whl
Algorithm Hash digest
SHA256 bb31732fe5ea313f1d2c4999be86890ac0abe10cd32e1892c4ef4b1de3a4723a
MD5 4adb5e019b88f8ccf7ba27cdbe92cc72
BLAKE2b-256 93036b291232ea2380d96dbd525da15a20785e07ee1662412b74d27844a58e39

See more details on using hashes here.

File details

Details for the file eiquadprog-1.2.8-0-py3-none-macosx_12_0_arm64.whl.

File metadata

File hashes

Hashes for eiquadprog-1.2.8-0-py3-none-macosx_12_0_arm64.whl
Algorithm Hash digest
SHA256 6da4aea44909ec92a8d3bfe2a39f4e4067293ae28298b7637dac2209e4453e3a
MD5 eea1f189b1a06ed6527dd122eac6cea3
BLAKE2b-256 8325ad5445d04846931cc3ba4e7c8c630f20024b7a144d72c329876381398058

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page