There is a newer version of the record available.

Published August 25, 2026 | Version v0.4.1

cvx-quadprog: Goldfarb/Idnani dual quadratic programming in NumPy and SciPy

  • 1. Jebel Quant Research

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)