李群李代数 简明教程

这篇博客是关于李群李代数的简明教程,特别介绍了在SLAM(Simultaneous Localization And Mapping)算法中的应用。教程详细讲解了李群、李代数的基本概念,包括光滑流形、群、李群矩阵、切空间、指数映射、矩阵对数、伴随映射、李括号和李代数,以及它们在SO(3)和SE(3)等李群中的实例。内容深入浅出,旨在帮助读者理解和应用这些数学工具。
摘要由CSDN通过智能技术生成

李群李代数 简明教程

slam算法中往往需要用到李群李代数的一些知识,最近看到一个李群李代数的简明教程,就翻译下来,有些地方翻译的可能不准,主要是作为一个学习记录。

2.4 李群

优化和滤波的方法适用与欧式向量空间 R n \R^n Rn中的向量或标量,当进行优化操作时,我们计算一个增量 δ ∈ R n \bf \delta \in \R^n δRn,然后将该增量加到当前的估计值 x ( k ) ∈ R n \bf x^{(k)} \in \R^n x(k)Rn上:
x ( k + 1 ) = x ( k ) + δ \bf x^{(k+1)} = x^{(k)} + \delta x(k+1)=x(k)+δ
现在我们来看一个表达式 G ( ω ) G(\omega) G(ω) ω = ( ω 1 , ω 2 , ω 3 ) \bf \omega = \rm (\omega_1,\omega_2,\omega_3) ω=(ω1,ω2,ω3)是一个三维空间中的旋转,我们希望求出使 G ( ω ) G(\omega) G(ω)最小的 ω \omega ω的值。 ω \omega ω可能是三维旋转的任何一种参数表示(例如欧拉角、旋转向量)。执行一次 δ \bf\delta δ旋转然后再进行一次 ω \omega ω旋转通常与执行一次 δ + ω \bf \delta + \omega δ+ω的旋转是不相等的。两次旋转并不能通过两个向量的简单相加得到。因此,旋转并不能用欧式向量空间表达,而是需要使用李群。

李群在计算机视觉和机器人学的相关领域越来越受欢迎。但是大多数文档或者是单纯的只讲如何应用,很少谈及一些特殊李群的相关性质,或者时面向数学专业的讲得很复杂的书。因此,为了弥补两者之间的gap,该教程不仅会介绍 S O ( 3 ) SO(3) SO(3) S E ( 3 ) SE(3) SE(3)而且会介绍一些更一般的概念。

2.4.1 光滑流形和李群

许多基本的数学方法和结论都基于变量是欧氏向量空间中的量。然而大多数的结论都是可以泛化到更加抽象的概念中的。一个较实用的泛化就是从欧氏空间泛化到光滑流行上。一个光滑流形在局部可以视作是欧氏空间,但是在全局结构上又不同于欧氏空间。球面是光滑流形较好的一个例子,球面的每一个局部区域都可以近似用切平面表示,然而它的全局结构又与平面不同。例如,一个2维平面是无界的,而球面是有界的。直观上看,我们可以认为流形是一个被弯曲了的欧氏向量空间。

我们将会关注一类有着特殊的流形:李群,它有着一些非常好的性质。李群是一种群,同时也是一种光滑流形。基于这个抽象的定义来介绍李群需要许多高阶的数学理论,例如拓扑学和微分几何学。然而我们将跟随Stillwell的步伐来理解作为可逆矩阵群 G L ( n ) GL(n) GL(n)的封闭子群的李群。因此我们就不必非常正式来介绍光滑流形。限定在李群矩阵上并不会有什么大的损失,因为我们感兴趣的大多数李群都属于这一类的李群。

从几何上来直观的介绍李群是比较困难的,因为没有一个比较直观的例子。球面是光滑流形的一个好例子,但是它并不是李群。欧氏空间是一个不太重要的李群。很明显,它不是李群的一个很好的例子,正如一条直线并不能作为光滑函数的一个很好的例子一样。一个最基本的例子是圆环群(图2.3b)。这个群定义了平面旋转。然而,圆环群不够一般,因为它是可交换的。我们将会看到可交换群是非常特殊的。一个最简单的不可交换李群是三维旋转群 S O ( 3 ) SO(3) SO(3)。该群将作为我们主要的例子来使用。

2.4.2 群

首先,李群是一种群。一个群 ( G , i d , ⊗ ) (G,id,\otimes) (G,id,)是一个集合G,它包含幺元 i d ∈ G id \in G idG和运算符 ⊗ : G ⊗ G → G \otimes: G \otimes G \to G :GGG,且满足下列群公理:
∀ a ∈ G ∀ b ∈ G ∀ c ∈ G    a ⊗ ( b ⊗ c ) = ( a ⊗ b ) ⊗ c ( a s s o c i a t i v i t y ) \forall_{a \in G} \forall_{b \in G} \forall_{c \in G} \; a \otimes(b \otimes c) = (a \otimes b) \otimes c \qquad(associativity) aGbGcGa(bc)=(ab)c(associativity)

