I need to generate an nxn matrix with random entries, but I also need all of the eigenvalues to be negative (real or complex doesn't matter). I have:
r = 4; (* matrix dimension *) dom = {1, 10}; (* domain of random numbers *) eig = DiagonalMatrix[-RandomInteger[dom, r]] (* eigenvalues in diagonal matrix *) v = RandomVariate[NormalDistribution[], {r, r}] (* normalized eigenvectors? *) A = v.eig.v Eigenvalues[A] It seems like this should work, as the eigenvalues are all negative, but sometimes I still get positive eigenvalues. What am I doing wrong here?
Thanks.