# Nonnegative matrix factorization

Exercise from Convex Optimization & Euclidean Distance Geometry, ch.4:

Given rank-2 nonnegative matrix $LaTeX: X=\!\left[\!\begin{array}{ccc}17&28&42\\

 16&47&51\\ 17&82&72\end{array}\!\right],$

find a nonnegative factorization $LaTeX: X=WH\,$ by solving

$LaTeX: \begin{array}{cl}\mbox{find}_{A\in\mathbb{S}^3,\,B\in\mathbb{S}^3,\,W\in\mathbb{R}^{3\times2},\,H\in\mathbb{R}^{2\times3}}&W\,,\,H\\ \mbox{subject to}&Z=\left[\begin{array}{ccc}I&W^{\rm T}&H\\W&A&X\\H^{\rm T}&X^{\rm T}&B\end{array}\right]\succeq0\\ &W\geq0\\ &H\geq0\\ &\mbox{rank}\,Z\leq2\end{array}$

which follows from the fact, at optimality,

$LaTeX: Z^\star=\left[\!\begin{array}{c}I\\W\\H^{\rm T}\end{array}\!\right]\begin{array}{c}\textbf{[}\,I~~W^{\rm T}~H\,\textbf{]} \end{array}$

Use the known closed-form solution for a direction vector $LaTeX: Y\,$ to regulate rank (rank constraint is replaced) by Convex Iteration;

set $LaTeX: _{}Z^\star\!=Q\Lambda Q^{\rm T}\!\in\mathbb{S}^\mathbf{8}$ to a nonincreasingly ordered diagonalization and $LaTeX: _{}U^\star\!=_{\!}Q(:\,,_{^{}}3\!:\!8)\!\in_{\!}\reals^{\mathbf{8}\times\mathbf{6}}$, then $LaTeX: Y\!=U^\star U^{\star\rm T}.$

In summary, initialize $LaTeX: Y=I\,$ then alternate solution of

$LaTeX: \begin{array}{cl}\mbox{minimize}_{A\in\mathbb{S}^3,\,B\in\mathbb{S}^3,\,W\in\mathbb{R}^{3\times2},\,H\in\mathbb{R}^{2\times3}}&\langle Z\,,Y\rangle\\ \mbox{subject to}&Z=\left[\begin{array}{ccc}I&W^{\rm T}&H\\W&A&X\\H^{\rm T}&X^{\rm T}&B\end{array}\right]\succeq0\\ &W\geq0\\ &H\geq0\end{array}$

with

$LaTeX: Y\!=U^\star U^{\star\rm T}.$ Global convergence occurs, in this example, in only a few iterations.