Recent Releases of CR-Sparse

CR-Sparse - CR-Sparse v0.4.0

This is a maintenance release to align the library with JAX 0.4.x versions.

Scientific Software - Peer-reviewed - Jupyter Notebook
Published by shailesh1729 over 2 years ago

CR-Sparse - CR-Sparse v0.3.2

Documentation

Added

Dictionaries

  • Grassmannian frames

Linear operators

  • windowed_op

Sparse Recovery algorithms

  • FOCUSS
  • SPGL1 (Spectral Projected Gradient L1)

Optimization : Smooth functions

  • smoothquaderror

Optimization algorithms

  • Spectral projected gradient

Test Problems

  • New test problems module introduced
  • heavi-sine:fourier:heavi-side
  • blocks:haar
  • cosine-spikes:dirac-dct
  • complex:sinusoid-spikes:dirac-fourier
  • cosine-spikes:dirac-dct:gaussian
  • piecewise-cubic-poly:daubechies:gaussian
  • signed-spikes:dirac:gaussian
  • complex:signed-spikes:dirac:gaussian
  • blocks:heavi-side
  • blocks:normalized-heavi-side
  • gaussian-spikes:dirac:gaussian
  • src-sep-1

Examples

  • Matching pursuit demo
  • Grassmannian frames demo
  • Several examples based on the test problems

Documentation

  • Thinking in JAX tutorial added
  • Quick start expanded
  • Test problems documentation linked with examples

Changed

  • Matching pursuit implementation revamped

Fixed

  • Handling of complex signals in Subspace Pursuit
  • Handling of complex signals in Compressive Sampling Matching Pursuit

Improved

  • Support change condition added in convergence criteria for Subspace Pursuit
  • order attribute in reshape linear operator

Removed

  • cr.sparse.io moved to cr-nimble project

Scientific Software - Peer-reviewed - Jupyter Notebook
Published by shailesh1729 over 3 years ago

CR-Sparse - CR-Sparse v0.3.1

The main highlight of this release is the support for block sparse bayesian learning algorithms.

Added

Block Sparse Bayesian Learning

  • Expectation Maximization version
  • Bound Optimization version

Dictionaries

  • sparsebinarymtx
  • wavelet_basis

Linear operators

  • sparserealmatrix
  • sparsebinarydict

Test data

  • sparsenormalblocks

Miscellaneous

  • Some plotting utilities

Examples

  • ECG Data Compressive Sensing
  • Block Sparse Bayesian Learning
  • Sparse Binary Sensing Matrices

Improvements

  • Fixed some issues in the circulant linear operator
  • Removed unnecessary __init__ files
  • Removed bio module which was empty
  • Resolved some warnings related to incorrect static argument names or numbers
  • Added __str__ to several named tuples for debugging purposes
  • ADMM tutorial updated to align with 0.3.x changes

- Added length and x properties in RecoverySolution

Others

  • Changed copyright to CR-Suite Development Team

Scientific Software - Peer-reviewed - Jupyter Notebook
Published by shailesh1729 over 3 years ago

CR-Sparse - CR-Sparse v0.3.0

Added

Indicators - zero - singleton - affine - box - box affine - conic - l2 ball - l1 ball

Projectors - zero - identity - singleton - affine - box - conic - l2 ball - l1 ball

Linear operators

Proximal operators - zero - 1l - l2 - l1 positive - l1 ball - ordered weighted l1

Smooth functions - constant - entropy - huber - linear - logdet - quad matrix

First order methods - l1 regulated least square - smooth conic dual solver - lasso - ordered weighted l1 regularized least squares - dantzig smooth conic dual - basis pursuit smooth conic dual

Removed

  • Common utility functions, linear algebra routines and basic signal processing functions have been refactored into a separate library CR-Nimble
  • Wavelets related functionality has been refactored into a separate library CR-Wavelets

Misc

  • Support for JAX 0.3.14

Scientific Software - Peer-reviewed - Jupyter Notebook
Published by shailesh1729 almost 4 years ago

CR-Sparse - CR-Sparse v0.2.2

Improved

  • Documentation
    • Introduction page revised
    • API docs improved
    • README revised
    • Algorithm page added
    • Quick start page revised

Added

  • JOSS Paper added and revised based on feedback from reviewers
  • Linear Operators
    • inputshape, outputshape attributes introduced
    • fft, dot, norm estimate, reshape, scalar_mult, total variation,

Scientific Software - Peer-reviewed - Jupyter Notebook
Published by shailesh1729 over 4 years ago

CR-Sparse - CR-Sparse v0.2.1

Documentation

Added

  • Compressive Sensing
    • 1-bit compressive sensing process
    • BIHT (Binary Iterative Hard Thresholding) algorithm for signal reconstruction from 1-bit measurements

