Skip to main content

PyPI cr-sparse License DOI Documentation Status Unit Tests Coverage JOSS

Introduction

CR-Sparse is a Python library that enables efficiently solving a wide variety of sparse representation based signal processing problems. It is a cohesive collection of sub-libraries working together. Individual sub-libraries provide functionalities for: wavelets, linear operators, greedy and convex optimization based sparse recovery algorithms, subspace clustering, standard signal processing transforms, and linear algebra subroutines for solving sparse linear systems. It has been built using Google JAX, which enables the same high level Python code to get efficiently compiled on CPU, GPU and TPU architectures using XLA.

docs/images/srr_cs.png

For detailed documentation and usage, please visit online docs.

For theoretical background, please check online notes at Topics in Signal Processing and references therein (still under development).

CR-Sparse is part of CR-Suite.

Related libraries:

Supported Platforms

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

  • The latest code in the library has been tested against JAX 0.4.

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. Alternatively, you can check out the community supported Windows build for JAX available from https://github.com/cloudhan/jax-windows-builder. This seems to work well and all the unit tests in the library have passed on Windows also.

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

Examples/Usage

See the examples gallery in the documentation. Here is a small selection of examples:

A more extensive collection of example notebooks is available in the companion repository. Some micro-benchmarks are reported here.

Contribution Guidelines/Code of Conduct

Citing CR-Sparse

To cite this library:

@article{Kumar2021,
  doi = {10.21105/joss.03917},
  url = {https://doi.org/10.21105/joss.03917},
  year = {2021},
  publisher = {The Open Journal},
  volume = {6},
  number = {68},
  pages = {3917},
  author = {Shailesh Kumar},
  title = {CR-Sparse: Hardware accelerated functional algorithms for sparse signal processing in Python using JAX},
  journal = {Journal of Open Source Software}
}

Documentation | Code | Issues | Discussions |

Release files for cr-sparse 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cr-sparse 0.4.0
File Size Uploaded
cr-sparse-0.4.0.tar.gz 119.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cr-sparse 0.4.0
File Interpreter ABI Platform
cr_sparse-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 345.4 kB

Release files / cr-sparse-0.4.0.tar.gz

Download URL cr-sparse-0.4.0.tar.gz
Size 119.9 kB
Tags Source
SHA-256 checksum
How to use checksums
1c7767b9f15d4f776bbfe07586812113455f5c8fa4cd164eebf981b2f58631cd
BLAKE2b-256 checksum
How to use checksums
62bac28396c8fe193c66afcb3e8dc860631bad09ad215a89a260b04df5e5a8c3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.18

Release files / cr_sparse-0.4.0-py3-none-any.whl

Download URL cr_sparse-0.4.0-py3-none-any.whl
Size 225.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
bdffe273f255f71c141619599bd5c1d2766060b83bb17f9616fa689f0197438e
BLAKE2b-256 checksum
How to use checksums
fe4263c2b4e6476155a7dcca2505e98469ce46002eb7625c16830697df18fdd5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.8.18

Release history Release notifications | RSS feed

This release

0.4.0 This release

2 release files

0.3.2

2 release files

0.3.1

2 release files

0.3.0

2 release files

0.2.2

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.2

0.1.0

1 release file

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