矩阵指数与李群-李代数对应

写给计算机系同学的李群与李代数(一):从旋转矩阵到抽象群
写给计算机系同学的李群与李代数(二):李代数的结构——以 so(n) 为例

在前两篇文章中,我们认识了李群(Lie Group)与李代数(Lie Algebra)的基本概念,并深入探讨了特殊正交群(Special Orthogonal Group, SO(n))的李代数 so ( n ) \text{so}(n) so(n),即由反对称矩阵(Skew-Symmetric Matrix)构成的向量空间。今天,我们将聚焦于矩阵指数映射(Matrix Exponential),它是连接李群与李代数的桥梁。通过公式推导、具体例子和几何解释,我们将揭示李代数如何生成李群元素,以及这种对应在计算机科学中的重要性。

矩阵指数映射(Matrix Exponential)的定义

矩阵指数映射是李群与李代数关系的核心。对于一个 n × n n \times n n×n 矩阵 A A A,其指数定义为:
e A = ∑ k = 0 ∞ A k k ! = I + A + A 2 2 ! + A 3 3 ! + ⋯ e^A = \sum_{k=0}^\infty \frac{A^k}{k!} = I + A + \frac{A^2}{2!} + \frac{A^3}{3!} + \cdots eA=k=0k!Ak=I+A+2!A2+3!A3+
其中 I I I 是单位矩阵。这个定义类似于标量指数函数 e x e^x ex 的泰勒展开,但现在操作的是矩阵。对于李代数 g \mathfrak{g} g 的元素 A A A,矩阵指数 e A e^A eA 通常生成对应的李群 G G G 中的元素。

为什么矩阵指数重要?

李代数描述了李群在单位元(Identity Element,例如单位矩阵)附近的“无穷小变换”(Infinitesimal Transformation)。矩阵指数映射将这些“速度”转化为“位置”:

  • 李代数 g \mathfrak{g} g:表示局部线性化的变换(类似角速度)。
  • 李群 G G G:表示全局的变换(类似旋转矩阵)。
  • 矩阵指数 e A e^A eA:从 g \mathfrak{g} g G G G 的桥梁。

让我们通过具体例子来探索这一过程。

矩阵指数的性质

矩阵指数映射有几个关键性质,帮助我们理解李群与李代数的动态关系:

  1. 单参数子群(One-Parameter Subgroup)
    对于李代数中的元素 A A A,映射 t ↦ e t A t \mapsto e^{tA} tetA 形成李群中的一条曲线,满足:
    e t A e s A = e ( t + s ) A e^{tA} e^{sA} = e^{(t+s)A} etAesA=e(t+s)A
    这表明 e t A e^{tA} etA 是一个群同态,描述了沿 A A A 方向的连续变换。

  2. 非交换性(Non-Commutativity)
    一般情况下,矩阵指数不满足 e A + B = e A e B e^{A+B} = e^A e^B eA+B=eAeB,除非 [ A , B ] = A B − B A = 0 [A, B] = AB - BA = 0 [A,B]=ABBA=0。这反映了李群变换的非交换性,例如三维旋转的顺序依赖。

  3. 局部近似
    对于小的 t t t,有:
    e t A ≈ I + t A e^{tA} \approx I + tA etAI+tA
    这表明李代数元素 t A tA tA 是李群元素 e t A e^{tA} etA 在单位元附近的线性近似。

接下来,我们以 so ( 3 ) \text{so}(3) so(3) se ( 3 ) \text{se}(3) se(3) 为例,详细推导矩阵指数的计算和意义。

so ( 3 ) \text{so}(3) so(3) 为例:Rodrigues 公式

so ( 3 ) \text{so}(3) so(3) 是特殊正交群 SO(3) 的李代数,由 3 × 3 3 \times 3 3×3 反对称矩阵组成。任意 so ( 3 ) \text{so}(3) so(3) 元素可以写为:
B = [ 0 − ω 3 ω 2 ω 3 0 − ω 1 − ω 2 ω 1 0 ] B = \begin{bmatrix} 0 & -\omega_3 & \omega_2 \\ \omega_3 & 0 & -\omega_1 \\ -\omega_2 & \omega_1 & 0 \end{bmatrix} B= 0ω3ω2ω30ω1ω2ω10
其中 ω = ( ω 1 , ω 2 , ω 3 ) \omega = (\omega_1, \omega_2, \omega_3) ω=(ω1,ω2,ω3) 是一个三维向量。矩阵 B B B 表示绕轴 ω \omega ω 的无穷小旋转,旋转速度为 ∣ ω ∣ |\omega| ω

