## 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.

### Download

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

### 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, ...

### Contact

For any question, please send an e-mail to kl1p-contact@lists.sourceforge.net

### Author

RenĂ© Gebel : rene.gebel.kl1p@gmail.com