I am interested in describing the group of special orthogonal matrices $\operatorname{SO}(n)$ by a set of parameters, in any dimension. I would also like to obtain an expression of the density of the Haar measure in this set of parameters.

Could anyone help me on this or indicate a good reference? Thanks


1 Answer 1


The only explicit description of the Haar measure on $SO(n)$ that I'm aware of is inductive and based on hyperspherical coordinates on the unit $(n-1)$-sphere $S^{n-1}$. The idea is to first perform an arbitrary rotation of the first $n-1$ coordinates, and then perform a rotation that maps $\textbf{e}_n$ to any possible location on $S^{n-1}$.

I will describe this parameterization using explicit inductive formulas. For convenience, we will use the following notation. If $\textbf{v}\in\mathbb{R}^n$ is a vector, let $\textbf{v}^a\in\mathbb{R}^{n+1}$ be the vector obtained by augmenting $\textbf{v}$ with a zero, i.e. $$ (v_1,\ldots,v_n)^a \;=\; (v_1,\ldots,v_n,0). $$ Similarly, if $M$ is an $n\times n$ matrix, let $M^a$ be the $(n+1)\times(n+1)$ matrix with the following block diagonal form: $$ M^a \;=\; \begin{bmatrix}M & \textbf{0} \\ \textbf{0}^T & 1\end{bmatrix}. $$ We will also use the notation $\textbf{e}_1,\ldots,\textbf{e}_n$ for the standard basis vectors in $\mathbb{R}^n$.

Hyperspherical Coordinates

These are a coordinate system for specifying a point $\boldsymbol{\Sigma}_n(\theta_1,\ldots,\theta_n)$ on the unit $n$-sphere $S^n$ in $\mathbb{R}^{n+1}$ given $n$ angles $\theta_1,\ldots,\theta_n$. The first few hyperspherical coordinate systems are given by \begin{align*} \boldsymbol{\Sigma}_1(\theta_1) &\;=\; (\sin\theta_1,\,\cos\theta_1), \\[3pt] \boldsymbol{\Sigma}_2(\theta_1,\theta_2) &\;=\; (\sin\theta_1\sin\theta_2,\,\cos\theta_1\sin\theta_2,\,\cos\theta_2), \\[3pt] \text{and }\boldsymbol{\Sigma}_3(\theta_1,\theta_2,\theta_3) &\;=\; (\sin\theta_1\sin\theta_2\sin\theta_3,\,\cos\theta_1\sin\theta_2\sin\theta_3,\,\cos\theta_2\sin\theta_3,\,\cos\theta_3). \end{align*} and in general the $i$th Cartesian coordinate $\Sigma_{n,i}$ of $\boldsymbol{\Sigma}_n$ is given by the formula $$ \Sigma_{n,i}(\theta_1,\ldots,\theta_n) \;=\; \begin{cases}\sin \theta_1 \cdots \sin \theta_n & \text{if } i=1, \\[3pt] \cos \theta_{i-1} \sin \theta_i \cdots \sin \theta_n & \text{if }2\leq i \leq n+1.\end{cases} $$ The function $\boldsymbol{\Sigma}_n$ can also be defined inductively by the formula $$ \boldsymbol{\Sigma}_n(\theta_1,\ldots,\theta_n) \;=\; (\sin \theta_n)\,\bigl(\boldsymbol{\Sigma}_{n-1}(\theta_1,\ldots,\theta_{n-1})\bigr)^a \,+\, (\cos \theta_n)\,\textbf{e}_{n+1}. $$ with base case $\boldsymbol{\Sigma}_1$.

Domain and Volume Form

If we let $D_n$ be the subset of the parameter space defined by $$ 0\leq\theta_1\leq 2\pi \qquad\text{and}\qquad 0\leq \theta_i\leq \pi\;\; \text{ for }2\leq i \leq n, $$ then $\boldsymbol{\Sigma}_n$ maps $D_n$ onto $S^n$, and is one-to-one on the interior of $D_n$. The $n$-dimensional volume form with respect to $\boldsymbol{\Sigma}_n$ is $$ dV \;=\; \bigl(\sin \theta_2\bigr)\bigl(\sin^2\theta_3\bigr) \cdots \bigl(\sin^{n-1} \theta_n\bigr)\,d\theta_1 \cdots d\theta_n, $$ which comes from the fact that the partial derivatives of $\boldsymbol{\Sigma}_n$ are orthogonal with $$ \left\|\frac{\partial \boldsymbol{\Sigma}_n(\theta_1,\ldots,\theta_n)}{\partial \theta_i}\right\| \;=\; (\sin\theta_{i+1})\cdots(\sin \theta_n) $$ for all $1\leq i\leq n$.

An Orthonormal Basis