推导 Rodrigues 公式

我们希望计算 e t B e^{t B} etB,它应生成 SO(3) 中的旋转矩阵。注意到 B B B 的特殊结构,我们定义:
ω ^ = ω ∣ ω ∣ , θ = t ∣ ω ∣ , B ~ = B ∣ ω ∣ \hat{\omega} = \frac{\omega}{|\omega|}, \quad \theta = t |\omega|, \quad \tilde{B} = \frac{B}{|\omega|} ω^=ωω,θ=tω,B~=ωB
这样, e t B = e θ B ~ e^{t B} = e^{\theta \tilde{B}} etB=eθB~,其中 B ~ \tilde{B} B~ 满足 B ~ 3 = − B ~ \tilde{B}^3 = -\tilde{B} B~3=B~(稍后验证)。计算 B ~ \tilde{B} B~ 的幂:
B ~ = [ 0 − ω ^ 3 ω ^ 2 ω ^ 3 0 − ω ^ 1 − ω ^ 2 ω ^ 1 0 ] \tilde{B} = \begin{bmatrix} 0 & -\hat{\omega}_3 & \hat{\omega}_2 \\ \hat{\omega}_3 & 0 & -\hat{\omega}_1 \\ -\hat{\omega}_2 & \hat{\omega}_1 & 0 \end{bmatrix} B~= 0ω^3ω^2ω^30ω^1ω^2ω^10
定义向量 ω \omega ω 与矩阵 B B B 的关系:对于任意向量 v v v,有:
B v = ω × v B v = \omega \times v Bv=ω×v
因此, B B B 对应于叉积运算。计算 B 2 B^2 B2
B 2 v = B ( B v ) = B ( ω × v ) = ω × ( ω × v ) = ( ω ⋅ v ) ω − ( ω ⋅ ω ) v = − ∣ ω ∣ 2 v + ( ω ⋅ v ) ω B^2 v = B (B v) = B (\omega \times v) = \omega \times (\omega \times v) = (\omega \cdot v) \omega - (\omega \cdot \omega) v = -|\omega|^2 v + (\omega \cdot v) \omega B2v=B(Bv)=B(ω×v)=ω×(ω×v)=(ωv)ω(ωω)v=ω2v+(ωv)ω
对于单位向量 ω ^ \hat{\omega} ω^ ∣ ω ^ ∣ = 1 |\hat{\omega}| = 1 ω^=1,所以:
B ~ 2 v = − v + ( ω ^ ⋅ v ) ω ^ \tilde{B}^2 v = -v + (\hat{\omega} \cdot v) \hat{\omega} B~2v=v+(ω^v)ω^
投影到 ω ^ \hat{\omega} ω^ 方向的部分满足 B ~ ( ω ^ ⋅ v ) ω ^ = 0 \tilde{B} (\hat{\omega} \cdot v) \hat{\omega} = 0 B~(ω^v)ω^=0,因此:
B ~ 2 = − I + ω ^ ω ^ T \tilde{B}^2 = -I + \hat{\omega} \hat{\omega}^T B~2=I+ω^ω^T
再计算:
B ~ 3 = B ~ B ~ 2 = B ~ ( − I + ω ^ ω ^ T ) = − B ~ \tilde{B}^3 = \tilde{B} \tilde{B}^2 = \tilde{B} (-I + \hat{\omega} \hat{\omega}^T) = -\tilde{B} B~3=B~B~2=B~(I+ω^ω^T)=B~
因为 B ~ ω ^ = 0 \tilde{B} \hat{\omega} = 0 B~ω^=0。有了这些,我们计算指数:
e θ B ~ = I + θ B ~ + θ 2 2 ! B ~ 2 + θ 3 3 ! B ~ 3 + ⋯ e^{\theta \tilde{B}} = I + \theta \tilde{B} + \frac{\theta^2}{2!} \tilde{B}^2 + \frac{\theta^3}{3!} \tilde{B}^3 + \cdots eθB~=I+θB~+2!θ2B~2+3!θ3B~3+
利用 B ~ 3 = − B ~ \tilde{B}^3 = -\tilde{B} B~3=B~ B ~ 4 = B ~ 2 \tilde{B}^4 = \tilde{B}^2 B~4=B~2,整理得:
e θ B ~ = I + ( θ − θ 3 3 ! + ⋯   ) B ~ + ( θ 2 2 ! − θ 4 4 ! + ⋯   ) B ~ 2 e^{\theta \tilde{B}} = I + \left( \theta - \frac{\theta^3}{3!} + \cdots \right) \tilde{B} + \left( \frac{\theta^2}{2!} - \frac{\theta^4}{4!} + \cdots \right) \tilde{B}^2 eθB~=I+(θ3!θ3+)B~+(2!θ24!θ4+)B~2
识别出:
sin ⁡ θ = θ − θ 3 3 ! + ⋯   , 1 − cos ⁡ θ = θ 2 2 ! − θ 4 4 ! + ⋯ \sin\theta = \theta - \frac{\theta^3}{3!} + \cdots, \quad 1 - \cos\theta = \frac{\theta^2}{2!} - \frac{\theta^4}{4!} + \cdots sinθ=θ3!θ3+,1cosθ=2!θ24!θ4+
代入 B ~ 2 = − I + ω ^ ω ^ T \tilde{B}^2 = -I + \hat{\omega} \hat{\omega}^T B~2=I+ω^ω^T
e θ B ~ = I + sin ⁡ θ B ~ + ( 1 − cos ⁡ θ ) B ~ 2 e^{\theta \tilde{B}} = I + \sin\theta \tilde{B} + (1 - \cos\theta) \tilde{B}^2 eθB~=I+sinθB~+(1cosθ)B~2
B ~ \tilde{B} B~ B ~ 2 \tilde{B}^2 B~2 代回,得到 Rodrigues 公式(Rodrigues Formula):
e θ B ~ = I + sin ⁡ θ B ~ + ( 1 − cos ⁡ θ ) ( B ~ 2 ) e^{\theta \tilde{B}} = I + \sin\theta \tilde{B} + (1 - \cos\theta) (\tilde{B}^2) eθB~=I+sinθB~+(1cosθ)(B~2)
对于原始矩阵 B = θ B ~ B = \theta \tilde{B} B=θB~,我们有:
e t B = I + sin ⁡ ( t ∣ ω ∣ ) B ∣ ω ∣ + ( 1 − cos ⁡ ( t ∣ ω ∣ ) ) ( B ∣ ω ∣ ) 2 e^{t B} = I + \sin(t |\omega|) \frac{B}{|\omega|} + (1 - \cos(t |\omega|)) \left( \frac{B}{|\omega|} \right)^2 etB=I+sin(tω)ωB+(1cos(tω))(ωB)2
这表示绕轴 ω / ∣ ω ∣ \omega/|\omega| ω/∣ω 旋转角度 t ∣ ω ∣ t |\omega| tω 的旋转矩阵。

