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.2.tar.gz (45.7 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.2-0-py3-none-manylinux_2_28_x86_64.whl (116.7 kB view details)

Uploaded Python 3manylinux: glibc 2.28+ x86-64

eiquadprog-1.3.2-0-py3-none-manylinux_2_28_aarch64.whl (108.6 kB view details)

Uploaded Python 3manylinux: glibc 2.28+ ARM64

eiquadprog-1.3.2-0-py3-none-macosx_11_0_arm64.whl (90.0 kB view details)

Uploaded Python 3macOS 11.0+ ARM64

eiquadprog-1.3.2-0-py3-none-macosx_10_9_x86_64.whl (98.2 kB view details)

Uploaded Python 3macOS 10.9+ x86-64

File details

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

File metadata

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

File hashes

Hashes for eiquadprog-1.3.2.tar.gz
Algorithm Hash digest
SHA256 ac6652d815c7c48333a206bddfdc3c92d7a64a380e42f0252d69585be1d046e6
MD5 5cc2757b7242c9c6c0f9ff1cd9e6a26f
BLAKE2b-256 534d9f2a23b445f8f50f4e5f3e59142deecbaa61c9d2cdd7bfb2ef11d177a55d

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eiquadprog-1.3.2-0-py3-none-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 00c871695e63dfbf18b6d7cf9f899a1317342e0e366a46cdbd41de41c6fecaae
MD5 711d561d7e25f7f87c0e4404c9fecff6
BLAKE2b-256 326791aac30e3d020896344bb8d48b731442bffc1582d7cc626e469da71281ae

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eiquadprog-1.3.2-0-py3-none-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 a0ad0bb481abb70044ece23dc548af469dc05bfb90f9f0431d79207d74598e64
MD5 e13dd42504f2ee53b755aa3eaceacd0a
BLAKE2b-256 4442f6a00ea23988b50f15bbbf2c90cb9d4cfa33a23ecbef7042d18890a028da

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eiquadprog-1.3.2-0-py3-none-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a74efa2f1523cb40b4a9c311d70de96de0054a3dfc1849372d42ffd2b49dbd72
MD5 3d7fc781dd1a2d74d460f8c324caf281
BLAKE2b-256 0ea23b17c868a56f15879452fa3fcba85b7a96b4c2a8665a84eb020e13104fc3

See more details on using hashes here.

Provenance

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

File metadata

File hashes

Hashes for eiquadprog-1.3.2-0-py3-none-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 2d738de8be58cff591b27ab7e607ea48790ac93a4fd6e5b977a7afbffce61e95
MD5 010148351266eea72b766584ba5b75c7
BLAKE2b-256 7be4481af5a318477a94fcd8a96b840f562910da196331e917097119b6b679e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for eiquadprog-1.3.2-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