X=Y$ with non-negativity constraints on the matrix elements and an additional constraint on the column norms of $W$. The second thing to check is that the constraints in each group, $A$ and $B$ separately, are sufficiently local that it is easy to satisfy them. This seems plausible, but the true test of this comes when we write algorithms for the two constraint projections.

Projections {#sec:NMFproj}
-----------

Projections minimize the Euclidean distance to the constraint set. When the variables come in different varieties — weights, code vectors — one should consider applying different distance weighting to the different types of variables. A sufficiently general metric for our NMF scheme would be $$\label{metric}
d^2(x,w)=\sum_{{k\in K}\atop{i\to j\in E}} (x'[k,i\to j]-x[k,i\to j])^2+g^2\, (w'[k,i\to j]-w[k,i\to j])^2,$$ where $g^2$ controls the relative compliance of the two types of variables when satisfying constraints. But the rescalings $x\to \sqrt{g}\,x$, $w\to w/\sqrt{g}$ restore the isotropic metric without changing any of the constraints except the value of the norm $\Omega$. The hyperparameter $\Omega$ therefore provides all the advantage one might gain from a parametrized metric and we are free to set $g=1$. Since increasing $g$ was equivalent to increasing $\Omega$, we should set a large value of $\Omega$ when we 