作者: 边城量子 ( shihezichen@live.cn )
Lie Group Foundations
简介
本文介绍了李群、李代数的基本概念、映射关系、伴随、Jacobian等重要的性质和公式,作为对李群、李代数的相关信息的总结。
基本概念
-
李群 M 是一个群同时也是一个光滑的(可微的)的流形, 定义其上的群乘法和求逆运算都是可微的;
-
李代数 m 是 M 的在单位元 1 处的正切空间;
-
最常见的李群就是 SO(n) 和 SE(n)
映射关系
-
∧:Rm⟶m : 把正切向量 τ 映射到李代数中的元素 τ∧ , 即: 向量⟶反对称矩阵
-
∨:m⟶Rm : ∧ 的逆运算, 把李代数中的元素 τ∧ 映射到正切向量 τ, 即: 反对称矩阵⟶ 向量
-
exp(τ∧):Rn⟶M : 把正切向量 τ 映射到李代数后, 然后再映射为李群中的元素 X
-
log(X)∨:M⟶Rm : exp 的逆运算, 把李群中的元素 X 映射到李代数中的元素后, 再映射为正切向量 τ
其中 Rm 代表m维向量空间, m 代表李代数,M 代表李群

伴随
-
伴随的本质
相比视觉SLAM十四讲
, 文献 A micro Lie theory for state estimation in robotics
中的伴随定义更能体现伴随的本质。
-
对李代数的伴随变换
如下定义所示, 假设已知李群元素 T, 则它的对其李代数的伴随变换被定义为如下形式(即从李代数到李代数的线性映射):
Ad(T):m⟶m;ξT∧⟼Ad(T)ξT∧≜TξT∧T−1
从上述定义可以看出,上述伴随含义是: 一个非李群幺元 ϵ 处的李代数元素 ξT∧, 被映射为李群幺元对应的李代数元素 TξT∧T−1。
我们继续。
-
对切向量的伴随变换
此外, 我们还知道李代数元素可以通过 ∨ 运算符得到正切向量。
因此, 在上述变换两边都施加 ∨ 操作符,则可以得到一个从正切向量到正切向量的变换,重新定义为 Ad(T)(由于是对向量的变换,此处应为矩阵), 如下:
Ad(T):Rm⟶Rm;ξT⟼Ad(T)ξT=(TξT∧T−1)∨
此时,已经比较接近其本质了。
这个伴随变换的含义就是: 一个不是李群幺元处的正切空间里的向量 ξT, 被映射到了李群幺元处的正切空间里的向量 (TξT∧T−1)∨。
这个对向量进行变换作用的矩阵 Ad(T) ,则被称为 T 的伴随变换矩阵。
-
等价
上面的式子和视觉SLAM十四讲
中的式子是等价的, 如下:对上面的式子两边先取 ∧ 操作, 再取 exp(), 即可变为形式一样。:
Ad(T)ξT exp(Ad(T)ξT∧)=(TξT∧T−1)∨=exp(TξT∧T−1)=Texp(ξT∧)T−1
-
伴随的性质
Ad(T−1)=Ad−1(T)
Ad(T1T2)=Ad(T1)Ad(T2)
- 伴随的逆变换,根据其其定义就是把李群幺元处正切空间里的向量,映射到李群其他元素处的正切空间里的向量
- 上面的式子,等号左边往往比右边计算起来更快。
- 对李代数做伴随变换和对切向量做伴随变换是等价的,但往往后者更容易。
-
结语

在李群中有很多元素,每个元素都对应有正切空间,这些正切空间中的向量,可以通过伴随这种线性变换,被映射到李群幺元处的正切空间中。
-
参考阅读
这里的伴随是指李群, 并不是Eigen
库中的伴随adjoint()
的含义, 那个伴随是共轭+转置的联合作用的意思: 实数域中, 实数的共轭是自己, 所以只有转置在起作用.
关于李群伴随这部分进一步信息,可阅读文献: A micro Lie theory for state estimation in robotics
李群、李代数表示总览

