SPGL1: A solver for sparse least squares
version 2.1 released June 2020
This latest release of SPGL1 implements a dual root-finding mode that allows for increased accuracy for basis pusuit denoising problems. See Theory.
SPGL1 is an open-source Matlab solver for sparse least-squares. It is designed to solve any one of these three problem formulations:
Lasso problem
Basis pursuit denoise
Basis pursuit
Features
-
Linear operator A. SPGL1 relies on matrix-vector operations
A*x
andA'*y
, and accepts both explicit matrices (dense or sparse) and functions that evaluate these products. -
Sparsity regularizer. Any sparsity-inducing norm \Vert\cdot\Vert_p can be used if the user provides functions evaluating the primal norm, the corresponding dual norm, and a procedure for projecting onto a level-set of the primal norm. The default is the 1-norm. Several other norms included in SPGL1 are the group (1,2)-norm and the special multiple-measurement vector (MMV) case.
-
Real and complex domains. SPGL1 is suitable for problems that live in either the real or complex domains. In the complex domain, the correct corresponding 1-norm (sum of magnitudes) is used.
Feedback
We are glad to hear from you if you find SPGL1 useful, or if you have any suggestions, contributions, or bug reports. Please send these to the SPGL1 authors
- Ewout van den Berg (Email
<vandenberg.ewout@gmail.com>
) - Michael P. Friedlander (Email:
<mpf@cs.ubc.ca>
)
Credits
This research is supported in part by an NSERC Discovery Grant and by a grant for the Office of Naval Research (N00014-17-1-2009).