In MatLab I generate Haar distributed matrices like this:
m = randn(m,m)% all elements are normally distributed
u= qr(m) % make qr decomposition and what you get is Haar measure on "u"
So the mathematical statement is that if m
is normally distributed, then u
is Haar.
The reason is quite trivial — normal distribution is preserved by unitary transformations.
However writing this I begin to doubt myself about tiny details - depending
how they implement qr algorithm the matrix u
is not unique, it can be multiplied by
$\operatorname{diag}(\pm1)$. Neverthelss most probably everything should be correct.