title: Nonnegative matrix factorization in Sklearn
body: <p>I am applying nonnegative matrix factorization (NMF) on a large matrix. Essentially the NMF method does the following: given an m by n matrix A, NMF decomposes into A = WH, where W is m by d and H is d by n. The ProjectedGradientNMF method is implemented in Python package Sklearn. I would want the algorithm return both W and H. But it seems that it only returns H, not W. Applying the algorithm again to A.T (the transpose) could give me W. However, I would want to avoid computing it twice since the matrix ix very large.</p>
  
  <p>If you could tell me how to simultaneously get W and H, that would be great! Below is my code:   </p>
  
  <pre><code>from sklearn.decomposition import ProjectedGradientNMF
  import numpy
  A = numpy.random.uniform(size = [40, 30])
  nmf_model = ProjectedGradientNMF(n_components = 5, init='random', random_state=0)
  nmf_model.fit(A)
  H = nmf_model.components_.T
  </code></pre>