title: Get U, Sigma, V* matrix from Truncated SVD in scikit-learn
body: <p>I am using truncated SVD from <code>scikit-learn</code> package.</p>
  
  <p>In the definition of SVD, an original matrix <strong>A</strong> is approxmated as a product <strong>A</strong> ≈ <strong>UΣV*</strong> where <strong>U</strong> and <strong>V</strong> have orthonormal columns, and <strong>Σ</strong> is non-negative diagonal.</p>
  
  <p>I need to get the <strong>U</strong>, <strong>Σ</strong> and <strong>V*</strong> matrices. </p>
  
  <p>Looking at the source code <a href="https://github.com/scikit-learn/scikit-learn/blob/master/sklearn/decomposition/truncated_svd.py#L174" rel="noreferrer">here</a> I found out that <strong>V*</strong> is stored in <code>self.components_</code> field after calling <code>fit_transform</code>.</p>
  
  <p>Is it possible to get <strong>U</strong> and <strong>Σ</strong> matrices?</p>
  
  <p>My code: </p>
  
  <pre><code>import sklearn.decomposition as skd
  import numpy as np
  
  matrix = np.random.random((20,20))
  trsvd = skd.TruncatedSVD(n_components=15)
  transformed = trsvd.fit_transform(matrix)
  VT = trsvd.components_
  </code></pre>