12.6  The Shape of an Orthogonal Matrix

An orthogonal matrix is normal, so the real normal form of the previous section applies to it — and the extra information that an orthogonal matrix carries, that every eigenvalue has modulus 1, collapses that form into something very small. What comes out is a complete description of the rigid motions of Rn fixing the origin: a few axes reversed, and the rest of the space turned in independent two-dimensional planes. In dimension 3 this is the statement that every rotation has an axis, and we push it as far as an explicit formula for the rotation matrix in terms of its axis and angle.

Throughout, Rn carries the standard inner product, and Q is a real matrix.

12.6.1. From the real normal form to the canonical form

Two pieces of notation, both recalled. For θ∈R, Chapter 11 wrote Rθ=(cos⁡θ−sin⁡θsin⁡θcos⁡θ) for the matrix that rotates the plane by θ (Theorem 11.7.6). It is exactly the rotation-scaling block of Chapter 10 for a complex number on the unit circle: Rθ=Λ(eiθ) in the notation of Definition 10.4.1, since eiθ=cos⁡θ+isin⁡θ. And A⊕B is the block diagonal matrix with diagonal blocks A and B.

Now the observation that starts everything. If Q∈O(n) then Q⊤Q=In=QQ⊤, so Q commutes with its own adjoint: every orthogonal matrix is normal. So Theorem 12.5.3 applies. All that remains is to say what the blocks can be, and for that we use the one thing an orthogonal matrix has that a general normal matrix does not.

Theorem 12.6.1 (Canonical Form of an Orthogonal Matrix)

Let Q∈O(n). Then there are integers p,q,m≥0 with p+q+2m=n, and angles θ1,…,θm with 0<θj<π, and a matrix P∈O(n), such that P⊤QP=Ip⊕(−Iq)⊕Rθ1⊕⋯⊕Rθm. Moreover detQ=(−1)q, and p, q and the multiset {θ1,…,θm} are determined by Q.

Idea. Q is normal, so Theorem 12.5.3 already hands us a block diagonal matrix with 1×1 blocks [a] and 2×2 blocks Λ(λ). The blocks are unconstrained for a general normal matrix; here they are not, because the eigenvalues of an isometry lie on the unit circle. A real eigenvalue on the unit circle is ±1, and a conjugate pair on the unit circle is e±iθ, which turns the scaling block into a pure rotation. Then sort the ±1s to the front.

Proof. The operator TQ on Rn satisfies TQ∗=TQ⊤ by Theorem 11.6.3, since the standard basis is orthonormal, so TQ∗TQ=TQ⊤Q=id and likewise in the other order. Hence TQ is normal (Definition 11.6.3), and by Theorem 12.5.3 there is an orthonormal basis B of Rn in which [TQ]BB=[a1]⊕⋯⊕[ar]⊕Λ(λ1)⊕⋯⊕Λ(λm), where ai∈R and λj=cj+dji with dj>0. Let P be the matrix whose columns are the vectors of B. Its columns are orthonormal, so P∈O(n) by Theorem 11.7.3 (f), and P⊤QP=P−1QP=[TQ]BB by Theorem 4.2.3.

The blocks. A block diagonal matrix is triangular by blocks, so the eigenvalues of [TQ]BB over C are the ai together with the roots of each det(xI2−Λ(λj))=(x−cj)2+dj2, namely λj and λj―. Now O(n)=U(n)∩Mn(R) by Proposition 11.7.4 (a), so Q is unitary, and every complex eigenvalue λ of Q satisfies |λ|=1 by Proposition 11.7.1 applied to TQ on Cn. Therefore ai=±1 for each i, and cj2+dj2=1 for each j. Since cj2+dj2=1 and dj>0, there is a unique θj∈(0,π) with cj=cos⁡θj and dj=sin⁡θj, and then Λ(λj)=Rθj.

Sorting. Let p be the number of i with ai=1 and q the number with ai=−1, so p+q+2m=n. Reordering the vectors of B so that the +1 blocks come first, then the −1 blocks, then the rotation blocks in pairs, leaves the basis orthonormal and permutes the diagonal blocks; the new P is the old one with its columns permuted, still orthogonal. This gives the displayed form.

The determinant and uniqueness. By Theorem 7.5.4 and Corollary 7.5.7, detQ=det(P⊤QP), and the determinant of a block diagonal matrix is the product of the determinants of its blocks (Theorem 7.8.4), which are 1, −1 and detRθj=cos2⁡θj+sin2⁡θj=1. Hence detQ=(−1)q. Finally, similar matrices have the same eigenvalues with the same multiplicities, and reading the eigenvalues off the displayed form gives 1 with multiplicity p, −1 with multiplicity q, and the pairs e±iθj; so p, q and the θj are recovered from Q alone. This proves the theorem.

So an orthogonal matrix is, up to an orthogonal change of coordinates, nothing but a list of angles together with a count of reversed axes. The number q of reversed axes is not itself an invariant of the geometry — a −1 block and a −1 block together make −I2=Rπ, a rotation by π — which is why the theorem demands θj≠π and keeps the −1s separate. What the determinant sees is only the parity of q.

Quick check. What is the canonical form of a Q∈O(2) with detQ=−1? Compare with Theorem 11.7.6.

Solution. Here p+q+2m=2 and (−1)q=−1, so q is odd, forcing q=1, p=1, m=0. The canonical form is I1⊕(−I1)=diag(1,−1). Chapter 11 found that such a Q is the reflection Mθ in a line L, fixing L and negating L⊥; in the orthonormal basis of eigenvectors of Theorem 11.7.6 (b) its matrix is exactly diag(1,−1). Note what the canonical form drops: the angle of the mirror. All reflections of the plane are orthogonally similar to one another, and Exercise (C1: The plane, re-derived) makes this comparison precise.