例子:绕 z 轴旋转

ω = ( 0 , 0 , 1 ) \omega = (0, 0, 1) ω=(0,0,1),则:
B = [ 0 − 1 0 1 0 0 0 0 0 ] B = \begin{bmatrix} 0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix} B= 010100000
应用 Rodrigues 公式, θ = t \theta = t θ=t B ~ = B \tilde{B} = B B~=B
e t B = I + sin ⁡ t B + ( 1 − cos ⁡ t ) B 2 e^{t B} = I + \sin t B + (1 - \cos t) B^2 etB=I+sintB+(1cost)B2
计算 B 2 B^2 B2
B 2 = [ − 1 0 0 0 − 1 0 0 0 0 ] B^2 = \begin{bmatrix} -1 & 0 & 0 \\ 0 & -1 & 0 \\ 0 & 0 & 0 \end{bmatrix} B2= 100010000
代入:
e t B = [ 1 0 0 0 1 0 0 0 1 ] + sin ⁡ t [ 0 − 1 0 1 0 0 0 0 0 ] + ( 1 − cos ⁡ t ) [ − 1 0 0 0 − 1 0 0 0 0 ] e^{t B} = \begin{bmatrix} 1 & 0 & 0 \\ 0 & 1 & 0 \\ 0 & 0 & 1 \end{bmatrix} + \sin t \begin{bmatrix} 0 & -1 & 0 \\ 1 & 0 & 0 \\ 0 & 0 & 0 \end{bmatrix} + (1 - \cos t) \begin{bmatrix} -1 & 0 & 0 \\ 0 & -1 & 0 \\ 0 & 0 & 0 \end{bmatrix} etB= 100010001 +sint 010100000 +(1cost) 100010000
整理得:
e t B = [ cos ⁡ t − sin ⁡ t 0 sin ⁡ t cos ⁡ t 0 0 0 1 ] e^{t B} = \begin{bmatrix} \cos t & -\sin t & 0 \\ \sin t & \cos t & 0 \\ 0 & 0 & 1 \end{bmatrix} etB= costsint0sintcost0001
这正是绕 z 轴旋转 t t t 弧度的矩阵,与前文一致。

