# Haar measure on $\operatorname{SO}(n)$

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

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$.

• @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. Jul 18, 2015 at 3:57
• 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.
– user111750
Jul 18, 2015 at 4:10