title: Random positive semi-definite matrix with given eigenvalues and eigenvectors
body: <p><strong>Is there a way to generate a random positive semi-definite matrix with given eigenvalues and eigenvectors in Python?</strong></p>
  
  <p>I looked at <a href="https://stackoverflow.com/questions/619335/a-simple-algorithm-for-generating-positive-semidefinite-matrices">this</a>, but they do not allow to specify eigenvalues for matrix construction.</p>
  
  <p><strong>Context:</strong> I want to generate random multivariate Gaussians with controlled ellipticity and because the major/minor axes of the distribution have the length proportional to eigenvalues I want my covariance matrix to have them. <a href="http://users.isr.ist.utl.pt/~wurmd/Livros/school/Bishop%20-%20Pattern%20Recognition%20And%20Machine%20Learning%20-%20Springer%20%202006.pdf" rel="nofollow noreferrer">Definiton could be found here (page 81)</a>.</p>