# Non-negative matrix factorization with nGMCA

## Sparse non-negative matrix factorization with nGMCAlab

nGMCA (non-negative Generalized Morphological Component Analysis, [1]) aims at performing non-negative matrix factorization (NMF) of sparse sources, i.e. solving the following problem:

where $\mathbf{Y}$ is the data matrix to factorize, $\mathbf{A}$ is a mixing matrix, $\mathbf{S}$ a source matrix, and $\mathbf{\Lambda}$ the sparsity parameter matrix. In the nGMCA framework, this parameter matrix is automatically chosen so as to deal with Gaussian noise contamination. A stand-alone nGMCA function for simple use and comparisons can be downloaded here: nGMCA stand-alone function.

In [2], this framework was extended in order to deal with sparsity in a possibly redundant transformed domain (with $\mathbf{W}$ the transformation matrix) either with an analysis formulation:

or a synthesis formulation:

The Matlab toolbox which which was used in both [1] and [2] in order to perform the benchmarks can be downloaded here: nGMCAlab Toolbox. An equivalent Python toolbox is also available: pygmca. These toolbox include an implementation of 1D and 2D redundant wavelet transforms.

Please cite one or both of the references below if you use these functions in a publication. These are development toolboxes, which may be imperfect. Please feel free to contact us if you have any problem.

## Publications

• [1] Jérémy Rapin, Jérôme Bobin, Anthony Larue, Jean-Luc Starck. Sparse and Non-negative BSS for Noisy Data, IEEE Transactions on Signal Processing, 2013.IEEE Transactions on Signal Processing, vol. 61, issue 22, p. 5620-5632, 2013. Available here.
• [2] Jérémy Rapin, Jérôme Bobin, Anthony Larue, Jean-Luc Starck. NMF with Sparse Regularizations in Transformed Domains, SIAM Journal on Imaging Sciences (accepted), 2014. Available here.