cvx-quadprog: Goldfarb/Idnani dual quadratic programming in NumPy and SciPy
Description
A pure NumPy/SciPy implementation of the Goldfarb–Idnani dual active-set method for strictly convex quadratic programs, requiring no compiler and no build step. It is a reimplementation of the quadprog package — which wraps C descended from Berwin Turlach's Fortran translation — and is API-compatible with it.
The implementation makes design choices the C reference does not contain: constraint insertion uses a single Householder reflection in place of a chain of Givens rotations; columns holding a single nonzero are detected so that bound constraints become indexing rather than reductions; the triangular factor is held in packed storage so the active submatrix stays admissible to a BLAS packed solve; and LAPACK/BLAS kernels replace hand-rolled scalar loops throughout.
The solver was written from the algorithm as published, not from the C. The relationship between the two implementations is recorded in the repository's PROVENANCE.md.
Files
Jebel-Quant/quadprog-v0.4.1.zip
Files
(283.6 kB)
| Name | Size | Download all |
|---|---|---|
|
md5:3e986fe474492a10bf41b4d2e4f99361
|
283.6 kB | Preview Download |
Additional details
Related works
- Cites
- Journal article: 10.1007/BF02591962 (DOI)
- Is documented by
- Software documentation: https://jebel-quant.github.io/quadprog (URL)
Software
- Repository URL
- https://github.com/Jebel-Quant/quadprog