What is `outerProducts`? Let's change the name `choleskies`. Few people know Choleksy and we don't really use Cholesky factorization in NNLS. I don't have a good recommendation. Basically, this is `numUsers` for a user block or `numProducts` for a product block. Shall we simply call it `n`?