NNS Greedy Algorithms: Implementation and Examples

This page provides a MATLAB software implementation for the new algorithms we proposed and evaluated in:

D. Kim, J. P. Haldar.  “Greedy Algorithms for Nonnegativity-Constrained Simultaneous Sparse Recovery.” Signal Processing 2016, In Press.

These algorithms are extensions of classical greedy algorithms for sparse recovery, and offer improved performance in the presence of additional nonnegativity (NN) constraints, simultaneous sparsity (S) constraints, or a combination of nonnegativity and simultaneous sparsity (NNS) constraints.

The software includes  NN-, S-, and NNS- variations of the following four greedy algorithms:

  • Orthogonal matching pursuit (OMP)
  • Subspace pursuit (SP)
  • Compressive sampling matching pursuit (CoSaMP)
  • Hard thresholding pursuit (HTP)

For comparison, the original (unconstrained) algorithms are also provided.

The software also includes an illustrative example that empirically demonstrates the value of using additional NN, S, and NNS constraints.  The example output (shown below) demonstrates that the NNS-based version of SP can offer substantially better perfect recovery performance than previous SP-based algorithms that use less constraints.



The software can be downloaded using the form below:


This code is licensed under the CC Attribution-Noncommercial-Share Alike 3.0 License. Please cite our paper if you use this code or its derivatives in your own work.

In no event shall the University of Southern California, the Authors, or the Distributors be liable to any party for direct, indirect, special, incidental, or consequential damages, including lost profits, arising out of the use of this software, its documentation, or any derivatives thereof, even if the authors have been advised of the possibility of such damage. The University of Southern California, the Authors, and the Distributors specifically disclaim any warranties, including, but not limited to, the implied warranties of merchantability, fitness for a particular purpose, and non-infringement. This software is provided on an "as is" basis, and the authors and distributors have no obligation to provide maintenance, support, updates, enhancements, or modifications. This software is for research purposes only and has not been approved for clinical use.

Your Name (required)

Your Email (required)

Your Institution (required)

Pressing the "Send" button below will indicate your acceptance of the license agreement. After clicking "Send," you will receive an e-mail with a personal download link.

WordPress theme: Kippis Child