Scientific Software - Peer-reviewed - Jupyter Notebook
Published by shailesh1729 over 4 years ago

CR-Sparse - CR-Sparse v0.2.0

Added

  • Linear Operators
    • Convolution 1D, 2D, ND
    • Gram and Frame operators for a given linear operator
    • DWT 1D operator
    • DWT 2D operator
    • Block diagonal operator (by combining one or more operators)
  • Sparse Linear Systems
    • Power iterations for computing the largest eigen value of a symmetric linear operator
    • LSQR solver for least squares problems with support for N-D data
    • ISTA: Iterative Shrinkage and Thresholding Algorithm
    • FISTA: Fast Iterative Shrinkage and Thresholding Algorithm
    • lanbpro, simple lansvd
  • Geophysics
    • Ricker wavelet
    • Hard, soft and half thresholding operators for ND arrays (both absolute and percentile thresholds)
  • Image Processing
    • Gaussian kernels
  • Examples
    • Deconvolution
    • Image Deblurring
  • Data generation
    • Random subspaces, uniform points on subspaces
    • twosubspacesatangle, threesubspacesatangle
    • multiple index_sets
    • sparse signals with bi-uniform non-zero values
  • Utilities
    • More functions for ND-arrays
    • Off diagonal elements in a matrix, min,max, mean
    • setdiagonal, absmaxidxcw, absmaxidx_rw
  • Linear Algebra
    • orth, rowspace, nullspace, leftnullspace, effective_rank
    • subspaces: principal angles, isinsubspace, projecttosubspace
    • multwithsubmatrix, solveonsubmatrix
    • lanbpro, simple lansvd
  • Clustering
    • K-means clustering
    • Spectral clustering
    • Clustering error metrics
  • Subspace clustering
    • OMP for sparse subspace clustering
    • Subspace preservation ratio metrics

A paper is being prepared for JOSS.

Improved

  • Linear Operators
    • Ability to apply a 1D linear operator along a specific axis of input data
    • axis parameter added to various compressive sensing operators
  • Code coverage
    • It is back to 90+% in the unit tests

Scientific Software - Peer-reviewed - Jupyter Notebook
Published by shailesh1729 over 4 years ago

CR-Sparse - CR.Sparse v0.1.6

Added

Wavelets - CWT implementation based on PyWavelets: CMOR and MEXH - integratewavelet, centralfrequency, scale2frequency

Examples - CoSaMP step by step - Chirp CWT with Mexican Hat Wavelet - Frequency Change Detection using DWT - Cameraman Wavelet Decomposition

Changed

Wavelets - CWT API has been revised a bit.

Updated

Examples - Sparse recovery via ADMM

Signal Processing - frequencyspectrum, powerspectrum

Scientific Software - Peer-reviewed - Jupyter Notebook
Published by carnot-shailesh over 4 years ago

CR-Sparse - CR.Sparse v0.1.5

Linear Operators - Orthogonal basis operators: Cosine, Walsh Hadamard - General Operators: FIR, Circulant, First Derivative, Second Derivative, Running average - Operators: Partial Op - DOT TEST for linear operators added.

Convex optimization algorithms - Sparsifying basis support in yall1 - TNIPM (Truncated Newton Interior Points Method) implemented.

Wavelets - Forward DWT - Inverse DWT - Padding modes: symmetric, reflect, constant, zero, periodic, periodization - Wavelet families: HAAR, DB, MEYER, SYMMETRIC, COIFLET - Full DWT/IDWT for periodization mode - Filtering with Upsampling/Downsampling - Quadrature Mirror Filters - Forward and inverse DWT along a specific axis - 2D Forward and inverse DWT for images - Print wavelet info - wavelist - families - build_wavelet - wavefun - CWT for Morlet and Ricker wavelets introduced

Benchmarking - Introduced airspeed velocity based benchmarks

General stuff - Examples gallery introduced - Unit test coverage is now back to 90% - Documentation has been setup at ReadTheDocs.org also

Scientific Software - Peer-reviewed - Jupyter Notebook
Published by carnot-shailesh almost 5 years ago

CR-Sparse - CR.Sparse v0.1.4

Major updates

  • A framework for linear operators
  • ADMM based algorithms for l1 minimization
  • Several greedy algorithms updated to support linear operators as well as plain matrices
  • Hard thresholding pursuit added

Scientific Software - Peer-reviewed - Jupyter Notebook
Published by carnot-shailesh almost 5 years ago

CR-Sparse - CR.Sparse v0.1.3

Updates - Subspace Pursuit - Iterative Hard Thresholding

Scientific Software - Peer-reviewed - Jupyter Notebook
Published by carnot-shailesh almost 5 years ago

CR-Sparse - CR.Sparse v0.1.0

Scientific Software - Peer-reviewed - Jupyter Notebook
Published by carnot-shailesh almost 5 years ago