NMFLibrary 2.0 Release

NMFLibrary 2.0 Release (major update)

It is our pleasure to announce that a new version of NMFLibrary has been released. This is the first major update since the first version in April 2017. The featured updates include:

  • New NMF models are added.
  • New NMF solvers are added. 
  • The code structure of solvers is refactored.
  • A solver/user-defined stopping function is supported.
  • The statistics display module is refined.
  • A python demonstration code is added. 
  • Many bugs are fixed.

The software is available on GitHub.


The NMFLibrary is a pure-MATLAB library of a collection of algorithms of non-negative matrix factorization (NMF). Nonnegative matrix factorization (NMF) is a fundamental problem for discovering nonnegative latent factors and/or performing dimensionality reduction. NMF has been successfully applied in diverse technical fields, such as pattern recognition, image/video analysis, text mining, bioinformatics and Web analysis because non-negativity of the obtained factors gives understandable interpretations of data of interest. NMF approximates a nonnegative matrix {\bf V} as a product of two nonnegative matrices {\bf W} and {\bf H}. More concretely, given {\bf V}\in \mathbb{R}^{F \times N}_{+}, we calculate {\bf W}\in \mathbb{R}^{F \times K}_{+} and {\bf H}\in \mathbb{R}^{K \times N}_{+} as

 \displaystyle{\min_{\scriptsize {\bf W}, {\bf H}} \ \ \ D({\bf V} ,{\bf WH}), \displaystyle{{\rm subject\ to} \ \ \ [{\bf W}]_{f,k} \geq 0, [{\bf H}]_{k,n} \geq 0, \ \ \ \ \  \forall f,n,k},

 where D(\cdot, \cdot) is a distance measure between two matrices, and where K is usually chosen such that K \ll \min\{F, N\}, that is, {\bf V} is approximately represented by the two low-rank matrices.