I am trying to reproduce the results of a paper where they generate $10^6$ $3\times 3$ matrices $M$ with complex elements both real and imaginary uniformly distributed from $-1$ to $1$. They impose another condition, namely that $\mbox{Tr} (M^\dagger M) \leq 1$. I have tried to generate matrices that fulfill this condition by first generating one and checking whether it does, if not I generate a new one etc.
This however takes extremely long, with one matrix taking as long as ten million tries to find, which on my not so stellar PC is upwards of a couple minutes. I don't have months to run this program, so I was wondering whether there are some constraints I can put on the randomly generated entries that would make sure that I would get a matrix that satisfies this condition.
After generating a few I did notice that the norm of the entries usually didn't exceed $0.5$, however this was not always the case. I want to bias my sampling as little as possible, so if there is something to be said about the norm I need to know what this could be.
I tried setting the norm of the elements to be less than $0.5$, $0.6$, $0.7$, etc, and while that did speed it up immensely I have yet to find a maximum.
A solution I did think of is that since $\mbox{Tr} (M^\dagger M) \leq 1$, $\sum_{i,j} |M_{ij}|^2 \leq 1$ and thus the average of the norm of every element has to be smaller than $\frac{1}{3}$, but I don't know how to use this without biasing the trace towards 1.