Functional Models and Algorithms for Sparse Signal Processing

PyPI cr-sparse License DOI Documentation Status Unit Tests Coverage

Quick Start

An overview of the library.

This library aims to provide XLA/JAX based Python implementations for various models and algorithms related to:

  • Wavelet transforms

  • Efficient linear operators

  • Iterative methods for sparse linear systems

  • Redundant dictionaries

  • Sparse approximations on redundant dictionaries

    • Greedy methods

    • Convex optimization based methods

    • Shrinkage methods

  • Sparse recovery from compressive sensing based measurements

    • Greedy methods

    • Convex optimization based methods

The library also provides

  • Various simple dictionaries and sensing matrices

  • Sample data generation utilities

  • Framework for evaluation of sparse recovery algorithms

Examples

Some micro-benchmarks are reported here. Jupyter notebooks for these benchmarks are in the companion repository.

See the examples gallery for an extensive set of examples. Here is a small selection of examples:

A more extensive collection of example notebooks is available in the companion repository.

Platform Support

cr-sparse can run on any platform supported by JAX. We have tested cr-sparse on Mac and Linux platforms and Google Colaboratory.

JAX is not officially supported on Windows platforms at the moment. Although, it is possible to build it from source using Windows Subsystems for Linux.

Installation

Installation from PyPI:

python -m pip install cr-sparse

Directly from our GITHUB repository:

python -m pip install git+https://github.com/carnotresearch/cr-sparse.git

Citing cr-sparse

To cite this repository:

@software{crsparse2021github,
author = {Shailesh Kumar},
title = {{cr-sparse}: Functional Models and Algorithms for Sparse Signal Processing},
url = {https://cr-sparse.readthedocs.io/en/latest/},
version = {0.1.6},
year = {2021},
doi={10.5281/zenodo.5322044},
}

Documentation | Code | Issues | Discussions | Examples | Experiments | Sparse-Plex