Computing a nonnegative matrix factorization -- provably | Synapse