title: scipy - generate random variables with correlations
body: <p>I'm working to implement a basic Monte Carlo simulator in Python for some project management risk modeling I'm trying to do (basically Crystal Ball / @Risk, but in Python).</p>
  
  <p>I have a set of <code>n</code> random variables (all <code>scipy.stats</code> instances). I know that I can use <code>rv.rvs(size=k)</code> to generate <code>k</code> <em>independent</em> observations from each of these <code>n</code> variables.</p>
  
  <p>I'd like to introduce correlations among the variables by specifying an <code>n x n</code> positive semi-definite correlation matrix.</p>
  
  <p>Is there a clean way to do this in scipy?</p>
  
  <p><strong>What I've Tried</strong></p>
  
  <p><a href="https://stackoverflow.com/questions/23846435/generating-random-variables-with-given-correlations-between-pairs-of-them">This answer</a> and <a href="https://stackoverflow.com/questions/23846435/generating-random-variables-with-given-correlations-between-pairs-of-them">this answer</a> seem to indicate that "copulas" would be an answer, but I don't see any reference in scipy to them.</p>
  
  <p><a href="http://www.sitmo.com/article/generating-correlated-random-numbers/" rel="noreferrer">This link</a> seems to implement what I'm looking for, but I'm not sure if scipy has this functionality implemented already. I'd also like it to work for non-normal variables.</p>
  
  <p>It seems that the <a href="http://www.mynl.com/MALT/ImanConover.html" rel="noreferrer">Iman, Conover paper</a> is the standard method.</p>