Before writing down the parameterization of $SO(n)$, we need to extend $\{\boldsymbol{\Sigma}_n(\theta_1,\ldots,\theta_n)\}$ to an orthonormal basis of $\mathbb{R}^{n+1}$. The basis is $$ \bigl\{\textbf{U}_{n,1}(\theta_1,\ldots,\theta_n),\ldots,\textbf{U}_{n,n}(\theta_1,\ldots,\theta_n),\boldsymbol{\Sigma}_n(\theta_1,\ldots,\theta_n)\bigr\} $$ where $$ \textbf{U}_{n,i}(\theta_1,\ldots,\theta_n) \;=\; \frac{1}{(\sin \theta_{i+1}) \cdots (\sin \theta_n)}\frac{\partial \boldsymbol{\Sigma}(\theta_1,\ldots,\theta_n)}{\partial \theta_i}. $$ That is, $\textbf{U}_{n,i}$ is the unit vector tangent to $S^n$ in the direction of increasing $\theta_i$. For example, in the case of $n=2$ we have $\boldsymbol{\Sigma}_2(\theta_1,\theta_2) = (\sin \theta_1\sin\theta_2,\cos\theta_1 \sin\theta_2,\cos\theta_2)$, so $$ \textbf{U}_{2,1}(\theta_1,\theta_2) = (\cos \theta_1,-\sin\theta_1,0), \qquad \textbf{U}_{2,2}(\theta_1,\theta_2) = (\sin \theta_1\cos\theta_2,\cos\theta_1 \cos\theta_2,-\sin\theta_2). $$ Saying these vectors are orthonormal is the same thing as saying that hyperspherical coordinates are an orthogonal coordinate system.

The vectors $\textbf{U}_{n,i}(\theta_1,\ldots,\theta_n)$ can also be defined inductively by the formula $$ \textbf{U}_{n,n}(\theta_1,\ldots,\theta_n) \;=\; (\cos \theta_n)\,\bigl(\boldsymbol{\Sigma}_{n-1}(\theta_1,\ldots,\theta_{n-1})\bigr)^a \,-\, (\sin \theta_n)\,\textbf{e}_{n+1} $$ and $\textbf{U}_{n,i}(\theta_1,\ldots,\theta_n) = \bigl(\textbf{U}_{n-1,i}(\theta_1,\ldots,\theta_{n-1})\bigr)^a$ for $i<n$.

Let $M_{n+1}(\theta_1,\ldots,\theta_n)$ denote the $(n+1)\times (n+1)$ matrix whose columns are the vectors of this orthonormal basis: $$ M_{n+1}(\theta_1,\ldots,\theta_n) \;=\; \begin{bmatrix}\textbf{U}_{n,1}(\theta_1,\ldots,\theta_n) & \cdots & \textbf{U}_{n,n}(\theta_1,\ldots,\theta_n) & \boldsymbol{\Sigma}_n(\theta_1,\ldots,\theta_n)\end{bmatrix}. $$ So $M_n(\theta_1,\ldots,\theta_{n-1})$ is an $n\times n$ matrix in $SO(n)$ that maps $\textbf{e}_n$ to an arbitrary point $\boldsymbol{\Sigma}_{n-1}(\theta_1,\ldots,\theta_{n-1})$ on the unit $(n-1)$-sphere.

Parameterization of $SO(n)$

Our parameterization for $SO(n)$ will be an inductively defined function $\Phi_n$, which will take the $\binom{n}{2}$ angles $\{\phi_{ij}\}_{1\leq i \leq j\leq n-1}$ as input, and output an $n\times n$ matrix in $SO(n)$. It is defined inductively by the rule $$ \Phi_2(\phi_{11}) \;=\; \begin{bmatrix}\cos \phi_{11} & \sin \phi_{11} \\ -\sin \phi_{11} & \cos \phi_{11}\end{bmatrix}. $$ and $$ \Phi_n\bigl(\{\phi_{ij}\}_{1\leq i \leq j\leq n-1}\bigr) \;=\; M_n(\phi_{1,n-1},\ldots,\phi_{n-1,n-1})\, \bigl(\Phi_{n-1}(\{\phi_{ij}\}_{1\leq i \leq j\leq n-2})\bigr)^a $$ where the product is a matrix product. Conceptually, the $\bigl(\Phi_{n-1}(\{\phi_{ij}\}_{1\leq i \leq j\leq n-2})\bigr)^a$ factor performs an arbitrary rotation on the first $n-1$ coordinates, and then the $M_n(\phi_{1,n-1},\ldots,\phi_{n-1,n-1})$ performs a specific rotation that maps $\textbf{e}_n$ to an arbitrary point on $S^{n-1}$.

