The title is pretty self-explanatory.

I need to efficiently generate correlation matrices (i.e. semidefinite-positive, symmetric and all ones along the diagonal) of size $n$, with the limit that every coefficient should not be lower than 0.

All the algorithms I have found works with the classical boundaries of $[-1;1]$, but I need this boundary to be $[0;1]$. Do you know any way to do this?

Also, uniform distribution of the generated random matrices over the feasible domain of valid correlation matrices with the given constraints is a plus.

  • 1
    $\begingroup$ 1. Generate diagonally dominant matrix, but this seriously limits the population. 2 Generate a random symmetric matrix and push it through semidefinite programming, but this can be slow $\endgroup$
    – jf328
    Apr 14, 2016 at 10:14
  • 1
    $\begingroup$ Generate a random wishart-ditributed matrix, as a start. $\endgroup$ Apr 14, 2016 at 11:19


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Browse other questions tagged or ask your own question.