Nonnegative matrix decomposition

Given partial observations of a nonnegative matrix M (let Omega index the observed entries), the problem seeks nonnegative matrices X and Y such that mathcal{P}_Omega(XY) =mathcal{P}_Omega(M) or mathcal{P}_Omega(XY)approx mathcal{P}_Omega(M).

The model is

 mathop{mathrm{minimize}}_{Xge 0,Yge 0} ~frac{1}{2}|mathcal{P}_Omega(XY - M)|_F^2.

The algorithm is described in Algorithm 2 of this report.

Matlab code of BCU with prox-linear update and extrapolation