I want to draw a matrix $A\in \mathbb{R}^{n\times k}$ uniformally at random from the Stiefel manifold $\mathbb{V}_k(\mathbb{R}^n)$, that is from the collection of all $n\times k$ matrices $A$ such that $A^TA=I_{k\times k}$. Is this true that generating a matrix $X\in\mathbb{R}^{n\times n}$ with iid standard normal entries $\mathcal{N}(0,1)$, performing a svd decomosition $X=U\Lambda V^H$ and taking the first $k$ vectors of $U$, correspond to sampling $\mathbb{V}_k(\mathbb{R}^n)$ uniformally at random?
1 Answer
Yes, this is correct; the probability distribution of $X=U\Lambda V^\top$ is $$P(X)\propto \exp\left(\tfrac{1}{2}\,{\rm tr}\,XX^\top\right)=\exp\left(\tfrac{1}{2}\,{\rm tr}\,\Lambda^2\right),$$ so it is independent of the orthogonal matrices $U$,$V$. These are therefore distributed uniformly in $O(n)$, and identifying $A$ with the first $k$ columns of $U$ will generate a uniformly distributed $A$ in $\mathbb{V}_k(\mathbb{R}^n)$.
An alternative approach, which does not require you to perform a SVD, is to orthonormalize the first $k$ columns of $X$ and place these in $A$.

$\begingroup$ I think more care is needed here. What if when we compute the SVD, we negate the the first column of U and V as needed so that the (1,1) entry of U is nonnegative? $\endgroup$ Jan 22 at 21:17

$\begingroup$ indeed, this nonuniqueness of the SVD can be remedied by multiplying $U$ from the right with a diagonal matrix of random phase factors $e^{i\phi_1},e^{i\phi_2},\ldots e^{i\phi_n}$. $\endgroup$ Jan 22 at 21:32

$\begingroup$ Than you @CarloBeenakker . I can’t seem to find a reference that supports this, all the textbooks I find mentioned the QR decomposition. Do you maybe know one ? $\endgroup$ Jan 24 at 5:32