几何意义

Rodrigues 公式表明, so ( 3 ) \text{so}(3) so(3) 中的矩阵 B B B 编码了旋转轴和角速度, e t B e^{t B} etB 将其转化为具体的旋转。几何上,李代数提供了一个线性空间,描述所有可能的旋转“方向”,而指数映射将这些方向“展开”为李群中的曲线。

se ( 3 ) \text{se}(3) se(3) 为例:刚体变换

欧几里得群(Euclidean Group, SE(3))描述三维空间的刚体变换(旋转加平移),其元素为 4 × 4 4 \times 4 4×4 矩阵:
[ R t 0 1 ] , R ∈ SO ( 3 ) , t ∈ R 3 \begin{bmatrix} R & t \\ 0 & 1 \end{bmatrix}, \quad R \in \text{SO}(3), \quad t \in \mathbb{R}^3 [R0t1],RSO(3),tR3
其李代数 se ( 3 ) \text{se}(3) se(3) 由矩阵构成:
[ B v 0 0 ] , B ∈ so ( 3 ) , v ∈ R 3 \begin{bmatrix} B & v \\ 0 & 0 \end{bmatrix}, \quad B \in \text{so}(3), \quad v \in \mathbb{R}^3 [B0v0],Bso(3),vR3
其中 B B B 表示角速度, v v v 表示线速度。

推导指数映射

考虑 se ( 3 ) \text{se}(3) se(3) 元素:
A = [ B v 0 0 ] A = \begin{bmatrix} B & v \\ 0 & 0 \end{bmatrix} A=[B0v0]
计算 e t A e^{t A} etA
e t A = ∑ k = 0 ∞ ( t A ) k k ! e^{t A} = \sum_{k=0}^\infty \frac{(t A)^k}{k!} etA=k=0k!(tA)k
由于 A A A 的分块结构,计算 ( t A ) k (t A)^k (tA)k
A 2 = [ B v 0 0 ] [ B v 0 0 ] = [ B 2 B v 0 0 ] A^2 = \begin{bmatrix} B & v \\ 0 & 0 \end{bmatrix} \begin{bmatrix} B & v \\ 0 & 0 \end{bmatrix} = \begin{bmatrix} B^2 & B v \\ 0 & 0 \end{bmatrix} A2=[B0v0][B0v0]=[B20Bv0]
一般地:
A k = [ B k B k − 1 v 0 0 ] A^k = \begin{bmatrix} B^k & B^{k-1} v \\ 0 & 0 \end{bmatrix} Ak=[Bk0Bk1v0]
指数为:
e t A = [ e t B ∫ 0 t e s B v   d s 0 1 ] e^{t A} = \begin{bmatrix} e^{t B} & \int_0^t e^{s B} v \, ds \\ 0 & 1 \end{bmatrix} etA=[etB00tesBvds1]
其中 e t B ∈ SO ( 3 ) e^{t B} \in \text{SO}(3) etBSO(3) 是旋转矩阵。积分部分计算:
∫ 0 t e s B v   d s \int_0^t e^{s B} v \, ds 0tesBvds
B = θ B ~ B = \theta \tilde{B} B=θB~,使用 Rodrigues 公式:
e s B = I + sin ⁡ ( s θ ) B ~ + ( 1 − cos ⁡ ( s θ ) ) B ~ 2 e^{s B} = I + \sin(s \theta) \tilde{B} + (1 - \cos(s \theta)) \tilde{B}^2 esB=I+sin(sθ)B~+(1cos(sθ))B~2
积分得:
∫ 0 t e s B v   d s = ( I t + 1 − cos ⁡ ( t θ ) θ B ~ + t θ − sin ⁡ ( t θ ) θ 2 B ~ 2 ) v \int_0^t e^{s B} v \, ds = \left( I t + \frac{1 - \cos(t \theta)}{\theta} \tilde{B} + \frac{t \theta - \sin(t \theta)}{\theta^2} \tilde{B}^2 \right) v 0tesBvds=(It+θ1cos()B~+θ2sin()B~2)v
最终:
e t A = [ e t B V v 0 1 ] e^{t A} = \begin{bmatrix} e^{t B} & V v \\ 0 & 1 \end{bmatrix} etA=[etB0Vv1]
其中 V V V 是与旋转相关的矩阵。这表示一个螺旋运动(Screw Motion):先旋转后平移。

