李群与李代数它们之间的联系

李群是什么

李群就是一个矩阵的集合,为何有了矩阵还要弄个矩阵集合呢?因为矩阵它只是一个数,而像实际应用中我可能需要一系列数去描述某个事件的变化。而李群就是用来描述旋转平移上的变化,物体的旋转平移是连续的所以李群它也是随时间变化连续的。某个时刻下李群它是一个矩阵,但是一段时间内它是无数个矩阵的集合。

旋转矩阵和齐次变换矩阵都是李群。旋转矩阵一般叫做特殊正交群简写为SO(3),Special orthogonal Group,齐次变换矩阵一般叫做特殊欧几里得群SE(3),Special euclidean Group。之所以字前面加个特殊是因为他们的行列式等于1,正交群是指他们是正交矩阵,欧几里得是指的是欧几里得变换这种变换是刚体变换(不会改变物体、向量的大小)

李代数又是什么

由于李群它是矩阵,而矩阵的元素是关于角度和时间的函数。某个时刻角度增加了一点点,并不能通过矩阵直接加减某个增量。这使得求导有困难。然后科学家就想到一个办法,那就是我对它自变量直接进行加减某个小的增量不就可以实现导数了么?李群就像一个函数,而李代数就是这个函数的自变量。只不过李群这个函数比较特殊,它是一个矩阵。李代数这个自变量也很特殊它是一个向量。

李群与李代数之间的关系

我们在前面提到了旋转矩阵SO(3)和齐次变换矩阵SE(3)都是李群。那么他们对应的李代数是什么呢?
答:旋转矩阵SO(3)对应的李代数是旋转向量(如果不懂旋转向量和旋转矩阵可以看这篇文章),齐次变换矩阵的李代数是一个六维的向量组成这个向量的内容是平移量和旋转角度量。前面我们提到了李群就相当于一个函数,李代数就是相当于李群的自变量。那么这个自变量与函数之间的变换关系是什么呢?答:他们是指数变换关系

数学家是怎么发现李群与李代数他们是指数关系?

我们知道旋转矩阵是李群,旋转矩阵是正交矩阵。正交矩阵意味着 R R T = I RR^T=I RRT=I,由于李群是随时间变化的矩阵,所以我们把那个矩阵加个时间自变量,于是前面那个式子就变成了 R ( t ) R ( t ) T = I R(t)R(t)^T=I R(t)R(t)T=I。然后我们对这个式子进行求导,自变量是t。然后上面那个式子变成了 R ˙ ( t ) R ( t ) T + R ( t ) R ˙ ( t ) T = 0 \dot R(t)R(t)^T + R(t)\dot R(t)^T=0 R˙(t)R(t)T+R(t)R˙(t)T=0。然后有 R ˙ ( t ) R ( t ) T = − R ( t ) R ˙ ( t ) T = − [ R ˙ ( t ) R ( t ) T ] T \dot R(t)R(t)^T = -R(t)\dot R(t)^T = -[\dot R(t)R(t)^T]^T R˙(t)R(t)T=R(t)R˙(t)T=[R˙(t)R(t)T]T,把 R ˙ ( t ) R ( t ) T \dot R(t)R(t)^T R˙(t)R(t)T看做一个整体记作 H = − R ˙ ( t ) R ( t ) T H=-\dot R(t)R(t)^T H=R˙(t)R(t)T。那么式子可以写作 H = − H T H=-H ^ T H=HT可以看到其实H他是反对称矩阵。我们知道反对称变换是可以产生反对称矩阵的我假设某个向量 ϕ \phi ϕ经过反对称变换后是 H H H。用公式表示就是 ϕ ∧ = H \phi ^\wedge = H ϕ=H,其中 ϕ ∧ \phi ^ \wedge ϕ表示反对称变换,它可以把一个向量变成一个反对称矩阵。

回到 R ˙ ( t ) R ( t ) T = − R ( t ) R ˙ ( t ) T = − [ R ˙ ( t ) R ( t ) T ] T \dot R(t)R(t)^T = -R(t)\dot R(t)^T = -[\dot R(t)R(t)^T]^T R˙(t)R(t)T=R(t)R˙(t)T=[R˙(t)R(t)T]T这个公式,如果我们把 ϕ ∧ = − R ˙ ( t ) R ( t ) T \phi ^ \wedge=-\dot R(t)R(t)^T ϕ=R˙(t)R(t)T代入进去会发现 R ˙ ( t ) = ϕ ∧ R ( t ) \dot R(t) = \phi ^ \wedge R(t) R˙(t)=ϕR(t)。这个李群 R ( t ) R(t) R(t)导数很有意思,李群它的导数等于它自身然后乘上某个数,这个不就和 e a t e^{at} eat很像吗?所以得到李群和李代数之间的变换关系为: R ( t ) = e ϕ ∧ t R(t)=e^{ \phi ^ \wedge t} R(t)=eϕt
但是有个问题, R ( t ) = e ϕ ∧ t R(t)=e^{ \phi ^ \wedge t} R(t)=eϕt这个式子是进行矩阵的指数运算,矩阵的指数运算并不是直接把各个元素直接进行指数运算就行。一般是先把指数运算用泰勒展开,然后再进行计算。为什么用泰勒展开就好算了呢?答:如果我们假设 ϕ = θ a \phi=\theta a ϕ=θa其中 θ \theta θ ϕ \phi ϕ的模, a a a是单位向量那么有。有 a ∧ a ∧ = a a T − I a^\wedge a^\wedge=aa^T-I aa=aaTI a ∧ a ∧ a ∧ = − a ∧ a^\wedge a^\wedge a^\wedge=-a^\wedge aaa=a。所以 ϕ ∧ \phi^\wedge ϕ它的幂运算很方便
李群与李代数它们之间的联系_第1张图片
R ( t ) = e ϕ ∧ t R(t)=e^{ \phi ^ \wedge t} R(t)=eϕt的泰勒展开为:
李群与李代数它们之间的联系_第2张图片
然后得到结果(其实这个结果就是罗德里格斯公式, ϕ = θ a \phi=\theta a ϕ=θa就是旋转向量):
在这里插入图片描述
然后对上面这个公式求迹运算(对角线元素之和)可以找到根据旋转矩阵反推李代数(旋转向量)的方法。
在这里插入图片描述

旋转矩阵的李代数 ϕ \phi ϕ为:
李群与李代数它们之间的联系_第3张图片

齐次变换矩阵的李代数为 ξ = [ ρ , ϕ ] \xi=[\rho,\phi] ξ=[ρ,ϕ],这个 ϕ \phi ϕ就是上面那个旋转矩阵的李代数 ϕ \phi ϕ
李群与李代数它们之间的联系_第4张图片
其中J是雅克比矩阵
在这里插入图片描述

总结

李群与李代数它们之间的联系_第5张图片
参考文献:
[1] https://www.bilibili.com/video/av38496245/?p=2

你可能感兴趣的:(视觉SLAM从入门到实践)