SO(3)专题
-
切空间向量与李代数
如切空间向量用笛卡尔坐标系表示: x=[x1,x2,x3]T∈R3, 它对应的反对称矩阵(即李代数):
X=x∧=⎝⎛0x3−x2−x30x1x2−x10⎠⎞
反之, 已知反对称(李代数)求切空间向量:
X∨=x=[x1,x2,x3]T
性质: Xy=x×y,∀y∈R3
-
李群与李代数关系
切空间向量还可以用旋转向量方式描述:x=θn, 其中 n 单位向量,则 x 对应的李群 R 或 q 为:
R(x)=q(x)=Exp(x)∥x∥=exp(x∧)=exp((θn)∧) =k∑k!θk(n∧)k=I+∥x∥sin∥x∥X+∥x∥21−cos∥x∥X2=I+n∧sinθ+(n∧)2(1−cosθ)=x12+x22+x32=θ
其中的 R(x),q(x) 代表李群元素(旋转), 四元数 q(x)≜cos(θ/2)+nsin(θ/2)
反之, 已知旋转 R 或 q=(ω,v), 求李代数 X (反对称矩阵)和切空间向量 x ( 同时考虑旋转向量表示形式):
X xθRn=log(R)=log(q)=θn=X∨=Log(R)=(log(R))∨≜2v∥v∥arctan(∥v∥,ω)∈R3=arccos2trace(R)−1=n
-
伴随性质
伴随矩阵: Ad(R)=R,ad(X)=X
推导过程: Ad(R)ϕ=(Rϕ∧RT)∨=((Rϕ)∧)∨=Rϕ
-
旋转轴、旋转角
性质: R(x)x=x
从代数计算, R 与 x 相乘后, 由于 X×x=0 , 所以只有 I 保留下来了。
从几何角度理解, 如果把 x 理解为旋转向量 θn, 则旋转轴在经过旋转后不变。
性质: 若李代数(旋转向量) x 已知, 则旋转角度为模长: θ(R)=∥x∥
性质: 若旋转矩阵 R 已知, 则旋转角度如下: θ(R)=arccos(2trace(R)−1)
-
BCH Jacobians:
在 Stochastic Models, Information Theory, and Lie Groups, Vol. 2
中定义(P40)。
假设已知代表旋转李代数向量 x=[x1,x2,x3]T=θn 情况下 (此时 θ=∥x∥) :
Jacobians for Exponential Coordinates of SO(3): (即BCH公式展开时用到的Jacobian)
Jl(x)=I+θ21−cosθx∧+θ3θ−sinθ(x∧)2(10.86)
Jl−1(x)=I−21x∧+(θ21−2θsinθ1+cosθ)(x∧)2(10.86)
Jr(x)=I−θ21−cosθx∧+θ3θ−sinθ(x∧)2(10.86)
Jr−1(x)=I+21x∧+(θ21−2θsinθ1+cosθ)(x∧)2(10.86)
性质:
Jl=JrTJl−1=Jr−TJl(x)=Jr(−x)
∣det(Jl)∣=∣det(Jr)∣=∥x∥22(1−cos∥x∥)
SE(3)专题
-
李代数与反对称
李代数切空间向量用笛卡尔坐标系表示:
设 ρ=[x1,x2,x3]T , ϕ=[x4,x5,x6]T, ξ=(ρ,ϕ)T∈R6, 它的反对称矩阵为:
X=ξ∧=(ρϕ)∧≜⎝⎛0x3−x20−x30x10x2−x100x4x5x60⎠⎞=(ϕ∧0ρ0)
则有:
X∨=ξ=(ρϕ)=[x1,x2,x3,x4,x5,x6]T
-
李群与李代数关系
由李代数表示李群:
T(ξ)=Exp(ξ)=exp(ξ∧) T−1(ξ)=(exp(ϕ∧)0TJlρ1)=(R0Tt1)=(RT0T−RTt1)
其中 R 代表由 exp(ϕ∧) 生成的SO3旋转矩阵, Jl 即为 R 的雅可比, t=Jlρ 代表平移。
反之,在李群T已知的情况下(即旋转R=exp(ϕ∧)、平移t=Jlρ 已知), 则可以求反对称矩阵和李代数切向量ξ :
ϕ∧ ∴X=logT ξ=X∨ =LogR,ρ=Jl−1t=Jl−1((LogR)∨)t=(ϕ∧0Tρ0)=(LogR0TJl−1((LogR)∨)t0)=(ρϕ)=⎝⎛Jl−1((LogR)∨)t (logR)∨⎠⎞
-
伴随
伴随矩阵: 根据伴随的定义, 推导如下
Ad(T)ξ ∴Ad(T)=(Tξ∧T−1)∨=(Tϕ∧TT0−Rϕ∧TTt+Rρ0)∨=([Tϕ]∧0t∧Rϕ+Rρ0)∨=(t∧Rϕ+RρRϕ)=(R0t∧RR)(ρϕ)=(R0t∧RR)∈R6×6
过程中使用到了如下性质: [Rϕ]∧=Rϕ∧RT 和 a∧b=−b∧a.
-
Jacobians:
在 Stochastic Models, Information Theory, and Lie Groups, Vol. 2
中定义(P44)。
Jacobians in Exponential Coordinates of SE(3):(即BCH公式展开时用到的Jacobian)
Jr(x)=⎝⎛Jr(ϕ) 0e−X∂ϕT∂Jl(ϕ)ρJr(ϕ)⎠⎞
其中的 Jr(pϕ 是SO(3)的雅可比,
行列式性质: ∣Jr(x)∣=∣Jr(ω)∣2
因为上式 Jr(x) 矩阵左下角为0, 因此行列式就是对角线相乘。
在state estimation for robotics
的公式 (7.85)处也给出了类似的公式:
Jr(ξ)=n=0∑∞(n+1)!1(−ξ⋏)n=∫01T−αdα=[Jr0QrJr]Jℓ(ξ)=n=0∑∞(n+1)!1(ξ⋏)n=∫01Tαdα=[Jℓ0QℓJℓ]
其中
Qℓ(ξ)=n=0∑∞m=0∑∞(n+m+2)!1(ϕ∧)nρ∧(ϕ∧)m=21ρ∧+(ϕ3ϕ−sinϕ)(ϕ∧ρ∧+ρ∧ϕ∧+ϕ∧ρ∧ϕ∧)+(2ϕ4ϕ2+2cosϕ−2)(ϕ∧ϕ∧ρ∧+ρ∧ϕ∧ϕ∧−3ϕ∧ρ∧ϕ∧)+(2ϕ52ϕ−3sinϕ+ϕcosϕ)(ϕ∧ρ∧ϕ∧ϕ∧+ϕ∧ϕ∧ρ∧ϕ∧),Qr(ξ)=Qℓ(−ξ)=CQℓ(ξ)+(Jℓρ)∧CJℓ
李群微分
- 李群导数定义:李代数求导
此种导数的定义,就是
视觉SLAM十四讲
中提到的李代数求导。
假设 C=exp(ϕ∧)∈SO(3),v∈R3 , 则 ∂ϕ∂(Cv) 为对于 ϕ=(ϕ1,ϕ2,ϕ3) 的导数。根据导数基本定义, 对某一个坐标系基 ei 的导数为:
∂ei∂(Cv)=h→0limhexp((ϕ+hei)∧)v−exp(ϕ∧)v
使用 BCH 公式近似:
exp((ϕ+hei)∧)≈exp((Jlhei)∧)exp(ϕ∧)≈(I+h(Jlei)∧)exp(ϕ∧)=(I+h(Jlei)∧)C
根据上式代入到上式的导数定义,则导数为:
∂ϕi∂(Cv)=(Jlei)∧Cv=(Cv)∧Jlei=(exp(ϕ∧)v)∧Jlei
扩展到整个坐标系
∂ϕ∂(Cv)=(Cv)∧Jl=(exp(ϕ∧)v)∧Jl
具体过程参见十四讲书上定义,直接写结论
∂φ∂(Cv)=−(Cv)∧=−(exp(ϕ∧)v)∧=−(Rv)∧
e_i代表被求导的空间R^m第i个空间基向量,如对笛卡尔三维坐标系下的\mathbf x$ 轴方向求导。
-
对李群函数f(T)求导的右Jacobian
先定义李群上特殊的加法和减法的运算:
加法: T⊕ξ≜TExp(ξ)∈M , 这是对一个李群元素和切空间向量的“求和”, 结果仍然是一个李群元素
减法: T1⊖T2≜Log(T2−1T1)=ξ, 结果是一个切空间向量(在李群元素 T2 对应的李代数切空间中)
根据上面标准的求导形式,也可以定义对李群的求导。形式上看起来是这样的:
∂T∂f(T)JTf(T)≜ξ→0limξf(T⊕ξ)⊖f(T)=ξ→0limξLog(f(T)−1f(TExp(ξ)))=ξ∂Log(f(T)−1f(TExp(ξ)))∣∣ξ=0
这被称为作用在f上的右 Jacoian。
我们希望做的是针对李群 T 对 f(T) 求导,但最终我们得到的极限表达式却是在李群对应的李代数对应切空间上的向量变化求极限。
对李群元素 T 做其对应切空间上的微小变量 ξ 的扰动。

举一个例子:
JTT−1=ξ→0limξLog((T−1)−1(TExp(ξ))−1)=ξ→0limξLog(TExp(−ξ)T−1)=ξ→0limξ(T(−ξ∧)T−1)∨=−Ad(T)
附录: 相关文献
-
A micro Lie theory for state estimation robotics. 前半部分详细介绍了李群、李代数基本概念,以及伴随,同时对李群微分等均做了定义;
-
Stochastic Models, Information Theory, and Lie Groups, Vol. 2 ,第10章介绍了李群的概念和公式,(10.86)给出了SO(3)的雅可比,(10.95)给出了SE(3)的雅可比
-
State Estimation for Robotics, 第7章讲解李群矩阵。 中间的大横表有李群的各种近似计算公式。
-
quaternion kinematics for the error-state kalman filter, 四元数讲解