∀ a ∈ G a ⊗ i d = i d ⊗ a ( n e u t r a l    e l e m e n t ) \forall_{a \in G} \quad a \otimes id = id \otimes a \qquad(neutral \;element) aGaid=ida(neutralelement)

∀ a ∈ G ∃ b ∈ G a ⊗ b = b ⊗ a = i d ( u n i q u e    i n v e r s e    e l e m e n t ) \forall_{a \in G} \exist_{b \in G} \quad a \otimes b = b \otimes a = id \qquad (unique \;inverse \;element) aGbGab=ba=id(uniqueinverseelement)

从公理(4)可知,每个群都有一个取逆函数 i n v : G → G inv: G \to G inv:GG,定义如下:
i n v ( a ) : = t h a t    b    s u c h    t h a t    a ⊗ b = i d inv(a) := that \; b \; such \;that \; a \otimes b = id inv(a):=thatbsuchthatab=id
一个群是可交换的,如果所有的元素可交换:
∀ a ∈ G ∀ b ∈ G    a ⊗ b = b ⊗ a \forall_{a \in G} \forall_{b \in G} \; a \otimes b = b \otimes a aGbGab=ba
一个群 ( G , i d , ⊗ ) (G,id,\otimes) (G,id,)的子集 S ⊂ G S \subset G SG是一个G子群的子群当 ( S , i d , ⊗ ) (S,id,\otimes) (S,id,)是一个群的时候。子群 Z ( G ) ⊂ G Z(G) \subset G Z(G)G的元素是与G中所有元素都满足交换律,即
Z ( G ) : = { x ∈ G : ∀ y ∈ G : x ⊗ y = y ⊗ x } Z(G):=\{x \in G:\forall_{y \in G}:x \otimes y = y \otimes x\} Z(G):={ xG:yG:xy=yx}
Z ( G ) Z(G) Z(G)称为G的中心。

2.4.3 李群矩阵

首先看一般线性群这一最一般的李群矩阵。它是由 n × n n \times n n×n可逆实矩阵构成的群。该群的运算符为矩阵乘法,幺元为单位阵 I n × n I_{n \times n} In×n。矩阵必须是可逆的才能满足群公理的要求。矩阵的乘法不可交换因此李群矩阵的运算也不可交换。例如:
[ 0 1 1 1 ] [ 1 2 0 1 ] = [ 0 1 1 3 ] , 但 是 [ 1 2 0 1 ] [ 0 1 1 1 ] = [ 2 3 1 1 ] \left[ \begin{matrix}0 & 1\\ 1 & 1 \end{matrix}\right] \left[ \begin{matrix} 1 & 2 \\ 0 & 1\end{matrix}\right] = \left[ \begin{matrix} 0 & 1 \\ 1 & 3\end{matrix}\right] ,但是 \left[ \begin{matrix} 1 & 2 \\ 0 & 1\end{matrix}\right] \left[ \begin{matrix}0 & 1\\ 1 & 1 \end{matrix}\right] = \left[ \begin{matrix} 2 & 3 \\ 1 & 1\end{matrix}\right] [0111][1021]=[0113],[1021][0111]=[2131]
有几个李群的例子将会贯穿到整个教程中。一个是称为 S O ( 2 ) SO(2) SO(2)的平面旋转群。它由 R ( α ) R(\alpha) R(α)形式的 2 × 2 2 \times 2 2×2矩阵构成。
R ( α ) = [ cos ⁡ ( α ) − sin ⁡ ( α ) sin ⁡ ( α ) cos ⁡ ( α ) ] R(\alpha) = \left[\begin{matrix} \cos(\alpha) & -\sin(\alpha) \\ \sin(\alpha) & \cos(\alpha)\end{matrix}\right] R(α)=[cos(α)sin(α)sin(α)cos(α)]
如果将 R ( α ) R(\alpha) R(α)乘以一个2维向量 x x x,那么在右手坐标系中相当于该向量被绕着原点逆时针旋转了 α \alpha α角度。 S O ( 2 ) SO(2) SO(2)李群是一个特殊的群,因为它是可以交换的,也就是对于两个矩阵 R ( α ) , R ( β ) ∈ S O ( 2 ) R(\alpha),R(\beta) \in SO(2) R(α),R(β)SO(2),那么 R ( α ) R ( β ) = R ( β ) R ( α ) R(\alpha)R(\beta) = R(\beta)R(\alpha) R(α)R(β)=R(β)R(α)