12.6.2. Rotations of space

In dimension 3 the arithmetic p+q+2m=3 leaves very few possibilities, and they all look the same.

Corollary 12.6.2 (Orthogonal Matrices in Dimension Three)

Let Q∈O(3). Then there are an orthonormal basis (u,w1,w2) of R3 and an angle θ∈[0,π] such that, in that basis, the matrix of TQ is [1]⊕Rθif detQ=1,[−1]⊕Rθif detQ=−1. In particular every Q∈SO(3) fixes the line span(u) pointwise and rotates the plane span(u)⊥ by θ.

Proof. Write the canonical form of Theorem 12.6.1, with p+q+2m=3 and detQ=(−1)q.

Case detQ=1. Then q is even, so q∈{0,2}. If q=0 then p+2m=3, giving (p,m)=(3,0) or (1,1); if q=2 then p=1 and m=0. The three forms are I3=[1]⊕R0,[1]⊕Rθ1,[1]⊕(−I2)=[1]⊕Rπ, and in every case p≥1, so the form is [1]⊕Rθ with θ∈[0,π].

Case detQ=−1. Then q is odd, so q∈{1,3}. If q=1 then p+2m=2, giving (p,m)=(2,0) or (0,1); if q=3 then p=m=0. The three forms are [−1]⊕I2=[−1]⊕R0, then [−1]⊕Rθ1, and −I3=[−1]⊕Rπ.

In both cases the first basis vector u spans the ±1 eigenline and (w1,w2) is an orthonormal basis of span(u)⊥, which is what the last sentence asserts when detQ=1.

Chapter 11 proved the SO(3) statement directly, as Theorem 11.7.7, by producing a real eigenvalue from the odd degree of the characteristic polynomial and then invoking the classification of O(2). We do not repeat that argument: the point here is that the same conclusion falls out of the canonical form with no work at all, and that the same three lines also settle detQ=−1. An orthogonal matrix of determinant −1 in dimension 3 is a rotatory reflection: a rotation about an axis followed by the reflection in the plane perpendicular to it. Its two extreme cases are the plane reflection (θ=0) and the antipodal map −I3 (θ=π).

Remark. The angle θ is determined by Q only up to sign, because exchanging w1 and w2 replaces Rθ by R−θ. Restricting to θ∈[0,π], as above, makes it unique; to speak of a signed angle one must also fix which of the two unit vectors on the axis is called u.

12.6.3. The cross-product matrix

The canonical form tells us that a rotation of R3 exists in a suitable basis. For computation we want it in the standard basis, written directly in terms of the axis. The bookkeeping is done by one matrix.

Recall from Chapter 7 that the cross product of a,b∈R3 is a×b=(a2b3−a3b2, a3b1−a1b3, a1b2−a2b1). For fixed a this is linear in b, so it is given by a matrix.

Definition 12.6.1 (Cross-product Matrix)

For n=(n1,n2,n3)∈R3, the cross-product matrix of n is Kn:=(0−n3n2n30−n1−n2n10)∈M3(R), so that Knv=n×v for every v∈R3.

The last clause is a check of the three entries against the formula above, with a=n and b=v. The map n↦Kn is linear and injective, and its image is exactly the set of skew-symmetric 3×3 matrices: a skew matrix has zero diagonal and three free entries below it, and those three entries are n3,−n2,n1. We record the facts we need, all of them for a unit vector.

Lemma 12.6.3 (Properties of the Cross-product Matrix)

Let n∈R3 with ‖n‖=1, and write K=Kn. Then

  • (a) K⊤=−K and Kn=0;
  • (b) K2=nn⊤−I3, so K2 is symmetric and K2v=−v for every v⊥n;
  • (c) K3=−K;
  • (d) for every v⊥n: ‖Kv‖=‖v‖, Kv⊥v and Kv⊥n.

Idea. Everything follows from (b), and (b) is one entry of a matrix product together with n12+n22+n32=1. Part (c) is (b) multiplied by K, where the term Knn⊤ dies by (a). For (d), a norm is computed through its square, and ‖Kv‖2=v⊤K⊤Kv=−v⊤K2v turns (d) into (b) as well.

Proof.

  • (a) Transposing Kn changes the sign of each of the three off-diagonal pairs, and the diagonal is zero. For the second claim, Kn=n×n=0 directly from the formula, each coordinate being of the form ninj−njni.

  • (b) The (1,1) entry of K2 is 0⋅0+(−n3)n3+n2(−n2)=−n22−n32=n12−1, using ‖n‖2=1; and (nn⊤−I3)11=n12−1. The (1,2) entry of K2 is 0(−n3)+(−n3)0+n2n1=n1n2=(nn⊤)12, and the (1,3) entry is 0n2+(−n3)(−n1)+n20=n1n3. The remaining six entries are obtained by cycling the indices 1→2→3→1, under which both K and nn⊤−I3 are unchanged in form. Hence K2=nn⊤−I3, which is symmetric since (nn⊤)⊤=nn⊤. If v⊥n then n⊤v=0, so K2v=n(n⊤v)−v=−v.

  • (c) By (b) and (a), K3=K(nn⊤−I3)=(Kn)n⊤−K=−K.

  • (d) Let v⊥n. Using (a) and then (b), ‖Kv‖2=(Kv)⊤(Kv)=v⊤K⊤Kv=−v⊤K2v=v⊤v=‖v‖2. Next, ⟨Kv,v⟩=v⊤Kv is a 1×1 matrix, hence equal to its own transpose v⊤K⊤v=−v⊤Kv; a number equal to its own negative is 0, so Kv⊥v. Finally ⟨Kv,n⟩=n⊤Kv=(K⊤n)⊤v=−(Kn)⊤v=0 by (a). This proves the lemma.

