SPGL1: A solver for large-scale sparse reconstruction.
Project description
SPGL1: Spectral Projected Gradient for L1 minimization
Original home page: http://www.cs.ubc.ca/labs/scl/spgl1/
Introduction
SPGL1 is a solver for large-scale one-norm regularized least squares.
It is designed to solve any of the following three problems:
-
Basis pursuit denoise (BPDN):
minimize ||x||_1 subject to ||Ax - b||_2 <= sigma
, -
Basis pursuit (BP):
minimize ||x||_1 subject to Ax = b
-
Lasso:
minimize ||Ax - b||_2 subject to ||x||_1 <= tau
,
The matrix A
can be defined explicitly, or as an operator
that returns both both Ax
and A'b
.
SPGL1 can solve these three problems in both the real and complex domains.
Installation
To install spgl1
within your current environment, type:
make install
or as a developer:
make dev-install
To install spgl1
in a new conda environment, type:
make install_conda
or as a developer:
make dev-install_conda
Getting started
Examples can be found in the examples
folder in the form of
jupyter notebooks.
References
The algorithm implemented by SPGL1 is described in these two papers
-
E. van den Berg and M. P. Friedlander, "Probing the Pareto frontier for basis pursuit solutions", SIAM J. on Scientific Computing, 31(2):890-912, November 2008
-
E. van den Berg and M. P. Friedlander, "Sparse optimization with least-squares constraints", Tech. Rep. TR-2010-02, Dept of Computer Science, Univ of British Columbia, January 2010
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.