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.9.tar.gz (880.0 kB view details)

Uploaded Source

Built Distributions

eiquadprog-1.2.9-0-py3-none-musllinux_1_2_x86_64.whl (118.5 kB view details)

Uploaded Python 3 musllinux: musl 1.2+ x86-64

eiquadprog-1.2.9-0-py3-none-musllinux_1_2_aarch64.whl (108.6 kB view details)

Uploaded Python 3 musllinux: musl 1.2+ ARM64

eiquadprog-1.2.9-0-py3-none-manylinux_2_28_x86_64.whl (112.9 kB view details)

Uploaded Python 3 manylinux: glibc 2.28+ x86-64

eiquadprog-1.2.9-0-py3-none-manylinux_2_28_aarch64.whl (106.9 kB view details)

Uploaded Python 3 manylinux: glibc 2.28+ ARM64

eiquadprog-1.2.9-0-py3-none-macosx_11_0_arm64.whl (90.7 kB view details)

Uploaded Python 3 macOS 11.0+ ARM64

eiquadprog-1.2.9-0-py3-none-macosx_10_9_x86_64.whl (102.7 kB view details)

Uploaded Python 3 macOS 10.9+ x86-64

File details

Details for the file eiquadprog-1.2.9.tar.gz.

File metadata

  • Download URL: eiquadprog-1.2.9.tar.gz
  • Upload date:
  • Size: 880.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.8

File hashes

Hashes for eiquadprog-1.2.9.tar.gz
Algorithm Hash digest
SHA256 7fc82c4c476f636ff1aea4fd3c0baf301b4a6d349a0f3333d1600913d228ca3c
MD5 c2b02267909ea762da372c5fbbddc357
BLAKE2b-256 c1143e7fa16567e08e43e6e58aaeba9299977dd0d1c4ac5415e3b9a4a366a64f

See more details on using hashes here.

Provenance

The following attestation bundles were made for eiquadprog-1.2.9.tar.gz:

Publisher: release.yml on cmake-wheel/eiquadprog

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eiquadprog-1.2.9-0-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for eiquadprog-1.2.9-0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 416f4b584ea30072f166b2a6a3e0a63a2a260a378f9bcbd2dfc9cde13b810a50
MD5 99a5d399f63b618bd717ac387e20606b
BLAKE2b-256 64cb809f0c3e4e7bfe78c6dd468631896a8866c3ba853e3c855cc3fa58fae660

See more details on using hashes here.

Provenance

The following attestation bundles were made for eiquadprog-1.2.9-0-py3-none-musllinux_1_2_x86_64.whl:

Publisher: release.yml on cmake-wheel/eiquadprog

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eiquadprog-1.2.9-0-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for eiquadprog-1.2.9-0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 95ac0a753ceb6d2e232273cfa6e7a3b868782c6e1d4e4632d8e6279eef64459c
MD5 6358dd5d2e1ac0bb33f7a3e01766981d
BLAKE2b-256 bd9863beb8f79f68d15d057ced461573ba733e0404dcc4da5a0b170717433bc8

See more details on using hashes here.

Provenance

The following attestation bundles were made for eiquadprog-1.2.9-0-py3-none-musllinux_1_2_aarch64.whl:

Publisher: release.yml on cmake-wheel/eiquadprog

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for eiquadprog-1.2.9-0-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 439a1e80a60e09d4483f7937c36a3d114c8c8d0534cb53abb7a55bbea496bb03
MD5 915f1c490e4935d2c79dae528600382f
BLAKE2b-256 4dcdc80c605afde9c7f4a369721faea9f4bf61f1b9addcba6f6ad365a00d54cb

See more details on using hashes here.

Provenance

The following attestation bundles were made for eiquadprog-1.2.9-0-py3-none-manylinux_2_28_x86_64.whl:

Publisher: release.yml on cmake-wheel/eiquadprog

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

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

File metadata

File hashes

Hashes for eiquadprog-1.2.9-0-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a45d8e59ffb7512d07ddea261a95beb4a7e13e7bc65b2df3dd5a49f611b79bdb
MD5 f246aba94dd0a51f24dcf06b289d9e9c
BLAKE2b-256 f6c921a8b3630749f418223e7c55e1479652ce3e482f4d070e675245172e01f0

See more details on using hashes here.

Provenance

The following attestation bundles were made for eiquadprog-1.2.9-0-py3-none-manylinux_2_28_aarch64.whl:

Publisher: release.yml on cmake-wheel/eiquadprog

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eiquadprog-1.2.9-0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for eiquadprog-1.2.9-0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 0b88425ca352a9480cca6991303551c9bff5607d3d2d2e31bb2293a06de266ff
MD5 82c0fa1ff1ceeeed8fa53685d7bd5e78
BLAKE2b-256 b58763ef7a51df432f4f3a81de5f68c0655c866e86268862d62e6c11eb8c1a8c

See more details on using hashes here.

Provenance

The following attestation bundles were made for eiquadprog-1.2.9-0-py3-none-macosx_11_0_arm64.whl:

Publisher: release.yml on cmake-wheel/eiquadprog

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file eiquadprog-1.2.9-0-py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for eiquadprog-1.2.9-0-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ffcdb57617894fbd6693aee309f8bc20acb5f810071091b38e22c6c92690dead
MD5 b26675155b2e26abc1bafab6caf12a7a
BLAKE2b-256 a6a0a2bfde96870eb65029ce85a46a74a331e143454640f6d3266536d3d94997

See more details on using hashes here.

Provenance

The following attestation bundles were made for eiquadprog-1.2.9-0-py3-none-macosx_10_9_x86_64.whl:

Publisher: release.yml on cmake-wheel/eiquadprog

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

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