Part (c) is the identity that makes every power of K reduce to K or K2, and it is the reason Rodrigues’ formula has only three terms and no more.

12.6.4. Rodrigues’ formula

Fix a unit vector n and an angle θ. We want a formula for “turn space by θ about the axis span(n)”. The construction is forced by the picture: split a vector into the part along the axis, which does not move, and the part perpendicular to the axis, which turns inside a single plane.

Write v∥=⟨v,n⟩n=nn⊤v for the component of v along the axis and v⊥=v−v∥ for the component perpendicular to it; this is the splitting of Theorem 11.3.2 for U=span(n), and v∥=PUv by Theorem 11.3.3 (a) with the orthonormal basis (n) of U. Write v′ for the vector we want, the image of v under the turn.

Diagram. Labels: v, n times v, v_parallel, n, v_perp, v ', the axis part stays, the perpendicular part turns

By Lemma 12.6.3 (d), the vector Knv⊥ has the same length as v⊥ and is perpendicular to both v⊥ and n: it is v⊥ turned by a quarter turn inside the plane n⊥. So turning v⊥ by θ means taking cos⁡θv⊥+sin⁡θKnv⊥, and v′=v∥+cos⁡θv⊥+sin⁡θKnv⊥. Finally Knv⊥=Knv, since Knv∥ is a multiple of Knn=0. That is the definition we take, and the theorem says it is the right one.

Theorem 12.6.4 (Rodrigues’ Rotation Formula)

Let n∈R3 be a unit vector, let θ∈R, and write K=Kn. Define Rn,θ:=I3+sin⁡θK+(1−cos⁡θ)K2.

  • (a) For every v∈R3, Rn,θv=⟨v,n⟩n+cos⁡θ(v−⟨v,n⟩n)+sin⁡θ(n×v).
  • (b) Rn,θn=n, and for every unit w⊥n the list B=(n,w,n×w) is an orthonormal basis of R3 with [TRn,θ]BB=[1]⊕Rθ. In particular Rn,θ∈SO(3).
  • (c) Conversely, every Q∈SO(3) equals Rn,θ for some unit vector n and some θ∈[0,π].

Idea. Part (a) is the paragraph above, read backwards: substitute nn⊤=K2+I3 from Lemma 12.6.3 (b) into the geometric expression and collect terms. Part (b) then needs only the images of three basis vectors, and every one of them is a two-line computation with (a) and the lemma; the matrix that comes out is the canonical form of Corollary 12.6.2, which also gives orthogonality and the determinant for free. Part (c) runs Corollary 12.6.2 in reverse: it hands us a basis (u,w1,w2), and the only question is whether w2 is u×w1 or its negative — and if it is the negative, we change the sign of the angle.

Proof.

  • (a) By Lemma 12.6.3 (b), nn⊤=K2+I3. Hence, writing ⟨v,n⟩n=nn⊤v and n×v=Kv, nn⊤v+cos⁡θ(v−nn⊤v)+sin⁡θKv=cos⁡θv+(1−cos⁡θ)nn⊤v+sin⁡θKv=cos⁡θv+(1−cos⁡θ)(K2+I3)v+sin⁡θKv=(I3+sin⁡θK+(1−cos⁡θ)K2)v, since cos⁡θ+(1−cos⁡θ)=1. The right-hand side is Rn,θv.

  • (b) First Kn=0 and K2n=K(Kn)=0 by Lemma 12.6.3 (a), so Rn,θn=n.

    Let w be a unit vector with w⊥n, and put z=Kw=n×w. By Lemma 12.6.3 (d), ‖z‖=1, z⊥w and z⊥n, so B=(n,w,z) is an orthonormal list of three vectors in R3, hence an orthonormal basis (Theorem 11.1.4 and Theorem 1.6.4). Now compute the three images. We have Rn,θn=n. Next, K2w=−w by Lemma 12.6.3 (b), since w⊥n, so Rn,θw=w+sin⁡θz−(1−cos⁡θ)w=cos⁡θw+sin⁡θz. Finally z⊥n, so K2z=−z, and Kz=K2w=−w; hence Rn,θz=z−sin⁡θw−(1−cos⁡θ)z=−sin⁡θw+cos⁡θz. Reading off the columns (Definition 4.1.1), [TRn,θ]BB=[1]⊕Rθ. This matrix is orthogonal, and it is the matrix of TRn,θ in an orthonormal basis, so TRn,θ is an isometry and Rn,θ∈O(3) by Theorem 11.7.3 (f) and Definition 11.7.2. The two matrices are matrices of the same operator, hence similar (Theorem 4.2.4 (a)), so they have the same determinant (Corollary 7.5.7), namely 1; so Rn,θ∈SO(3).

  • (c) Let Q∈SO(3). By Corollary 12.6.2 there are an orthonormal basis C=(u,w1,w2) of R3 and θ∈[0,π] with [TQ]CC=[1]⊕Rθ. The vector u×w1 is a unit vector orthogonal to u and w1 by Lemma 12.6.3 (d), and so is w2; since span(u,w1)⊥ is a line (Theorem 11.3.2 (c)), its unit vectors are ±u×w1, so w2=εu×w1 with ε=±1.

Case ε=1. Then (b), applied with n=u and w=w1, gives [TRu,θ]CC=[1]⊕Rθ=[TQ]CC. Operators with the same matrix in one basis are equal, so Q=Ru,θ.

Case ε=−1. Then u×w1=−w2, and the matrix of TQ in the basis (u,w1,−w2) is obtained from [1]⊕Rθ by changing the sign of the third basis vector, which changes the sign of the two off-diagonal entries of the Rθ block: it is [1]⊕R−θ. By the previous case, Q=Ru,−θ. Finally K−u=−Ku, so R−u,θ=I3−sin⁡θKu+(1−cos⁡θ)Ku2=Ru,−θ, and Q=R−u,θ with −u a unit vector and θ∈[0,π]. This proves the theorem.

Part (c) is worth restating on its own: a rotation of R3 is nothing but a unit vector and an angle. That is three numbers of data, one of them redundant, for an object that started life as nine matrix entries subject to six equations.

Quick check. Compute Rn,π from Rodrigues’ formula and identify the map geometrically.

Solution. With sin⁡π=0 and 1−cos⁡π=2, the formula gives Rn,π=I3+2K2=I3+2(nn⊤−I3)=2nn⊤−I3, using Lemma 12.6.3 (b). It fixes n and negates every vector perpendicular to n: the half-turn about the axis. Equivalently Rn,π=−(I3−2nn⊤)=−Hn, minus the Householder reflection of Definition 11.8.1 in the plane n⊥.

12.6.5. Reading off the axis and the angle

Rodrigues’ formula runs one way: from (n,θ) to Q. The inverse direction is just as cheap, because the formula splits Q into a symmetric part and a skew part that carry the two pieces of data separately.

Theorem 12.6.5 (Axis and Angle from the Matrix)

Let Q=Rn,θ∈SO(3) with n a unit vector and θ∈[0,π]. Then

  • (a) trQ=1+2cos⁡θ, so cos⁡θ=12(trQ−1) and θ is determined by Q;
  • (b) Q−Q⊤=2sin⁡θKn;
  • (c) if 0<θ<π, then sin⁡θ>0 and n=12sin⁡θ(q32−q23, q13−q31, q21−q12); if θ=0 then Q=I3 and the axis is arbitrary; and if θ=π then Q+I3=2nn⊤, whose non-zero columns are the multiples 2nin of n.

Proof. Write K=Kn. By Lemma 12.6.3 (b), K2=nn⊤−I3, so trK2=tr(nn⊤)−3=‖n‖2−3=−2; and trK=0, the diagonal of K being zero.

  • (a) Taking traces in Rodrigues’ formula, which is legitimate because the trace is linear (Theorem 0.9.6 (1)), trQ=3+sin⁡θ⋅0+(1−cos⁡θ)(−2)=1+2cos⁡θ. Since cos is injective on [0,π], this determines θ.

  • (b) By Lemma 12.6.3 (a) and (b), K⊤=−K and (K2)⊤=K2. Transposing Rodrigues’ formula therefore gives Q⊤=I3−sin⁡θK+(1−cos⁡θ)K2, and subtracting, Q−Q⊤=2sin⁡θK.

  • (c) For θ∈(0,π) we have sin⁡θ>0, so (b) may be divided by 2sin⁡θ, and the three independent entries of Kn are (Kn)32=n1, (Kn)13=n2 and (Kn)21=n3 by Definition 12.6.1; the displayed formula reads these off Q−Q⊤. If θ=0 then Rodrigues’ formula gives Q=I3. If θ=π then Q=2nn⊤−I3, as computed in the Quick check above, so Q+I3=2nn⊤, whose i-th column is 2nin; at least one ni≠0, so at least one column is a non-zero multiple of n. This proves the theorem.

The two degenerate angles are exactly the two at which the skew part Q−Q⊤ vanishes, and they are exactly the two at which the axis is not determined by a signed angle: at θ=0 there is no rotation to speak of, and at θ=π turning by +π and −π about the same axis give the same map. Everywhere else, part (c) is a two-subtraction recipe.

Example (Axis and Angle of a Space Rotation)

Let Q=19(1−48841−474). Verify that Q∈SO(3), find its axis and angle, and confirm the answer with Rodrigues’ formula.

Solution. Orthogonality. The columns are 19(1,8,−4), 19(−4,4,7) and 19(8,1,4). Each has squared norm 181(1+64+16)=181(16+16+49)=181(64+1+16)=1, and the three pairwise inner products are 181(−4+32−28)=181(8+8−16)=181(−32+4+28)=0. So Q∈O(3) by Theorem 11.7.3 (f).

Determinant. Expanding along the first row, 729detQ=1(16−7)−(−4)(32+4)+8(56+16)=9+144+576=729, so detQ=1 and Q∈SO(3).

Angle. trQ=19(1+4+4)=1, so cos⁡θ=12(1−1)=0 and θ=π/2 by Theorem 12.6.5 (a).

Axis. Here 2sin⁡θ=2. The three entries needed by Theorem 12.6.5 (c) are q32−q23=7−19=69,q13−q31=q21−q12=8+49=129, so n=12(69,129,129)=13(1,2,2), which is a unit vector since 1+4+4=9.

Check. Q(1,2,2)=19(1−8+16, 8+8+2, −4+14+8)=19(9,18,18)=(1,2,2), so the axis is fixed. And Rodrigues’ formula with θ=π/2 reads Rn,π/2=I3+K+K2, where K=13(0−2220−1−210),K2=nn⊤−I3=19(−8222−5424−5). Adding I3+K+K2 entry by entry, for instance 1+0−89=19 in position (1,1) and 0−23+29=−49 in position (1,2), returns Q.

12.6.6. Reflections generate

The canonical form is one way to say that an orthogonal matrix is built from simple pieces. Here is another, and the pieces are even simpler: mirrors. Recall from Chapter 11 the Householder reflection Hw=In−2ww⊤/‖w‖2 determined by a non-zero w (Definition 11.8.1); it is orthogonal, equal to its own inverse, and has determinant −1 (Proposition 11.8.2).

Lemma 12.6.6 (A Mirror Between Two Vectors of Equal Length)

Let x,y∈Rn with ‖x‖=‖y‖ and x≠y. Then w:=x−y is non-zero and Hwx=y.

Proof. w≠0 because x≠y. Expanding the two inner products and using ‖y‖2=‖x‖2, ‖w‖2=‖x‖2−2⟨x,y⟩+‖y‖2=2(‖x‖2−⟨x,y⟩),⟨x,w⟩=‖x‖2−⟨x,y⟩, so 2⟨x,w⟩=‖w‖2. Hence, by the formula Hwv=v−2(⟨v,w⟩/‖w‖2)w of Definition 11.8.1, Hwx=x−w=x−(x−y)=y, as claimed.

This is Theorem 11.8.3 with the target chosen for geometry rather than for arithmetic: there, y was a prescribed multiple of e1 and the sign was picked to avoid cancellation; here y is whatever we need, and the mirror is the perpendicular bisector of the segment from x to y.

Theorem 12.6.7 (Reflections Generate the Orthogonal Group)

Let n≥1 and Q∈O(n). Then Q is a product of at most n Householder reflections. (The identity is the empty product, of zero reflections.)

Idea. Induct on n, and make the induction bite by fixing one coordinate at a time. If Q already fixes e1, then it maps e1⊥ into itself, and the inductive hypothesis applied inside that (n−1)-dimensional space produces at most n−1 reflections, each of which extends to a reflection of Rn by taking the same w. If Q does not fix e1, spend one reflection making it do so: Qe1 and e1 are two distinct vectors of the same length, and Lemma 12.6.6 is exactly the tool that swaps them.

Proof. Induction on n. For n=1, a matrix [a]∈O(1) satisfies a2=[a]⊤[a]=1, so (a−1)(a+1)=0 and a=±1; thus O(1)={[1],[−1]}, where [1] is the empty product and [−1]=He1, one reflection.

Let n≥2 and assume the statement in dimension n−1. Let Q∈O(n) and set x=Qe1, a unit vector since TQ is an isometry (Theorem 11.7.3).

Case 1: x=e1. Put U=span(e1)⊥, of dimension n−1 by Theorem 11.3.2 (c). For v∈U we have ⟨Qv,e1⟩=⟨Qv,Qe1⟩=⟨v,e1⟩=0, the middle equality by Theorem 11.7.3 (b); so U is TQ-invariant. Identify U with Rn−1 through the orthonormal basis (e2,…,en). The restriction TQ|U is an isometry of U, so its matrix Q′ in that basis lies in O(n−1) (Theorem 11.7.3 (f)), and by the inductive hypothesis Q′=Hw1′⋯Hwk′ with k≤n−1 and wi′∈Rn−1. Let wi∈U⊆Rn be the vector with coordinates wi′ in the basis (e2,…,en). Then Hwi fixes e1, because e1⊥wi (Proposition 11.8.2 (d)), and on U it acts as Hwi′, because the defining formula only involves inner products, which agree. Hence Q and Hw1⋯Hwk agree on e1 and on U, so they agree on Rn=span(e1)⊕U, and Q is a product of k≤n−1≤n reflections.

Case 2: x≠e1. Then ‖x‖=1=‖e1‖, so w:=x−e1 is non-zero and Hwx=e1 by Lemma 12.6.6. The matrix HwQ is orthogonal, being a product of orthogonal matrices (Proposition 11.7.4 (a)), and HwQe1=Hwx=e1. By Case 1, HwQ is a product of at most n−1 reflections. Multiplying on the left by Hw and using Hw2=In (Proposition 11.8.2 (b)), Q=Hw(HwQ), a product of at most n reflections. This completes the induction.

Counting reflections recovers the determinant: each factor contributes −1 (Proposition 11.8.2 (e)), so a product of k reflections has determinant (−1)k, and an element of SO(n) needs an even number of them. The bound n is sharp — −In is a product of n reflections and no fewer, since a product of k reflections fixes the intersection of k hyperplanes, a subspace of dimension at least n−k, while −In fixes only 0.

Remark. The general theorem behind this one, due to Cartan and Dieudonné, says the same for the orthogonal group of any non-degenerate symmetric bilinear form over any field of characteristic ≠2. Only the Euclidean case is proved here, and only the Euclidean case is used.

12.6.7. Composing rotations

Two rotations of the plane about the origin compose into a rotation, and the angles add: RαRβ=Rα+β, so SO(2) is abelian (Chapter 11). The reason is visible in the canonical form: in dimension 2 there is only one rotation block, so a rotation is a single number, and numbers commute.

In dimension 3 the picture changes completely, because there is an axis to move as well as an angle to add.

Example (Two Quarter Turns in Two Orders)

Let A=Re1,π/2 and B=Re3,π/2, the quarter turns about the first and third coordinate axes. Compute AB and BA, and find the axis and angle of each.

Solution. From Theorem 12.6.4 (b), A fixes e1 and turns the (e2,e3)-plane by π/2, and B fixes e3 and turns the (e1,e2)-plane by π/2: A=(10000−1010),B=(0−10100001). Multiplying, AB=(0−1000−1100),BA=(001100010). These are different matrices, so SO(3) is not abelian. Both have trace 0, so both are rotations by the angle θ with cos⁡θ=12(0−1)=−12, that is θ=2π/3. Their axes differ. Solving ABv=v gives −v2=v1, −v3=v2, v1=v3, so the axis of AB is span((1,−1,1)); solving BAv=v gives v3=v1, v1=v2, v2=v3, so the axis of BA is span((1,1,1)). Same angle, different axes: the order of two quarter turns changes where the resulting axis points.

That the product is again a rotation is not an accident of this example: SO(3) is a group (Proposition 11.7.4), so any product of rotations is orthogonal with determinant 1, and Corollary 12.6.2 makes it a rotation. What no formula makes obvious is which one; Exercise (C2: Products of rotations) pursues this.

Warning. In dimension 4 and above, detQ=1 does not mean “rotation about an axis”. Take Q=Rπ/2⊕Rπ/3∈O(4),detQ=1⋅1=1. Its canonical form is itself, with p=q=0 and m=2, so 1 is not an eigenvalue and Q fixes no non-zero vector at all: there is no axis. Worse, the two angles are different, so Q is not a rotation “in a plane” either — it turns two orthogonal planes at two different speeds, and no single angle describes it. Chapter 11 made the same point with −I4∈SO(4); the canonical form explains it, since for even n the counts p=q=0 are allowed. The clean statement “determinant 1 means a rotation about an axis” is a feature of dimension 3, where p+q+2m=3 is odd and forces p≥1 when q is even.

12.6.8. Exercises

A. Check your understanding

Exercise (A1)
  • (a) State the canonical form of an element of O(n), saying what the blocks are and which angles are allowed.
  • (b) Which hypothesis on Q turns the rotation-scaling blocks of the real normal form into rotation blocks, and why?
  • (c) Write down the cross-product matrix Kn and state the identity Kn3=? for a unit n.
  • (d) Given Q∈SO(3), how do you find its angle, and how do you find its axis? Name the two degenerate cases.
  • (e) True or false: if Q∈O(n) and detQ=1, then Q fixes a non-zero vector. Justify your answer.
  • (f) How many Householder reflections can be needed to write an element of O(n), and what does the parity of that number say?

Solution.

  • (a) By Theorem 12.6.1, P⊤QP=Ip⊕(−Iq)⊕Rθ1⊕⋯⊕Rθm for some P∈O(n), with p+q+2m=n and 0<θj<π. The angles 0 and π are excluded because R0=I2 and Rπ=−I2 are already accounted for by the ±1 blocks.

  • (b) Orthogonality. An orthogonal matrix is unitary as a complex matrix (Proposition 11.7.4 (a)), so each of its eigenvalues has modulus 1 (Proposition 11.7.1). A block Λ(λ) has eigenvalues λ,λ―, so |λ|=1 and the scaling factor is 1.

  • (c) Kn has rows (0,−n3,n2), (n3,0,−n1), (−n2,n1,0) (Definition 12.6.1), and Kn3=−Kn when ‖n‖=1 (Lemma 12.6.3 (c)).

  • (d) The angle from the trace, cos⁡θ=12(trQ−1) with θ∈[0,π]; the axis from the skew part, Q−Q⊤=2sin⁡θKn (Theorem 12.6.5). The degenerate cases are θ=0, where Q=I3 and there is no axis to find, and θ=π, where the skew part vanishes and one reads n off Q+I3=2nn⊤ instead.

  • (e) False for even n. The matrix Rπ/2⊕Rπ/3∈SO(4) has no eigenvalue 1. It is true for odd n: then p+q+2m=n is odd and q is even, so p=n−q−2m is odd, hence p≥1, and the Ip block supplies a fixed vector.

  • (f) At most n (Theorem 12.6.7). Each reflection has determinant −1, so the number used has the same parity in every such factorization as the sign of detQ dictates: even for detQ=1, odd for detQ=−1.

B. Practice

Exercise (B1: Axis and angle)

For each of the following, decide whether it lies in SO(3), O(3)∖SO(3), or neither. For those in SO(3), find the axis and the angle; for those in O(3) with determinant −1, give the canonical form [−1]⊕Rθ and say what the map is geometrically.

  • (a) 19(4−8141−8744).
  • (b) 19(−7444−1848−1).
  • (c) 19(7−4−4−41−8−4−81).
  • (d) 19(4−8141−8745).

Solution.

  • (a) The columns 19(4,4,7), 19(−8,1,4), 19(1,−8,4) have squared norms 181(16+16+49)=181(64+1+16)=181(1+64+16)=1 and pairwise inner products 181(−32+4+28)=181(4−32+28)=181(−8−8+16)=0, so the matrix is orthogonal. Expanding along the first row, 729det=4(4+32)+8(16+56)+1(16−7)=144+576+9=729, so it lies in SO(3). Its trace is 19(4+1+4)=1, so cos⁡θ=0 and θ=π/2. For the axis, q32−q23=19(4+8)=129, q13−q31=19(1−7)=−69 and q21−q12=19(4+8)=129; dividing by 2sin⁡θ=2 gives n=13(2,−1,2). Check: Q(2,−1,2)=19(8+8+2, 8−1−16, 14−4+8)=(2,−1,2).

  • (b) The matrix is symmetric. Each column has entries ±7,±4,±4 in some order, so each has squared norm 181(49+16+16)=1, and the pairwise inner products are 181(−28−4+32)=181(−28+32−4)=181(16−8−8)=0; so it is orthogonal. Expanding along the first row, 729det=−7(1−64)−4(−4−32)+4(32+4)=441+144+144=729, so it lies in SO(3). Its trace is 19(−7−1−1)=−1, so cos⁡θ=−1 and θ=π: a half-turn. The skew part is 0, so use Q+I3=19(244488488)=2nn⊤ with n=13(1,2,2). Check: Q(1,2,2)=19(−7+8+8, 4−2+16, 4+16−2)=(1,2,2).

  • (c) This is the negative of (b), so it is orthogonal with det=(−1)3⋅1=−1. Its trace is 1, and for the form [−1]⊕Rθ the trace is −1+2cos⁡θ, so cos⁡θ=1 and θ=0: the canonical form is [−1]⊕I2=diag(−1,1,1), a reflection. Indeed it equals I3−2nn⊤=Hn with n=13(1,2,2), the reflection in the plane x1+2x2+2x3=0.

  • (d) Neither. This is (a) with the (3,3) entry changed from 4 to 5. The third column 19(1,−8,5) has squared norm 181(1+64+25)=9081=109≠1, so the columns are not orthonormal and the matrix is not orthogonal (Theorem 11.7.3 (f)). Its determinant is 8581, neither 1 nor −1, which settles it a second way (Proposition 11.7.4). Note that checking the determinant alone is never enough: det=1 does not make a matrix orthogonal.

Exercise (B2: Mirrors)
  • (a) Write the matrix M=(001010100) as a Householder reflection Hw, and say which plane is its mirror.
  • (b) Following the proof of Theorem 12.6.7, write Q=(001100010) as a product of Householder reflections, and check the count against detQ.

Solution.

  • (a) M exchanges e1 and e3 and fixes e2. By Lemma 12.6.6 with x=e1 and y=e3, take w=e1−e3=(1,0,−1); then ‖w‖2=2 and Hw=I3−ww⊤=I3−(10−1000−101)=M. The mirror is span(w)⊥, the plane x1=x3.

  • (b) Qe1=e2≠e1, so we are in Case 2 with w1=Qe1−e1=(−1,1,0) and ‖w1‖2=2: Hw1=I3−w1w1⊤=(010100001). Then Hw1Q=(100001010), which fixes e1 and exchanges e2 and e3; the computation of (a), with the indices shifted, shows that it is Hw2 for w2=e2−e3=(0,1,−1). Hence Q=Hw1Hw2, a product of two reflections. The count is even, matching detQ=(−1)2=1; and indeed Q is the rotation by 2π/3 about (1,1,1) found in Example (Two Quarter Turns in Two Orders).

Exercise (B3: Rodrigues in an example)
  • (a) Compute Re3,θ from Rodrigues’ formula and check that it is Rθ⊕[1].
  • (b) Compute Rn,2π/3 for n=13(1,1,1), and identify the resulting matrix.

Solution.

  • (a) With n=e3 we have K=(0−10100000) and K2=e3e3⊤−I3=diag(−1,−1,0). Hence Re3,θ=I3+sin⁡θK+(1−cos⁡θ)K2=(cos⁡θ−sin⁡θ0sin⁡θcos⁡θ0001), the diagonal entries being 1−(1−cos⁡θ)=cos⁡θ twice and 1 once. This is Rθ⊕[1], the rotation of the (e1,e2)-plane, as it must be.

  • (b) Here cos⁡θ=−12 and sin⁡θ=32. Writing 1=(1,1,1), so that n=1/3 and nn⊤=1311⊤, sin⁡θK=32⋅13K1=12(0−1110−1−110),(1−cos⁡θ)K2=32(1311⊤−I3)=1211⊤−32I3. Adding I3 to these two gives 1211⊤−12I3 plus the skew part. The first piece has 0 on the diagonal and 12 elsewhere, and adding the skew part turns each off-diagonal pair 12,12 into 0,1: Rn,2π/3=(001100010). This is the cyclic shift e1↦e2↦e3↦e1, which is the matrix BA of Example (Two Quarter Turns in Two Orders): same axis (1,1,1), same angle 2π/3.

C. Going deeper

Exercise (C1: The plane, re-derived)
  • (a) Use Theorem 12.6.1 to prove that every Q∈O(2) is either orthogonally similar to Rθ for a unique θ∈[0,π], or orthogonally similar to diag(1,−1).
  • (b) Chapter 11 proved more: Q equals Rθ or Mθ (Theorem 11.7.6). Explain exactly what information (a) loses, and why the canonical form must lose it.
  • (c) Deduce that any two reflections of R2 are orthogonally similar, and that Rα and Rβ are orthogonally similar if and only if β=±α.

Solution.

  • (a) With n=2, p+q+2m=2. If m=1 then p=q=0 and the form is Rθ1 with θ1∈(0,π). If m=0 then (p,q)∈{(2,0),(1,1),(0,2)}, giving I2=R0, diag(1,−1) and −I2=Rπ. So the possibilities are Rθ with θ∈[0,π] and diag(1,−1), and they are distinguished by the determinant. Uniqueness of θ follows from Theorem 12.6.1, or directly from trRθ=2cos⁡θ and the injectivity of cos on [0,π].

  • (b) Part (a) determines Q only up to orthogonal similarity, that is, up to a change of orthonormal coordinates. It therefore cannot see which line is the mirror of a reflection, nor the sign of the angle of a rotation. It must lose the mirror, because the mirror moves: if P is the rotation by φ then PMθP⊤=Mθ+2φ, so all the Mθ are conjugate. It must lose the sign of the angle, because conjugating by diag(1,−1) sends Rθ to R−θ.

  • (c) Every reflection has determinant −1, so by (a) each is orthogonally similar to diag(1,−1), and orthogonal similarity is an equivalence relation, so any two of them are similar to each other. For rotations: if β=±α then Rβ=Rα or Rβ=diag(1,−1)Rαdiag(1,−1), so they are orthogonally similar. Conversely, similar matrices have equal traces (Theorem 4.2.5), so cos⁡α=cos⁡β, which for real angles means β≡±α modulo 2π.

Exercise (C2: Products of rotations)
  • (a) Prove that the product of two rotations of R3 is a rotation of R3, and explain which theorem supplies the axis.
  • (b) Let A and B be the half-turns about two perpendicular axes span(a) and span(b), with a⊥b unit vectors. Prove that AB is the half-turn about the axis span(a×b).
  • (c) Deduce that every rotation of R3 is a product of two half-turns.

Hint for (c): use Theorem 12.6.7, or the description of a half-turn in the Quick check after Theorem 12.6.4.

Solution.

  • (a) SO(3) is a group (Proposition 11.7.4 (c)), so if A,B∈SO(3) then AB∈SO(3). By Corollary 12.6.2, AB fixes a line pointwise and rotates the perpendicular plane; that corollary is what supplies the axis, and it does so through the count p≥1 in the canonical form.

  • (b) Extend (a,b) to an orthonormal basis (a,b,c) of R3, where we may take c=a×b: it is a unit vector orthogonal to a and b by Lemma 12.6.3 (d). By the Quick check after Theorem 12.6.4, A=2aa⊤−I3 fixes a and negates a⊥, so in the basis (a,b,c), A is diag(1,−1,−1) and B is diag(−1,1,−1). Their product is diag(−1,−1,1), which fixes c and negates c⊥: the half-turn about span(c)=span(a×b). (Its trace is −1, confirming θ=π through Theorem 12.6.5 (a).)

  • (c) Let Q=Rn,θ∈SO(3), with n a unit vector and θ∈[0,π] (Theorem 12.6.4 (c)). Choose a unit w⊥n, and work throughout in the orthonormal basis B=(n,w,Knw) of Theorem 12.6.4 (b), in which Q has matrix [1]⊕Rθ. Put w′=Rn,θ/2w, again a unit vector perpendicular to n, since Rn,θ/2 fixes n and is an isometry; by Theorem 12.6.4 (b) its coordinate vector in B is d=(0,cos⁡θ2,sin⁡θ2). Let A and B be the half-turns about span(w′) and span(w), so that in B their matrices are 2dd⊤−I3 and diag(−1,1,−1) respectively, by the Quick check after Theorem 12.6.4. Using 2cos2⁡θ2−1=cos⁡θ, 2sin2⁡θ2−1=−cos⁡θ and 2cos⁡θ2sin⁡θ2=sin⁡θ, 2dd⊤−I3=[−1]⊕(cos⁡θsin⁡θsin⁡θ−cos⁡θ). Multiplying the two matrices blockwise, AB has matrix [1]⊕(cos⁡θsin⁡θsin⁡θ−cos⁡θ)(100−1)=[1]⊕Rθ, which is the matrix of Q in the same basis. Hence Q=AB.

Exercise (C3: Moving one point of the sphere to another)

Let S={x∈R3:‖x‖=1}.

  • (a) Prove that for all u,v∈S there is Q∈SO(3) with Qu=v. (One says that SO(3) acts transitively on S.)
  • (b) Prove that {Q∈SO(3):Qu=u}={Ru,θ:θ∈R}, and that this set is an abelian subgroup of SO(3).
  • (c) Is the analogue of (a) true for SO(2) acting on the unit circle of R2? And for SO(4) acting on the unit sphere of R4? Justify your answers.

Solution.

  • (a) Extend u to an orthonormal basis (u,a2,a3) of R3 (Corollary 11.2.3), and likewise extend v to (v,b2,b3). Let A=(u∣a2∣a3) and B=(v∣b2∣b3); both are orthogonal, since their columns are orthonormal (Theorem 11.7.3 (f)). Replacing a3 by −a3 changes the sign of detA and keeps the basis orthonormal, so we may assume detA=1, and likewise detB=1. Put Q=BA⊤. Then Q∈O(3) and detQ=detBdetA⊤=1 by Theorem 7.5.4 and Theorem 7.4.5, so Q∈SO(3); and A⊤u=e1, because the entries of A⊤u are the inner products of u with the columns of A, so Qu=Be1=v.

  • (b) (⊇) Each Ru,θ lies in SO(3) and fixes u, by Theorem 12.6.4 (b). (⊆) If Q∈SO(3) fixes u, write Q=Rn,θ with θ∈[0,π] (Theorem 12.6.4 (c)). If θ=0 then Q=I3=Ru,0. Otherwise the fixed space of Q is exactly the line span(n), since in the basis of Theorem 12.6.4 (b) the matrix is [1]⊕Rθ and Rθ fixes no non-zero vector for θ∈(0,π]; so u=±n, and R−n,θ=Rn,−θ gives Q=Ru,±θ. For the group claim: all these matrices are simultaneously [1]⊕Rθ in the same orthonormal basis (u,w,Kuw), and RαRβ=Rα+β=RβRα, so the set is closed under products and inverses and is abelian.

  • (c) Yes for SO(2): given unit u,v∈R2, write u=(cos⁡α,sin⁡α) and v=(cos⁡β,sin⁡β) and take Q=Rβ−α, which is in SO(2) and sends u to v. Yes for SO(4) as well, by the same argument as (a): extend u and v to orthonormal bases of R4, fix the determinants to 1 by flipping the sign of the last vector if necessary, and take Q=BA⊤. Nothing in that argument used the dimension 3 — transitivity holds for SO(n) with n≥2. What is special to n=3 is the classification of the maps themselves, not their ability to move one unit vector to another.

Found a typo or a mistake? Report it, or read this page’s source

The text of this book is licensed under CC BY-NC-SA 4.0.