为了从 S O ( 2 ) SO(2) SO(2)进行一般化,首先注意到它的元素都是正交矩阵,即 R ( α ) R ( α ) T = I R(\alpha)R(\alpha)^T = I R(α)R(α)T=I或等价的 R ( α ) T = R ( α ) − 1 R(\alpha)^T = R(\alpha)^{-1} R(α)T=R(α)1;一般地,如果 n × n n \times n n×n矩阵 A A T = I AA^T = I AAT=I,那么矩阵称为正交矩阵群 O ( n ) O(n) O(n)。正交群 O ( n ) O(n) O(n)的行列式为1或-1。行列式为-1的正交群处了旋转作用外还有镜像作用。如果我们只想获得旋转,那么需要限制正交矩阵的行列式 d e t ( A ) = 1 det(A) = 1 det(A)=1。这样的群被称为特殊正交群,我们将主要研究三维旋转群 S O ( 3 ) SO(3) SO(3)

2.4.4切空间

多数李群,包括 S O ( 3 ) SO(3) SO(3),都是不可交换群。然而每一个群的元素 a a a与幺元 i d id id是可交换的,即: a ⨂ i d = i d ⨂ a a \bigotimes id = id \bigotimes a aid=ida。因此在幺元附近一个无穷小的区域内是可交换的空间。这一空间就是我们将要介绍的幺元附近的切空间。

光滑路径定义

X ⊂ R m X \subset R^m XRm [ a , b ] [a,b] [a,b]为一个实数区间。
P 是 X 上 的 光 滑 路 径 :    ⟺    P : [ a , b ] → X 是 一 个 可 微 的 方 程 。 P是X上的光滑路径 :\iff P:[a,b]\rightarrow X是一个可微的方程。 PX:P:[a,b]X
因此一个光滑路径是一个从实数区间映射到实向量空间的可微函数。必要时,我们会将一个矩阵看成是一个m维元组。因此我们可以将一个方阵 A n × n A_{n \times n} An×n看做是向量空间 R m R^m Rm的一个成员,这里 m = n 2 m = n^2 m=n2。实际上我们感兴趣的是映射到矩阵群上的光滑路径。例如一个 S O ( 3 ) SO(3) SO(3)的光滑路径为:
R x : [ − π , π ] → S O ( 3 ) , R x ( t ) = [ 1 0 0 0 cos ⁡ ( t ) − sin ⁡ ( t ) 0 sin ⁡ ( t ) cos ⁡ ( t ) ] R_x:[-\pi,\pi] \rightarrow SO(3), R_x(t) = \left[ \begin{matrix} 1 & 0 & 0 \\ 0 & \cos(t) & -\sin(t) \\ 0 & \sin(t) & \cos(t) \end{matrix} \right] Rx:[π,π]SO(3)Rx(t)=1000cos(t)sin(t)0sin(t)cos(t)
光滑路径是一个与空间中运动概念相关联的术语。事实上, R ( t ) R(t) R(t)描述了 t t t时刻绕 x x x轴的旋转。另外一个例子是 S O ( 2 ) SO(2) SO(2)是由式(2)定义的光滑路径完全确定。

定义:一个路径的切向量

P P P是一个光滑路径,且 P ( 0 ) = y P(0) = y P(0)=y
x 是 路 径 P 在 y 点 处 的 切 向 量 :    ⟺    x = ∂ ∂ t P ( t ) ∣ t = 0 x 是路径P在y点处的切向量 :\iff x = \frac {\partial} {\partial t} P(t)|_{t=0} xPy:x=tP(t)t=0
此外,如果如果这样的一个光滑路径存在,那么我们称 x x x是空间 X X X的一个切向量。

定义:一个空间的切向量

X ⊂ R n X \subset R^n XRn是一个空间,且 y ∈ X y \in X yX
x 是 X 上 y 点 处 的 一 个 切 向 量 :    ⟺    ∃ s m o o t h _ p a t h _ P _ i n _ X ( P ( 0 ) = y ∧ x = ∂ ∂ t P ( t ) ∣ t = 0 ) x 是X上y点处的一个切向量 :\iff \exist_{smooth\_path\_P\_in\_X}(P(0) = y \wedge x = \frac {\partial}{\partial t}P(t)|_{t=0}) xXy:smooth_path_P_in_X(P(0)=yx=tP(t)t=0)
例如,
∂ ∂ t R x ( t ) ∣ t = 0 = [ 0 0 0 0 − sin ⁡ ( 0 ) − cos ⁡ ( 0 ) 0 cos ⁡ ( 0 ) − sin ⁡ ( 0 ) ] = [ 0 0 0 0 0 − 1 0 1 0 ] \frac {\partial} {\partial t} R_x(t)|_{t=0} = \left[\begin{matrix} 0 & 0 & 0 \\ 0 & -\sin(0) & -\cos(0) \\ 0 & \cos(0) & -\sin(0)\end{matrix}\right] = \left[ \begin{matrix} 0 & 0 & 0 \\ 0 & 0 & -1\\ 0 & 1 & 0\end{matrix}\right] tRx(t)t=0=0000sin(0)cos(0)0cos(0)sin(0)=000001010
R ( x ) R(x) R(x)的切向量,因此也是

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值