spgl1

Port of SPGL1 to python

https://github.com/drrelyea/spgl1

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.6%) to scientific vocabulary
Last synced: 10 months ago · JSON representation

Repository

Port of SPGL1 to python

Basic Info
  • Host: GitHub
  • Owner: drrelyea
  • License: lgpl-2.1
  • Language: Python
  • Default Branch: master
  • Size: 3.46 MB
Statistics
  • Stars: 44
  • Watchers: 7
  • Forks: 29
  • Open Issues: 1
  • Releases: 4
Created over 11 years ago · Last pushed almost 2 years ago
Metadata Files
Readme License

README.md

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

Owner

  • Login: drrelyea
  • Kind: user

GitHub Events

Total
Last Year

Issues and Pull Requests

Last synced: almost 2 years ago

All Time
  • Total issues: 10
  • Total pull requests: 24
  • Average time to close issues: 11 months
  • Average time to close pull requests: 7 days
  • Total issue authors: 9
  • Total pull request authors: 10
  • Average comments per issue: 6.4
  • Average comments per pull request: 1.0
  • Merged pull requests: 22
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • Parham21 (2)
  • GillesC (1)
  • Jwink3101 (1)
  • jhtu (1)
  • Orcuslc (1)
  • theXYZT (1)
  • epnev (1)
  • mrava87 (1)
  • galveston12345 (1)
Pull Request Authors
  • mrava87 (17)
  • andreasdoll (4)
  • GillesC (2)
  • Orcuslc (1)
  • epnev (1)
  • lebedov (1)
  • Parham21 (1)
  • drrelyea (1)
  • Jwink3101 (1)
  • galveston12345 (1)
Top Labels
Issue Labels
Pull Request Labels

Dependencies

requirements-dev.txt pypi
  • Sphinx * development
  • image * development
  • ipython * development
  • jupyter * development
  • matplotlib * development
  • nbsphinx * development
  • numpy >=1.15.0 development
  • numpydoc * development
  • pytest * development
  • pytest-runner * development
  • scipy * development
  • setuptools_scm * development
  • sphinx-gallery * development
  • sphinx-rtd-theme * development
requirements.txt pypi
  • numpy >=1.15.0
  • scipy *
.github/workflows/build.yaml actions
  • actions/checkout v2 composite
  • actions/setup-python v2 composite
environment.yml pypi
pyproject.toml pypi
  • numpy >= 1.15.0
  • scipy *