Random matrices (that is, matrices with random variables as entries) appear in several areas of mathematics and physics. Often, one is interested in sampling their eigenvalues (which are again random variables); we briefly recap the main tools that can be used to sample the joint eigenvalue distribution for Hermitian matrices from the Gaussian unitary Ensemble (GUE) with $O(n^2)$ flops, and discuss how similar ideas can be used to efficiently perform the analogous operation for Haar-distributed orthogonal or unitary matrices.
The latter operation requires to find a suitable compact canonical form for upper Hessenberg unitary matrices obtained by reducing random orthogonal/unitary matrices, and then efficiently operate on this compact representation to compute the eigenvalues.