Again, if we let $E_n$ be the subset of parameter space defined by $0\leq \phi_{1j}\leq 2\pi$ for $1\leq j \leq n-1$ and $0\leq \phi_{ij}\leq \pi$ for $2\leq i\leq j \leq n-1$, then $\Phi_n$ maps $E_n$ onto $SO(n)$ and $\Phi_n$ is one-to-one on the interior of $E_n$.

The volume form on $SO(n)$ corresponding to Haar measure is $$ dV \;=\; \left(\prod_{1\leq i \leq j \leq n-1} \sin^{i-1} \phi_{ij} \right) d\phi_{11} \cdots d\phi_{n-1,n-1}. $$ Note that this measure isn't normalized. Instead, the total volume of $SO(n)$ is the product $$ \prod_{i=1}^{n-1} \mathrm{Vol}(S^i), $$ where $\mathrm{Vol}(S^i)$ denotes the $i$-dimensional volume (i.e. surface area) of the unit $i$-sphere in $\mathbb{R}^{i+1}$.

Some Examples

For $n=3$, we are parameterizing $SO(3)$ using $3$ variables $\phi_{11},\phi_{12},\phi_{22}$, where $\phi_{11},\phi_{12}\in[0,2\pi]$ and $\phi_{22}\in[0,\pi]$. The parameterization $\Phi_3(\phi_{11},\phi_{12},\phi_{22})$ is given by the following matrix product $$ \begin{bmatrix}\cos\phi_{12}&\sin\phi_{12}\cos\phi_{22}&\sin\phi_{12} \sin \phi_{22} \\ -\sin\phi_{12}&\cos\phi_{12}\cos\phi_{22}& \cos\phi_{12}\sin\phi_{22} \\ 0&-\sin\phi_{22}& \cos\phi_{22}\end{bmatrix} \begin{bmatrix}\cos \phi_{11} & \sin \phi_{11} & 0 \\ -\sin \phi_{11} & \cos \phi_{11} & 0 \\ 0 & 0 & 1\end{bmatrix}. $$ The volume form is $$ dV \;=\; \sin \phi_{22} \,d\phi_{11}\,d\phi_{12}\,d\phi_{22}, $$ and the total volume of $SO(3)$ is $(2\pi)(4\pi) = 8\pi^2$.

For $n=4$, we are parameterizing $SO(4)$ with six parameters $\phi_{11},\phi_{12},\phi_{22},\phi_{13},\phi_{23},\phi_{33}$, where $\phi_{11},\phi_{12},\phi_{13}\in[0,2\pi]$ and $\phi_{22},\phi_{23},\phi_{33}\in[0,\pi]$. The parameterization $\Phi_4(\phi_{11},\phi_{12},\phi_{22},\phi_{13},\phi_{23},\phi_{33})$ is the product of the matrix $$ \begin{bmatrix} \cos\phi_{13} & \sin\phi_{13}\cos\phi_{23} & \sin\phi_{13}\sin\phi_{23}\cos\phi_{33} & \sin\phi_{13}\sin\phi_{23}\sin\phi_{33} \\ -\sin\phi_{13} & \cos\phi_{13}\cos\phi_{23} & \cos\phi_{13}\sin\phi_{23}\cos\phi_{33} & \cos\phi_{13}\sin\phi_{23}\sin\phi_{33} \\ 0 & -\sin\phi_{23} & \cos\phi_{23}\cos\phi_{33} & \cos\phi_{23}\sin\phi_{33} \\ 0 & 0 & -\sin\phi_{33} & \cos\phi_{33} \end{bmatrix} $$ with $\begin{bmatrix}\Phi_3(\phi_{11},\phi_{12},\phi_{22}) & \textbf{0} \\ \textbf{0}^T & 1\end{bmatrix}$. The volume form is $$ dV \;=\; \bigl(\sin \phi_{22}\bigr) \bigl(\sin \phi_{23}\bigr) \bigl(\sin^2 \phi_{33}\bigr)\,d\phi_{11}\,d\phi_{12}\,d\phi_{22}\,d\phi_{13}\,d\phi_{23}\,d\phi_{33}, $$ and the total volume of $SO(4)$ is $(2\pi)(4\pi)(2\pi^2) = 16\pi^4$.

  • 7
    $\begingroup$ @KarimMansour Thanks! I've always wanted to try writing this all this down explicitly. Incidentally, I've posted a similar answer for the unitary group $U(n)$ here. $\endgroup$
    – Jim Belk
    Jul 18, 2015 at 3:57
  • $\begingroup$ Thank you for your reference I will check it out aswel those answers would have been handy when I did a project on haar measure ! I am pretty sure alot of people will benefit from this. $\endgroup$
    – user111750
    Jul 18, 2015 at 4:10

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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