Skip to main content

SPGL1: Spectral Projected Gradient for L1 minimization

Build Status PyPI version Documentation Status

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:

  1. Basis pursuit denoise (BPDN): minimize ||x||_1 subject to ||Ax - b||_2 <= sigma,

  2. Basis pursuit (BP): minimize ||x||_1 subject to Ax = b

  3. 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)

Source distribution for spgl1 0.0.3
File Size Uploaded
spgl1-0.0.3.tar.gz 311.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for spgl1 0.0.3
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.0.3 This release

2 release files

0.0.2

2 release files

0.0.1

2 release files

0.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page