李群与李代数的初识——从旋转矩阵到抽象群
在计算机科学中,无论是三维图形学中的旋转、机器人学中的运动规划,还是机器学习中的流形优化,我们常常需要处理连续的变换。这些变换通常具有某种“平滑”和“结构化”的性质,而李群(Lie Group)和李代数(Lie Algebra)正是描述这类变换的数学工具。本篇博客将带你从熟悉的旋转矩阵出发,逐步走进李群和李代数的世界,揭开它们的神秘面纱。我们会通过公式、推导和例子,结合几何意义和直观解释,帮助你建立对这些概念的初步认识。
什么是李群(Lie Group)?
李群(Lie Group)是一个既是群(Group)又具有光滑流形(Smooth Manifold)结构的数学对象。让我们拆解一下这个定义:
- 群(Group):一个集合配上一种运算(例如矩阵乘法),满足以下性质:
- 封闭性(Closure):对任意两个元素 g , h g, h g,h,它们的运算结果 g ⋅ h g \cdot h g⋅h 仍在集合中。
- 结合律(Associativity): ( g ⋅ h ) ⋅ k = g ⋅ ( h ⋅ k ) (g \cdot h) \cdot k = g \cdot (h \cdot k) (g⋅h)⋅k=g⋅(h⋅k)。
- 单位元(Identity):存在一个元素 e e e,使得对任意 g g g,有 e ⋅ g = g ⋅ e = g e \cdot g = g \cdot e = g e⋅g=g⋅e=g。
- 逆元(Inverse):对任意 g g g,存在 g − 1 g^{-1} g−1,使得 g ⋅ g − 1 = g − 1 ⋅ g = e g \cdot g^{-1} = g^{-1} \cdot g = e g⋅g−1=g−1⋅g=e。
- 光滑流形(Smooth Manifold):一个可以局部看作欧几里得空间的几何对象,并且具有“平滑”性质,允许我们定义微分、切线等概念。
简单来说,李群是一个集合,它的元素可以通过某种运算组合,并且这些元素可以“连续变化”,就像旋转角度可以从 0° 平滑变化到 360°。李群的名字来源于挪威数学家索菲斯·李(Sophus Lie),他研究了连续变换的代数结构。
常见的李群示例
让我们通过几个具体的李群来感受它们的魅力:
-
特殊正交群(Special Orthogonal Group, SO(n)):
- 这是所有 n × n n \times n n×n 旋转矩阵的集合,满足:
- 正交性: R T R = I R^T R = I RTR=I( I I I 是单位矩阵)。
- 行列式为 1: det ( R ) = 1 \det(R) = 1 det(R)=1。
- 例如,二维旋转矩阵属于 SO(2),形如:
R ( θ ) = [ cos θ − sin θ sin θ cos θ ] R(\theta) = \begin{bmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{bmatrix} R(θ)=[cosθsinθ−sinθcosθ]
它描述平面上的旋转,角度 θ \theta θ 可以连续变化。 - SO(3) 则包含三维空间的所有旋转矩阵,用于描述 3D 物体的旋转。
- 这是所有 n × n n \times n n×n 旋转矩阵的集合,满足:
-
特殊线性群(Special Linear Group, SL(n)):
- 这是所有 n × n n \times n n×n 矩阵中行列式为 1 的集合。
- 例如,SL(2) 包含二维变换矩阵,保持面积不变。
-
欧几里得群(Euclidean Group, SE(n)):
- 这是刚体变换的集合,包括旋转和平移。
- SE(3) 常用于机器人学,描述三维空间中的位姿(旋转加平移),可以用 4 × 4 4 \times 4 4×4 矩阵表示:
[ R t 0 1 ] \begin{bmatrix} R & t \\ 0 & 1 \end{bmatrix} [R0t1]
其中 R ∈ SO(3) R \in \text{SO(3)} R∈SO(3), t t t 是平移向量。
这些李群在计算机领域无处不在:SO(3) 用于 3D 动画中的物体旋转,SE(3) 用于机器人手臂的运动规划,SL(n) 出现在某些优化问题中。
从旋转矩阵到李群
为了更好地理解李群,让我们以 SO(2) 为例,探索旋转矩阵如何形成一个群。
SO(2) 的群结构
考虑二维平面上的旋转矩阵:
R ( θ ) = [ cos θ − sin θ sin θ cos θ ] R(\theta) = \begin{bmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{bmatrix} R(θ)=[cosθsinθ−sinθcosθ]
我们来验证它是否满足群的性质:
-
封闭性:两个旋转矩阵相乘仍是旋转矩阵。设 R ( θ 1 ) R(\theta_1) R(θ1) 和 R ( θ 2 ) R(\theta_2) R(θ2),它们的乘积为:
R ( θ 1 ) R ( θ 2 ) = [ cos θ 1 − sin θ 1 sin θ 1 cos θ 1 ] [ cos θ 2 − sin θ 2 sin θ 2 cos θ 2 ] R(\theta_1) R(\theta_2) = \begin{bmatrix} \cos\theta_1 & -\sin\theta_1 \\ \sin\theta_1 & \cos\theta_1 \end{bmatrix} \begin{bmatrix} \cos\theta_2 & -\sin\theta_2 \\ \sin\theta_2 & \cos\theta_2 \end{bmatrix} R(θ1)R(θ2)=[cosθ1sinθ1−sinθ1cosθ1][cosθ2sinθ2−sinθ2cosθ2]
通过三角恒等式,计算得:
R ( θ 1 ) R ( θ 2 ) = [ cos ( θ 1 + θ 2 ) − sin ( θ 1 + θ 2 ) sin ( θ 1 + θ 2 ) cos ( θ 1 + θ 2 ) ] = R ( θ 1 + θ 2 ) R(\theta_1) R(\theta_2) = \begin{bmatrix} \cos(\theta_1 + \theta_2) & -\sin(\theta_1 + \theta_2) \\ \sin(\theta_1 + \theta_2) & \cos(\theta_1 + \theta_2) \end{bmatrix} = R(\theta_1 + \theta_2) R(θ1)R(θ2)=[cos(θ1+θ2)sin(θ1+θ2)−sin(θ1+θ2)cos(θ1+θ2)]=R(θ1+θ2)
结果仍是 SO(2) 中的矩阵。 -
结合律:矩阵乘法天然满足结合律。
-
单位元:取 θ = 0 \theta = 0 θ=0,得 R ( 0 ) = [ 1 0 0 1 ] R(0) = \begin{bmatrix} 1 & 0 \\ 0 & 1 \end{bmatrix} R(0)=[1001],即单位矩阵 I I I。
-
逆元:对于 R ( θ ) R(\theta) R(θ),其逆为 R ( θ ) − 1 = R ( − θ ) R(\theta)^{-1} = R(-\theta) R(θ)−1=R(−θ),因为:
R ( θ ) R ( − θ ) = R ( θ + ( − θ ) ) = R ( 0 ) = I R(\theta) R(-\theta) = R(\theta + (-\theta)) = R(0) = I R(θ)R(−θ)=R(θ+(−θ))=R(0)=I
此外,SO(2) 的矩阵随 θ \theta θ 连续变化,满足光滑流形的性质,因此 SO(2) 是一个李群。
几何意义
SO(2) 描述了平面上的所有可能旋转,参数 θ \theta θ 定义了一个圆(拓扑上,SO(2) 同构于圆 S 1 S^1 S1)。你可以想象一个时钟的指针,连续地旋转,这就是李群的“连续性”体现。
李代数(Lie Algebra)的初步概念
如果李群描述了“变换的集合”,那么李代数(Lie Algebra)则捕捉了这些变换的“无穷小变化”,类似物理中位置与速度的关系。形式上,李代数是一个向量空间,配有一个特殊的运算——李括号(Lie Bracket),通常是矩阵的交换子 [ A , B ] = A B − B A [A, B] = AB - BA [A,B]=AB−BA。
对于一个李群,它的李代数可以看作群的单位元(例如单位矩阵)附近的“切空间”。更具体地,李代数的元素通过矩阵指数映射(Matrix Exponential)生成李群的元素:
e A = ∑ k = 0 ∞ A k k ! e^A = \sum_{k=0}^\infty \frac{A^k}{k!} eA=k=0∑∞k!Ak
其中 A A A 是李代数中的矩阵, e A e^A eA 是李群中的元素。
以 SO(2) 为例
让我们看看 SO(2) 的李代数是什么。考虑旋转矩阵 R ( θ ) R(\theta) R(θ) 在 θ = 0 \theta = 0 θ=0 附近的“速度”。对 R ( θ ) R(\theta) R(θ) 求导:
R ( θ ) = [ cos θ − sin θ sin θ cos θ ] , d d θ R ( θ ) = [ − sin θ − cos θ cos θ − sin θ ] R(\theta) = \begin{bmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{bmatrix}, \quad \frac{d}{d\theta} R(\theta) = \begin{bmatrix} -\sin\theta & -\cos\theta \\ \cos\theta & -\sin\theta \end{bmatrix} R(θ)=[cosθsinθ−sinθcosθ],dθdR(θ)=[−sinθcosθ−cosθ−sinθ]
在 θ = 0 \theta = 0 θ=0 处:
d d θ R ( θ ) ∣ θ = 0 = [ 0 − 1 1 0 ] = B \left. \frac{d}{d\theta} R(\theta) \right|_{\theta=0} = \begin{bmatrix} 0 & -1 \\ 1 & 0 \end{bmatrix} = B dθdR(θ)
θ=0=[01−10]=B
矩阵 B B B 是一个反对称矩阵(Skew-Symmetric Matrix),满足 B T = − B B^T = -B BT=−B。我们发现,SO(2) 的李代数(记为 so(2) \text{so(2)} so(2))由所有形如 c B c B cB 的矩阵组成,其中 c c c 是实数。
现在,验证矩阵指数映射:
e θ B = e θ [ 0 − 1 1 0 ] e^{\theta B} = e^{\theta \begin{bmatrix} 0 & -1 \\ 1 & 0 \end{bmatrix}} eθB=eθ[01−10]
计算 B 2 B^2 B2:
B 2 = [ 0 − 1 1 0 ] [ 0 − 1 1 0 ] = [ − 1 0 0 − 1 ] = − I B^2 = \begin{bmatrix} 0 & -1 \\ 1 & 0 \end{bmatrix} \begin{bmatrix} 0 & -1 \\ 1 & 0 \end{bmatrix} = \begin{bmatrix} -1 & 0 \\ 0 & -1 \end{bmatrix} = -I B2=[01−10][01−10]=[−100−1]=−I
因此:
B 3 = B 2 ⋅ B = − I ⋅ B = − B , B 4 = B 3 ⋅ B = − B ⋅ B = I B^3 = B^2 \cdot B = -I \cdot B = -B, \quad B^4 = B^3 \cdot B = -B \cdot B = I B3=B2⋅B=−I⋅B=−B,B4=B3⋅B=−B⋅B=I
矩阵指数展开:
e θ B = I + θ B + ( θ B ) 2 2 ! + ( θ B ) 3 3 ! + ⋯ = I + θ B − θ 2 2 ! I − θ 3 3 ! B + ⋯ e^{\theta B} = I + \theta B + \frac{(\theta B)^2}{2!} + \frac{(\theta B)^3}{3!} + \cdots = I + \theta B - \frac{\theta^2}{2!} I - \frac{\theta^3}{3!} B + \cdots eθB=I+θB+2!(θB)2+3!(θB)3+⋯=I+θB−2!θ2I−3!θ3B+⋯
将奇次项和偶次项分开:
e θ B = ( 1 − θ 2 2 ! + θ 4 4 ! − ⋯ ) I + ( θ − θ 3 3 ! + θ 5 5 ! − ⋯ ) B e^{\theta B} = \left( 1 - \frac{\theta^2}{2!} + \frac{\theta^4}{4!} - \cdots \right) I + \left( \theta - \frac{\theta^3}{3!} + \frac{\theta^5}{5!} - \cdots \right) B eθB=(1−2!θ2+4!θ4−⋯)I+(θ−3!θ3+5!θ5−⋯)B
利用泰勒展开 cos θ = 1 − θ 2 2 ! + θ 4 4 ! − ⋯ \cos\theta = 1 - \frac{\theta^2}{2!} + \frac{\theta^4}{4!} - \cdots cosθ=1−2!θ2+4!θ4−⋯ 和 sin θ = θ − θ 3 3 ! + θ 5 5 ! − ⋯ \sin\theta = \theta - \frac{\theta^3}{3!} + \frac{\theta^5}{5!} - \cdots sinθ=θ−3!θ3+5!θ5−⋯,得:
e θ B = cos θ I + sin θ B = [ cos θ 0 0 cos θ ] + [ 0 − sin θ sin θ 0 ] = [ cos θ − sin θ sin θ cos θ ] e^{\theta B} = \cos\theta I + \sin\theta B = \begin{bmatrix} \cos\theta & 0 \\ 0 & \cos\theta \end{bmatrix} + \begin{bmatrix} 0 & -\sin\theta \\ \sin\theta & 0 \end{bmatrix} = \begin{bmatrix} \cos\theta & -\sin\theta \\ \sin\theta & \cos\theta \end{bmatrix} eθB=cosθI+sinθB=[cosθ00cosθ]+[0sinθ−sinθ0]=[cosθsinθ−sinθcosθ]
这就是 SO(2) 的旋转矩阵!这表明, so(2) \text{so(2)} so(2) 中的矩阵 θ B \theta B θB 通过指数映射生成了 SO(2) 的元素。
几何意义
矩阵 B = [ 0 − 1 1 0 ] B = \begin{bmatrix} 0 & -1 \\ 1 & 0 \end{bmatrix} B=[01−10] 表示一个“无穷小旋转”。参数 θ \theta θ 控制旋转的角度,矩阵指数 e θ B e^{\theta B} eθB 将这个“速度”转化为具体的旋转。类比于物理学,李代数像是“角速度”,而李群是“旋转角度”。
SO(3) 的简单介绍
让我们稍微扩展到三维情况。SO(3) 包含所有 3 × 3 3 \times 3 3×3 旋转矩阵,描述三维空间的旋转。它的李代数 so(3) \text{so(3)} so(3) 由所有 3 × 3 3 \times 3 3×3 反对称矩阵组成,例如:
B 1 = [ 0 0 0 0 0 − 1 0 1 0 ] , B 2 = [ 0 0 1 0 0 0 − 1 0 0 ] , B 3 = [ 0 − 1 0 1 0 0 0 0 0 ] B_1 = \begin{bmatrix} 0 & 0 & 0 \\ 0 & 0 & -1 \\ 0 & 1 & 0 \end{bmatrix}, \quad B_2 = \begin{bmatrix} 0 & 0 & 1 \\ 0 & 0 & 0 \\ -1 & 0 & 0 \end{bmatrix}, \quad B_3 = \begin{bmatrix} 0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix} B1=
0000010−10
,B2=
00−1000100
,B3=
010−100000
这些矩阵分别对应绕 x、y、z 轴的“无穷小旋转”。通过矩阵指数 e θ B i e^{\theta B_i} eθBi,我们可以生成绕某轴的旋转矩阵(具体推导将在后续博客中展开)。
例子:三维旋转
假设我们想绕 z 轴旋转角度 θ \theta θ,对应的李代数元素是 θ B 3 \theta B_3 θB3。计算 e θ B 3 e^{\theta B_3} eθB3(推导略,类似 SO(2)),结果为:
e θ B 3 = [ cos θ − sin θ 0 sin θ cos θ 0 0 0 1 ] e^{\theta B_3} = \begin{bmatrix} \cos\theta & -\sin\theta & 0 \\ \sin\theta & \cos\theta & 0 \\ 0 & 0 & 1 \end{bmatrix} eθB3=
cosθsinθ0−sinθcosθ0001
这正是绕 z 轴旋转的矩阵,与 3D 图形学中的变换一致。
直观总结
李群和李代数的关系可以用一个类比来理解:想象你在一条曲线上移动,李群是你的“位置”(例如旋转矩阵),而李代数是你的“速度”(无穷小变换)。矩阵指数映射 e A e^A eA 就像是从速度积分得到位置。
- 李群(Lie Group):描述连续变换的集合,例如旋转、平移。
- 李代数(Lie Algebra):描述这些变换的“局部行为”,通过指数映射连接到李群。
- 几何意义:李群是“全局”的变换空间,李代数是“局部”的线性近似,方便计算和优化。
为什么计算机系的学生需要关心这些?
李群和李代数在计算机科学中有广泛应用:
- 计算机图形学:SO(3) 用于 3D 物体的旋转,SE(3) 用于刚体变换。
- 机器人学:李代数帮助优化运动轨迹,处理非线性约束。
- 机器学习:李群上的优化用于流形学习、生成模型等。
接下来的博客将深入探讨李代数的结构、矩阵指数的细节,以及它们在实际问题中的应用。希望这篇介绍让你对李群和李代数有了一个直观的认识!
后记
2025年4月11日于上海,在grok 3大模型辅助下完成。