Wednesday, June 13, 2012

KL1p : Sparse Recovery of Underdetermined Inverse Problems -implementation-



Here is a C++ implementation of interest at: http://kl1p.sourceforge.net/home.html by René Gebel (and it's LGPL ! h/t @sergecell and @jacquesdurden) From the page:

"....  KL1p : Sparse Recovery of Underdetermined Inverse Problems

Overview

KL1p is a portable C++ framework for handling sparse recovery of inverse problems of underdetermined linear systems, like in compressed sensing technique (CS). It is cross-platform and can be used on a large number of systems with a C++ compliant compiler.
The focus of the KL1p library lies on usability and extendability. Several of the most common CS algorithms are implemented and problem definitions are made through combination of operators. These operators played the same role as matrices in linear algebra but are implemented with their equivalent efficient functions when possible (e.g Fourier matrix implemented with FFT function) and new ones can be easily added. This method combines the flexibility of the matricial method with the efficiency of the functional method.
KL1p is distributed under the LGPL license that is useful in both open-source and proprietary contexts.

Features

    Here is a list of currently implemented compressed sensing algorithms :
  • Basis Pursuit[1]
  • Orthogonal Matching Pursuit (OMP)[2]
  • Regularized Orthogonal Matching Pursuit (ROMP)[3]
  • Compressive Sampling Matching Pursuit (CoSaMP)[4]
  • Subspace Pursuit[5]
  • Smoothed L0 (SL0)[6]
  • Approximate Message Passing (AMP)[7]
  • Expectation Maximization Belief Propagation (EMBP)[8]
    Some common linear algebra operators are implemented too :
  • Normal/Uniform random matrices
  • Fourier transform (FFT)
  • Discrete Cosine transform (DCT)
  • Walsh-Hadamard transform
  • Daubechies Wavelets transform
  • Seeding matrices, used in conjunction with EMBP algorithm to outperform the Donoho-Tanner phase transition[8]
  • Downsampling matrix, permutation matrix, ...
...."


The current version is 0.4.1 and is available on download page.




Liked this entry ? subscribe to Nuit Blanche's feed, there's more where that came from. You can also subscribe to Nuit Blanche by Email, explore the Big Picture in Compressive Sensing or the Matrix Factorization Jungle and join the conversations on compressive sensing, advanced matrix factorization and calibration issues on Linkedin.

1 comment:

Robin Green said...

Check the sources: http://kl1p.sourceforge.net/references.html

You get a cite!

Printfriendly