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
From PyPi
If you want to use spgl1 within your codes, install it in your
Python environment by typing the following command in your terminal:
pip install spgl1
From Source
First of all clone the repo. To install spgl1 within your current
environment, simply 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.
Documentation
The official documentation is built with Sphinx and hosted on readthedocs.
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
Metadata
Release files for spgl1 0.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| spgl1-0.0.3.tar.gz | 311.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| spgl1-0.0.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 603.7 kB
Release files / spgl1-0.0.3.tar.gz
| Download URL | spgl1-0.0.3.tar.gz |
|---|---|
| Size | 311.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9734da2747de5a48d65021f286ad1f1ba42503a5b3277b9fa052cfda1858530b
|
|
BLAKE2b-256 checksum How to use checksums |
a63c19c65d94fc402f208db8a917a8c8d8b16e4b62adc3b34095291ad9d5d30f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.4
|
Release files / spgl1-0.0.3-py3-none-any.whl
| Download URL | spgl1-0.0.3-py3-none-any.whl |
|---|---|
| Size | 292.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
fe60db8a389e149d7f3016a019d6feb0ab3f4a17f407dffced25ff4ea7ccb1a3
|
|
BLAKE2b-256 checksum How to use checksums |
96dc98d6e6efd31e0fe48b19da9a2e3241b2cd8c952c5bd3fe4411cae8aadfe7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.1.1 CPython/3.12.4
|