1. Have families of distributions over orthonormal sets been defined and studied in the literature? What are a couple examples and/or references?
  2. Are there known methods for constructing distributions over orthonormal sets by, for example, parameterizing the distributions of each coordinate of each vector?
  3. As a follow-up to question (2) above, how does one simulate orthonormal sets by, for example, parameterizing some distribution over each coordinate and vector?

Consider an orthonormal set of dimension $n$. For question (3), I imagine one could define a procedure that begins by simulating a unit vector from a distribution of dimension $n-1$, and iteratively simulate from the remaining $n-2$ orthonormal basis vectors. However, beyond the first unit vector, how might one impose the mutually orthogonal constraint?

  • $\begingroup$ See stats.stackexchange.com/a/215647/919 for one way -- one of the most efficient -- to generate uniformly distributed orthonormal matrices. The issue in most cases isn't imposing orthogonality--that's easy algebra--but rather computing the conditional distribution after a preliminary set of orthonormal vectors has been selected. Doing that depends on what distribution you have in mind. It's rare to see anything but a uniform (Haar) distribution used on compact Lie groups or their quotient spaces. $\endgroup$
    – whuber
    Commented Jan 31, 2022 at 2:40
  • 1
    $\begingroup$ thanks @whuber; your answer there also has some nice references I can follow. $\endgroup$
    – fool
    Commented Feb 2, 2022 at 3:19

1 Answer 1


(Will update with details as I learn.)

  1. Yes. A Haar measure is essentially a uniform distribution over the set of all orthogonal matrices. Orthogonal matrices of dimension $n$ are also known as orthogonal groups, denoted $\mathrm{O}(n)$.

  2. and 3. Yes. For example, one could use the Gram-Schmidt process (GSP) which orthogonalizes a set of vectors in an iterative manner. This is a deterministic procedure, but randomness can be injected by initializing a set of random vectors and applying the GSP to these vectors. The resulting matrix will correspond to the Q matrix in QR decomposition. The Wikipedia article on orthogonalization lists other methods that can be leveraged in the same manner as above. For sampling from the Haar distribution, see How to generate random matrices from the classical compact groups (used in SciPy's ortho_group function).

Relevant references:

  1. Technical report: The Subgroup Algorithm for Generating Uniform Random Variables
  2. MathSE: "Random" generation of rotation matrices
  3. MathSE: What does "Random Rotation Matrix" really mean? How to generate it?

Your Answer

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

Not the answer you're looking for? Browse other questions tagged or ask your own question.