Maths WorkshopMaths problems with full solutions
Exercise 1447Topology › Topology of Mn(ℝ) › Applications and the case n = 2L3Added 10 Nov 2026

Matrices of finite order are dense in SO(n)

#SO(n)#finite order#normal form of orthogonal matrices#density

Statement

Show that the set of U∈SO(n)U\in SO(n) all of whose eigenvalues are roots of unity is dense in SO(n)SO(n).

Hint

Use the real normal form of an orthogonal matrix: U=Q(R(θ1)⊕⋯⊕R(θk)⊕Is)QTU=Q\bigl(R(\theta_1)\oplus\dots\oplus R(\theta_k)\oplus I_s\bigr)Q^T. Approximate each angle θj\theta_j by a rational multiple of 2π2\pi.

Show solutionHide solution

Solution

Idea. An orthogonal matrix is a direct sum of plane rotations and identity blocks in a suitable orthonormal basis. The angles are free continuous parameters, so we may replace them by rational multiples of 2π2\pi.

Step 1: the normal form. A real orthogonal matrix UU is normal (UUT=UTU=IUU^T=U^TU=I), hence unitarily diagonalisable over C\mathbb{C} with eigenvalues of modulus 11. The real spectral theorem for normal matrices (quoted) gives an orthogonal QQ with
U=Q diag(R(θ1),…,R(θk), Is, −It) QT,2k+s+t=n,U=Q\,\mathrm{diag}\bigl(R(\theta_1),\dots,R(\theta_k),\,I_s,\,-I_t\bigr)\,Q^T,\qquad 2k+s+t=n,
where the blocks R(θj)R(\theta_j) correspond to the pairs of non-real eigenvalues e±iθje^{\pm i\theta_j} and IsI_s, −It-I_t to the eigenvalues 11 and −1-1.

Since det⁡U=1\det U=1, the number tt of eigenvalues −1-1 is even. Group them in pairs: a 2×22\times2 block −I2-I_2 equals R(π)R(\pi). So, after absorbing them into the rotation blocks, we may assume t=0t=0 (this changes kk but not the form), and
U=Q(R(θ1)⊕⋯⊕R(θk)⊕Is)QT.U=Q\bigl(R(\theta_1)\oplus\dots\oplus R(\theta_k)\oplus I_s\bigr)Q^T.
Note that conjugating by any Q∈O(n)Q\in O(n), even with det⁡Q=−1\det Q=-1, keeps us inside SO(n)SO(n), because det⁡(QXQT)=det⁡X\det(QXQ^T)=\det X.

Step 2: approximating. Choose rationals with θj(m)∈2πQ\theta_j^{(m)}\in2\pi\mathbb{Q} and θj(m)→θj\theta_j^{(m)}\to\theta_j as m→∞m\to\infty, and put
Um=Q(R(θ1(m))⊕⋯⊕R(θk(m))⊕Is)QT∈SO(n).U_m=Q\bigl(R(\theta_1^{(m)})\oplus\dots\oplus R(\theta_k^{(m)})\oplus I_s\bigr)Q^T\in SO(n).
The eigenvalues of UmU_m are e±iθj(m)e^{\pm i\theta_j^{(m)}} and 11, all roots of unity. Writing θj(m)=2πpj/qj\theta_j^{(m)}=2\pi p_j/q_j, we get UmN=IU_m^N=I with N=lcm(q1,…,qk)N=\mathrm{lcm}(q_1,\dots,q_k), so UmU_m has finite order.

Step 3: convergence. The operator norm is invariant under orthogonal conjugation, and the norm of a block diagonal matrix is the maximum of the norms of the blocks. Hence
∥Um−U∥=max⁡j∥R(θj(m))−R(θj)∥=max⁡j2∣sin⁡θj(m)−θj2∣⟶0.\|U_m-U\|=\max_j\|R(\theta_j^{(m)})-R(\theta_j)\|=\max_j2\Bigl|\sin\frac{\theta_j^{(m)}-\theta_j}2\Bigr|\longrightarrow0.

Check (numerical). For a random U∈SO(5)U\in SO(5) computed with the real Schur form, rounding the two angles to multiples of 2π/N2\pi/N gave ∥UN−U∥≈0.28, 0.027, 0.002\|U_N-U\|\approx0.28,\ 0.027,\ 0.002 for N=10,100,1000N=10,100,1000 and ∥UNN−I∥≈10−12\|U_N^N-I\|\approx10^{-12}.

Remark. The same argument works in O(n)∖SO(n)O(n)\setminus SO(n): there the normal form has an odd number of eigenvalues −1-1, which is kept fixed while the rotation angles are approximated. So the elements of finite order are dense in all of O(n)O(n).

Lesson. A normal form with free continuous parameters turns a density question about a group into a density question about R\mathbb{R} (or the torus).