ASP is a set of Matlab routines for solving several variations of the sparse optimization problem

$$ \mathop{\mbox{minimize}}_{x} \quad \lambda\|x\|_1 + \frac12\|Ax-b\|_2^2 $$

It implements algorithms for the following:

  • basis pursuit denoising (including \(Ax=b\))
  • orthogonal matching pursuit
  • homotopy version of basis pursuit denoising
  • reweighted basis pursuit for approximating 0-norm solutions
  • sequential compressed sensing (adding rows to \(A\) and \(b\))
  • nonnegative least-squares
  • sparse-residual and sparse-solution regression
  • generalized Lasso for sparsity in \(Bx\)


  • M. P. Friedlander and M. A. Saunders (2012). A dual active-set quadratic programming method for finding sparse least-squares solutions, DRAFT Technical Report, Dept of Computer Science, University of British Columbia, July 30, 2012. PDF

  • Hatef Monajemi, Sina Jafarpour, Matan Gavish, Stat 330/CME 362 Collaboration and David L. Donoho (2012). Deterministic matrices matching the compressed sensing phase transitions of Gaussian random matrices, PNAS 110:4, 1181-1186. [This paper made use of ASP (via BPdual) as well as CVX, FISTA, SPGL1, and Mosek.]


Version 1.0, December 17, 2012: