Skip to main content
Open In Colab A 2×22 \times 2 matrix has four entries, so you can view it as a point in R4\mathbb{R}^4. Most of these points are not rotations. A rotation matrix must satisfy three constraints: each column has unit length (two constraints), and the columns are orthogonal (one constraint). Four entries minus three constraints leaves one degree of freedom, the angle θ\theta. R(θ)=[cos⁡θ−sin⁡θsin⁡θcos⁡θ]R(\theta) = \begin{bmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{bmatrix} As θ\theta changes, R(θ)R(\theta) traces a curve in R4\mathbb{R}^4. That curve is SO(2)SO(2), a one-dimensional manifold inside a four-dimensional space. The calculations and figures below construct this curve, determine its shape, and relate its velocity to an element of so(2)\mathfrak{so}(2). This section studies SO(2)SO(2) and its Lie algebra so(2)\mathfrak{so}(2), the first two rows of the table in the Lie cheatsheet. Their geometry can be computed and drawn directly.

Sampling the curve

Each value of θ\theta gives one rotation matrix. Flattening the matrix row by row gives a point in R4\mathbb{R}^4 with coordinates (r11,r12,r21,r22)(r_{11}, r_{12}, r_{21}, r_{22}).

The shape of the curve

The four coordinates of R(θ)R(\theta) are (cos⁡θ,−sin⁡θ,sin⁡θ,cos⁡θ)(\cos\theta, -\sin\theta, \sin\theta, \cos\theta). They satisfy two linear relations: r22=r11r_{22} = r_{11} and r12=−r21r_{12} = -r_{21}. These relations confine the curve to a two-dimensional plane inside R4\mathbb{R}^4. Within that plane, the remaining constraint r112+r212=1r_{11}^2 + r_{21}^2 = 1 is the equation of a circle. Thus SO(2)SO(2) is a circle. Its distance from the origin of R4\mathbb{R}^4 is the Frobenius norm of RR, which is 2\sqrt{2} for every rotation. The curve is closed because θ\theta and θ+2π\theta + 2\pi give the same matrix. The calculation below checks the two linear relations and the distance from the origin.

Drawing the curve

You cannot draw R4\mathbb{R}^4, but the relations among the entries let you use fewer coordinates. Because r22r_{22} always equals r11r_{11}, dropping it loses no information. The plot below uses the three coordinates (r11,r21,r12)(r_{11}, r_{21}, r_{12}), and color indicates the angle θ\theta. The curve is a tilted circle centered at the origin. Output from cell 3
The determinant as signed areaThe unit square has corners (0,0)(0,0), (1,0)(1,0), (1,1)(1,1) and (0,1)(0,1). Its sides are the basis vectors e1=(1,0)\mathbf{e}_1 = (1, 0) and e2=(0,1)\mathbf{e}_2 = (0, 1), and its area is 1. A matrix sends e1\mathbf{e}_1 to its first column and e2\mathbf{e}_2 to its second column. It therefore sends the unit square to the parallelogram spanned by its columns. ForA=[abcd]A = \begin{bmatrix} a & b \\ c & d \end{bmatrix}that parallelogram has signed area ad−bcad - bc, which is det⁡A\det A. Since the original square has area 1, the determinant is the factor by which the matrix scales area. The same factor applies to every region because any region can be tiled with small squares.The sign records orientation. Walking around the unit square from e1\mathbf{e}_1 to e2\mathbf{e}_2 is a counterclockwise turn. The determinant is positive if the image of e2\mathbf{e}_2 remains counterclockwise from the image of e1\mathbf{e}_1. If the matrix reflects the square, that turn becomes clockwise and the determinant is negative. A determinant of zero means that the square is flattened onto a line and the matrix cannot be undone.The determinant does not measure the size of a matrix. [3001/3]\begin{bmatrix} 3 & 0 \\ 0 & 1/3 \end{bmatrix} stretches one direction by a factor of 3, yet its determinant is 1 because the squeeze in the other direction preserves area. A matrix’s effect on vector lengths is measured by its norm or singular values. The calculations and plots below compare these cases.
Output from cell 5In the rotation, the red and blue arrows keep their counterclockwise order, and the square keeps its area. In the reflection, the area is unchanged, but the blue arrow is clockwise from the red one. The uniform scaling multiplies the area by 1.52=2.251.5^2 = 2.25. The stretch and squeeze map changes the shape but preserves the area. The singular matrix sends both columns onto the same line, so the square has no area left.

Rotations and reflections

Orthonormal columns alone do not make a rotation. The matrices F(θ)=[cos⁡θsin⁡θsin⁡θ−cos⁡θ]F(\theta) = \begin{bmatrix} \cos\theta & \sin\theta \\ \sin\theta & -\cos\theta \end{bmatrix} also have orthonormal columns, but det⁡F=−1\det F = -1. Each is a reflection across a line through the origin. As θ\theta changes, these matrices trace a second circle in R4\mathbb{R}^4. The two circles together form O(2)O(2), the group of all orthogonal 2×22 \times 2 matrices. The condition det⁡R=+1\det R = +1 selects the circle containing the identity. No continuous path of orthogonal matrices can turn a rotation into a reflection because det⁡\det would have to jump from +1+1 to −1-1. Thus SO(2)SO(2) is a manifold in its own right. The calculation below confirms that every rotation is at distance 2 from every reflection.

Seeing both circles

The coordinates (r11,r12,r21,r22)(r_{11}, r_{12}, r_{21}, r_{22}) hide the geometry. The relations satisfied by each family suggest another set of axes for R4\mathbb{R}^4: a=r11+r222,b=r21−r122,c=r11−r222,d=r21+r122a = \tfrac{r_{11} + r_{22}}{\sqrt{2}}, \quad b = \tfrac{r_{21} - r_{12}}{\sqrt{2}}, \quad c = \tfrac{r_{11} - r_{22}}{\sqrt{2}}, \quad d = \tfrac{r_{21} + r_{12}}{\sqrt{2}} These four axes are orthonormal, so they describe the same space without distortion. A rotation has c=d=0c = d = 0 and lands at (a,b)=2(cos⁡θ,sin⁡θ)(a, b) = \sqrt{2}(\cos\theta, \sin\theta). A reflection has a=b=0a = b = 0 and lands at (c,d)=2(cos⁡θ,sin⁡θ)(c, d) = \sqrt{2}(\cos\theta, \sin\theta). Thus R4\mathbb{R}^4 splits into two perpendicular planes. The rotations form a circle of radius 2\sqrt{2} in the (a,b)(a, b) plane. The reflections form a circle of the same radius in the (c,d)(c, d) plane. Each circle projects to the origin of the other plane. This also explains the constant distance. Any rotation is 2\sqrt{2} from the origin in one plane, and any reflection is 2\sqrt{2} from the origin in the perpendicular plane. By Pythagoras, they are 2+2=2\sqrt{2 + 2} = 2 apart. The calculation and plots below show this decomposition.
Output from cell 8

One column is enough

The first column of R(θ)R(\theta) is the image of the unit vector e1\mathbf{e}_1. It is the point (cos⁡θ,sin⁡θ)(\cos\theta, \sin\theta) on the unit circle in the plane. Once you know the first column, orthogonality and det⁡R=+1\det R = +1 determine the second. It is the first column turned by 90°90° counterclockwise. Every rotation therefore corresponds to exactly one point on the unit circle, and every point on the unit circle corresponds to exactly one rotation. This one-to-one correspondence identifies SO(2)SO(2) with a circle. The top panel follows the first column as θ\theta grows. The row below shows the full rotated frame {Re1,Re2}\{R\mathbf{e}_1, R\mathbf{e}_2\} at the same angles. Output from cell 9

The tangent at the identity

A one-dimensional manifold looks like a straight line at sufficiently small scales. At the identity (θ=0\theta = 0), this line is tangent to the curve. Its direction is the derivative of R(θ)R(\theta) at θ=0\theta = 0: dRdθ∣θ=0=[−sin⁡0−cos⁡0cos⁡0−sin⁡0]=[0−110]\left.\frac{dR}{d\theta}\right|_{\theta=0} = \begin{bmatrix} -\sin 0 & -\cos 0 \\ \cos 0 & -\sin 0 \end{bmatrix} = \begin{bmatrix} 0 & -1 \\ 1 & 0 \end{bmatrix} This skew-symmetric matrix is an element of so(2)\mathfrak{so}(2). Call it GG. Scaling it by an angular rate ω\omega gives every possible velocity at the identity. Thus so(2)\mathfrak{so}(2) is one-dimensional, like SO(2)SO(2). The tangent space is a vector space. Each element is a linear combination of basis matrices called generators. For SO(2)SO(2) the tangent space is one-dimensional, so the single matrix GG is a basis: so(2)={ωG:ω∈R}=span⁡{G},G=[0−110]\mathfrak{so}(2) = \left\{ \omega G : \omega \in \mathbb{R} \right\} = \operatorname{span}\{G\}, \qquad G = \begin{bmatrix} 0 & -1 \\ 1 & 0 \end{bmatrix} The angular rate ω\omega is the coordinate of a velocity in this basis. The matrix exponential maps back onto the curve: exponentiating θG\theta G reproduces R(θ)R(\theta). Appendix D of Corke (Corke, 2023) develops the same construction step by step. It writes any 2×22 \times 2 matrix as a combination of four basis matrices, places SO(2)SO(2) as a closed curve in that four-dimensional space, and repeats the construction for SO(3)SO(3), whose tangent space at the identity has three generators. Lie groups and tangent spaces presents the tangent space and exponential map in a broader setting. The calculation below checks the derivative, skew symmetry, and exponential map.

References

  • Corke, P. (2023). Robotics, vision and control: Fundamental algorithms in python.

Found an error on this page? Report an issue.