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

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

eiquadprog-1.3.0-0-py3-none-musllinux_1_2_x86_64.whl (117.6 kB view details)

Uploaded Python 3musllinux: musl 1.2+ x86-64

eiquadprog-1.3.0-0-py3-none-musllinux_1_2_aarch64.whl (108.8 kB view details)

Uploaded Python 3musllinux: musl 1.2+ ARM64

eiquadprog-1.3.0-0-py3-none-manylinux_2_28_x86_64.whl (115.2 kB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

eiquadprog-1.3.0-0-py3-none-manylinux_2_28_aarch64.whl (107.1 kB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

eiquadprog-1.3.0-0-py3-none-macosx_11_0_arm64.whl (88.5 kB view details)

Uploaded Python 3macOS 11.0+ ARM64

eiquadprog-1.3.0-0-py3-none-macosx_10_9_x86_64.whl (96.5 kB view details)

Uploaded Python 3macOS 10.9+ x86-64

File details

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

File metadata

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

File hashes

Hashes for eiquadprog-1.3.0.tar.gz
Algorithm Hash digest
SHA256 249f8c9f564dac5d709057d921a2740d6168c1fccaed9af3f6921649d8000e38
MD5 e3c03456c47ecba2a2fda97048a1dd09
BLAKE2b-256 bb0e26918556f5fdfc5a259c367d61f31aadfa628a4d6df201f7fa4c063c7fc3

See more details on using hashes here.

Provenance

The following attestation bundles were made for eiquadprog-1.3.0.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.3.0-0-py3-none-musllinux_1_2_x86_64.whl.

File metadata

File hashes

Hashes for eiquadprog-1.3.0-0-py3-none-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 147d3f277a25e628088a2458b871f078f5b9d8662aa776074ede3b8fea3b2746
MD5 ad7751fa8d001e439d2dfb6f5af00f9d
BLAKE2b-256 fc6319518967a0eba6a995abb0b1470ef4f1c936d19371b22c5b2bf2ecde780e

See more details on using hashes here.

Provenance

The following attestation bundles were made for eiquadprog-1.3.0-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.3.0-0-py3-none-musllinux_1_2_aarch64.whl.

File metadata

File hashes

Hashes for eiquadprog-1.3.0-0-py3-none-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 a11254dfa2631e3cfe9d31ea910352f1cc2d886acb4276c01d80c8043c41c66b
MD5 56d19953811800d388aeea008d4a8c30
BLAKE2b-256 8719d12f4382b2bfe6b4c06b6168ba2b246593c50c0c5b8dd31f4e08dd6b9a8d

See more details on using hashes here.

Provenance

The following attestation bundles were made for eiquadprog-1.3.0-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.3.0-0-py3-none-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for eiquadprog-1.3.0-0-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 e8fb05ddd2ad42485a92e84f24d6c4039edea8207db57ec19448302b8f85543c
MD5 b0c5ec347eefeb5d08a1b91b8c969b1d
BLAKE2b-256 8cad89b05d2bea7204902690eb9ab2cce16706f5ab8497434767fd2158c01be3

See more details on using hashes here.

Provenance

The following attestation bundles were made for eiquadprog-1.3.0-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.3.0-0-py3-none-manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for eiquadprog-1.3.0-0-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 c17aedb7882cdc9f535d1227d63202015830f4ba0e187e6134c2710830d40f1f
MD5 2c885981f4967c27ca9d3f5bc9810ebc
BLAKE2b-256 d7ef723477160c53febc66ef4991554a62630348fc18aa70f95aa35a532c8b4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for eiquadprog-1.3.0-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.3.0-0-py3-none-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for eiquadprog-1.3.0-0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c7b3bbb7c46e9aaad4b3690d2a53f2f21989ca286c27798d6b40dbeb7ba5d58d
MD5 c8d0482b69ba3c81378137a78a13db5a
BLAKE2b-256 a5eb3e40e87792884f6ac31c3ae0a8b8f48bc49b551ed6bee7c3a7bf8349a908

See more details on using hashes here.

Provenance

The following attestation bundles were made for eiquadprog-1.3.0-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.3.0-0-py3-none-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for eiquadprog-1.3.0-0-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 ee0255bfab0c12ef322efe1dd4981323e6b46f3e8c5a9bc230c89d4297e97eac
MD5 0700b6b3b3a7a6855b501632afc4c715
BLAKE2b-256 df2d628311de9ddcc62ced0fd186f749b8e32b23ea89817795d901413bfcc209

See more details on using hashes here.

Provenance

The following attestation bundles were made for eiquadprog-1.3.0-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 Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page