例子:机器人运动

假设机器人绕 z 轴旋转 θ = t \theta = t θ=t,同时沿 z 轴平移 v = ( 0 , 0 , t ) v = (0, 0, t) v=(0,0,t)
A = [ 0 − 1 0 0 1 0 0 0 0 0 0 1 0 0 0 0 ] A = \begin{bmatrix} 0 & -1 & 0 & 0 \\ 1 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 \\ 0 & 0 & 0 & 0 \end{bmatrix} A= 0100100000000010
计算 e t A e^{t A} etA(推导略,类似前述),结果为:
e t A = [ cos ⁡ t − sin ⁡ t 0 0 sin ⁡ t cos ⁡ t 0 0 0 0 1 t 0 0 0 1 ] e^{t A} = \begin{bmatrix} \cos t & -\sin t & 0 & 0 \\ \sin t & \cos t & 0 & 0 \\ 0 & 0 & 1 & t \\ 0 & 0 & 0 & 1 \end{bmatrix} etA= costsint00sintcost00001000t1
这描述了机器人绕 z 轴旋转 t t t 弧度,同时沿 z 轴平移 t t t 个单位。

几何意义

se ( 3 ) \text{se}(3) se(3) 的指数映射将角速度和线速度组合为刚体变换,几何上对应于螺旋运动。 B B B 控制旋转轴, v v v 控制平移方向, e t A e^{t A} etA 将这些“速度”转化为具体的位姿。

非交换性:Baker-Campbell-Hausdorff 公式

矩阵指数的非交换性是李代数的重要特征。一般情况下:
e A e B ≠ e A + B e^A e^B \neq e^{A+B} eAeB=eA+B
Baker-Campbell-Hausdorff 公式(BCH Formula)提供了近似:
e A e B = e C , C ≈ A + B + 1 2 [ A , B ] + 高阶项 e^A e^B = e^C, \quad C \approx A + B + \frac{1}{2} [A, B] + \text{高阶项} eAeB=eC,CA+B+21[A,B]+高阶项
对于小矩阵 A , B A, B A,B
e A e B ≈ e A + B + 1 2 [ A , B ] e^A e^B \approx e^{A + B + \frac{1}{2} [A, B]} eAeBeA+B+21[A,B]
这表明李括号 [ A , B ] [A, B] [A,B] 量化了非交换效应。

例子:旋转的非交换

so ( 3 ) \text{so}(3) so(3) 中,取:
A = θ B 1 , B = ϕ B 2 A = \theta B_1, \quad B = \phi B_2 A=θB1,B=ϕB2
其中 B 1 , B 2 B_1, B_2 B1,B2 so ( 3 ) \text{so}(3) so(3) 的基。计算 [ A , B ] = θ ϕ [ B 1 , B 2 ] = θ ϕ B 3 [A, B] = \theta \phi [B_1, B_2] = \theta \phi B_3 [A,B]=θϕ[B1,B2]=θϕB3。BCH 公式表明:
e θ B 1 e ϕ B 2 ≈ e θ B 1 + ϕ B 2 + 1 2 θ ϕ B 3 e^{\theta B_1} e^{\phi B_2} \approx e^{\theta B_1 + \phi B_2 + \frac{1}{2} \theta \phi B_3} eθB1eϕB2eθB1+ϕB2+21θϕB3
这意味着先绕 x 轴旋转 θ \theta θ,再绕 y 轴旋转 ϕ \phi ϕ,会引入一个额外的绕 z 轴的旋转。

直观总结

  • 矩阵指数:将李代数的“无穷小变换”映射到李群的“全局变换”,如从角速度到旋转矩阵。
  • Rodrigues 公式:为 so ( 3 ) \text{so}(3) so(3) 提供了绕轴旋转的显式表达式。
  • se ( 3 ) \text{se}(3) se(3) 的应用:描述刚体运动,广泛用于机器人学。
  • 非交换性:李括号和 BCH 公式揭示了变换顺序的重要性。
  • 几何意义:李代数是李群的“切空间”,指数映射像是从“速度”积分到“位置”。

在计算机科学中,矩阵指数映射简化了非线性变换的处理。例如,3D 动画中的平滑旋转、机器人路径规划中的优化,都依赖于 so ( 3 ) \text{so}(3) so(3) se ( 3 ) \text{se}(3) se(3) 的指数映射。下一篇文章将探讨李括号与结构常数,进一步揭示李代数的代数性质。


后记

2025年4月12日于上海,在grok 3大模型辅助下完成。

Logo

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。

更多推荐