Version 1.9, April 2015

SPGL1 is a Matlab solver for large-scale one-norm regularized least squares. It is designed to solve any of the following three problems: basis pursuit denoise
basis pursuit
Lasso
SPGL1 relies only on matrix-vector operations and and accepts both explicit matrices and functions that evaluate these products. SPGL1 is suitable for problems that are in the complex domain. The theory underlying SPGL1 is described in these papers: Probing the Pareto frontier for basis pursuit solutions E. van den Berg and M. P. Friedlander, SIAM J. on Scientific Computing, 31(2):890-912, November 2008 (pdf) Sparse optimization with least-squares constraints E. van den Berg and M. P. Friedlander, SIAM J. on Optimization, SIAM J. on Optimization, 21(4):1201–1229, 2011 (pdf)
## Group sparsityIn version 1.6, the core SPGL1 routine was generalized to solve the above three problems with replaced by any norm on . In order to do so, it requires that routines are provided for computing the norm corresponding dual norm Euclidean projection
This framework can be used to implement solvers for MMV and group-sparse BPDN (see below.) Also, Check out these demos. ## Multiple measurement vectors (MMV)The MMV version of BPDN currently implemented solves where the mixed (1,2)-norm is defined by the sum of the two-norms of the rows of X. ## Group-sparse BPDNIn group-sparse BPDN, each entry of is assigned to a group. Denoting by the indices of group , the group-sparse BPDN problem is ## FeedbackWe would be delighted to hear from you if you find SPGL1 useful, or if you have any suggestions, contributions, or bug reports. Please send these to Michael P. Friedlander (mpfriedlander@ucdavis.edu) Ewout van den Berg (vandenberg.ewout@gmail.com)
## LicenseSPGL1 is distributed under the GNU Public License. ## CreditsThis research is supported in part by an NSERC Discovery Grant and by an NSERC Collaborative Research and Development Grant (334810-05) that funds the DNOISE project. |