李群和李代数基础
1. 李群
定义1(群Group):群是一个集合以及该集合上定义的一种运算共同组成的代数结构,我们把非空集合记作 A A A,把运算记作 ⋅ \cdot ⋅,那么群可以记作 G = ( A , ⋅ ) G=(A,\cdot) G=(A,⋅)。对于每个群,要求该群定义的运算满足以下四个条件:
(1)封闭性: ∀ a 1 , a 2 ∈ A , a 1 ⋅ a 2 ∈ A \forall a_1,a_2\in A,a_1\cdot a_2\in A ∀a1,a2∈A,a1⋅a2∈A;
(2)结合律: ∀ a 1 , a 2 , a 3 ∈ A , ( a 1 ⋅ a 2 ) ⋅ a 3 = a 1 ⋅ ( a 2 ⋅ a 3 ) \forall a_1,a_2,a_3 \in A, (a_1\cdot a_2)\cdot a_3=a_1\cdot (a_2\cdot a_3) ∀a1,a2,a3∈A,(a1⋅a2)⋅a3=a1⋅(a2⋅a3);
(3)单位元: ∃ e ∈ A , s . t . ∀ a ∈ A , e ⋅ a = a ⋅ e = a \exist e\in A,s.t. \forall a\in A,e\cdot a=a\cdot e=a ∃e∈A,s.t.∀a∈A,e⋅a=a⋅e=a;
(4)可逆性: ∀ a ∈ A , ∃ a − 1 ∈ A , s . t . a ⋅ a − 1 = a − 1 ⋅ a = e \forall a\in A,\exist a^{-1}\in A,s.t. a\cdot a^{-1}=a^{-1}\cdot a=e ∀a∈A,∃a−1∈A,s.t.a⋅a−1=a−1⋅a=e.
常见的群包括整数的加法 ( Z , + ) (\Z,+) (Z,+);去掉0后的有理数乘法 ( Q ∖ 0 , ⋅ ) (\mathbb{Q}\setminus 0,\cdot) (Q∖0,⋅),该群的单位元为1;旋转矩阵集合和矩阵乘法构成群(旋转矩阵群);变换矩阵和矩阵乘法构成群(变换矩阵群)等等。
给定一个群G,可证群G中的单位元的唯一性。
如果群G的运算还满足可交换性,则该群也称为交换群(Abel群)。
如果群G只含有限多个元素,则该群为有限群,群元的个数称为群G的阶数(order),记作 ∣ G ∣ |G| ∣G∣。如果一个群G中有无限多个元素,则该群称为无限群。
群结构保证了在群上的运算具有良好的性质,而群论则是研究群的各种结构和性质的理论。
定义2(李群Lie Group):指具有连续光滑性质的群,有的文献也说是具有微分功能的群。李群拥有光滑流形的结构并且其群结合运算和求逆运算都是光滑(光滑主要是指其无限可微分的性质)的运算。
例如整数群
(
Z
,
+
)
(\Z,+)
(Z,+)是离散的群,并没有连续性质,所以不是李群。而
S
O
(
n
)
SO(n)
SO(n)和
S
E
(
n
)
SE(n)
SE(n)在实数空间上是连续的,它们可以描述空间中连续运动的刚体。三维空间中的选择矩阵
S
O
(
3
)
SO(3)
SO(3)属于李群并具有如下性质:
S
O
(
3
)
=
{
R
∈
R
3
×
3
:
R
R
T
=
I
,
det
(
R
)
=
1
}
\begin{aligned} SO(3)=\left\{R\in \R^{3 \times 3}:RR^T=I,\det (R)=1\right\} \end{aligned}
SO(3)={R∈R3×3:RRT=I,det(R)=1}
下面我们重点关注矩阵李群,因为它们包含机器人、计算机视觉和信号处理等领域中设计的大部分李群。
定义3(矩阵李群Matrix Lie Group):群元素为矩阵的李群称为矩阵李群,其群乘法和求逆运算分别对应矩阵乘法和矩阵求逆,其单位元对应于矩阵单位元。
注意到欧式空间可以看成一个平凡的矩阵李群。
矩阵中常见的群有:
- 一般线性群 G L ( n ) GL(n) GL(n):指 n × n n\times n n×n的可逆矩阵,它们对矩阵乘法构成群,常见的有 G L ( 3 ) GL(3) GL(3)(invertible matrices)。
- 正交群:所有 n × n n\times n n×n的正交矩阵R构成的一个群,记为 O ( n ) O(n) O(n)。
- 特殊正交群:也称为的旋转矩阵群,指行列式为1的正交矩阵,记为 S O ( n ) SO(n) SO(n)。其中 S O ( 2 ) SO(2) SO(2)和 S O ( 3 ) SO(3) SO(3)(rotation group)最为常见。 S O ( n ) SO(n) SO(n)是 O ( n ) O(n) O(n)的一个正规子群。
- 特殊欧式群:也称为n维欧式变换,记为 S E ( n ) SE(n) SE(n)。常见的有 S E ( 2 ) SE(2) SE(2)和 S E ( 3 ) SE(3) SE(3)(rigid-body motion)。
- 特殊线性群:记为 S L ( n ) SL(n) SL(n),常见的有 S L ( 3 ) SL(3) SL(3)(homography)。
- 特殊酉群:记为 S U ( n ) SU(n) SU(n),常见的有 S U ( 2 ) SU(2) SU(2)(unitary quaternion)。
2. 李代数
李代数所在的空间是与其相关的李群在单位元附近的切空间,所以李代数完全捕获了群的局部结构。李代数是一个向量空间,它是沿切线方向上的群变换在恒等元出进行微分得到的,这个切空间时一个k维向量空间,它的基本元素是 { G 1 , ⋯ , G k } : 生 成 元 \left\{G_1,\cdots,G_k\right\}:生成元 {G1,⋯,Gk}:生成元。切空间在所有群元素上都有相同的结构,每个群元素的切空间之间相互同构,因此我们可以仅仅研究单位元处的切空间。而切向量从一个切空间移动到另外一个切空间时需要进行坐标变换。
定义4 (李代数 Lie Algebra):李代数由一个集合 V V V,一个数域 F \mathbb{F} F和一个二元运算 [ ⋅ , ⋅ ] [\cdot,\cdot] [⋅,⋅]组成。如果它们满足以下三条性质,则称 ( V , F , [ ⋅ , ⋅ ] ) (V,\mathbb{F},[\cdot,\cdot]) (V,F,[⋅,⋅])为一个李代数,记作 g \mathfrak{g} g。
(1)封闭性 ∀ X , Y ∈ V , [ X , Y ] ∈ V \forall X,Y\in V,[X,Y]\in V ∀X,Y∈V,[X,Y]∈V
(2)双线性 ∀ X , Y , Z ∈ V , a b ∈ F \forall X,Y,Z \in V,ab\in \mathbb{F} ∀X,Y,Z∈V,ab∈F,有:
[ a X + b Y , Z ] = a [ X , Z ] + b [ Y , Z ] , [ Z , a X + b Y ] = a [ Z , X ] + b [ Z , Y ] [aX+bY,Z]=a[X,Z]+b[Y,Z],[Z,aX+bY]=a[Z,X]+b[Z,Y] [aX+bY,Z]=a[X,Z]+b[Y,Z],[Z,aX+bY]=a[Z,X]+b[Z,Y]
(3)自反性 ∀ X ∈ V , [ X , X ] = 0 \forall X\in V,[X,X]=0 ∀X∈V,[X,X]=0
(4)雅克比等式 ∀ X , Y , Z ∈ V , [ [ X , Y ] , Z ] + [ Y , [ Z , X ] ] + [ Z , [ X , Y ] ] = 0 \forall X,Y,Z\in V,[[X,Y],Z]+[Y,[Z,X]]+[Z,[X,Y]]=0 ∀X,Y,Z∈V,[[X,Y],Z]+[Y,[Z,X]]+[Z,[X,Y]]=0
其中二元运算被称为李括号,相比于群中较为简单的二元运算,李括号表达了两个元素的差异。它不要求结合律,而是要求元素和自己做李括号运算之后为零的性质。
三维向量 R 3 \R^3 R3上定义的叉乘运算 × \times ×是一种李括号,因此 g = ( R 3 , R , × ) \mathfrak{g}=(\R^3,\R,\times) g=(R3,R,×)构成了一个李代数。
对于这样一个李代数
g
\mathfrak{g}
g,我们把生成元
{
G
i
}
\left\{G_i\right\}
{Gi}的线性组合通过一个向量系数
c
c
c写成
a
l
g
(
c
)
alg(c)
alg(c):
a
l
g
:
R
k
→
g
⊂
R
n
×
n
a
l
g
(
c
)
=
∑
i
=
1
k
c
i
G
i
\begin{aligned}alg: \R^k&\rightarrow \mathfrak{g} \subset \R^{n\times n}\\alg(c)&=\sum_{i=1}^k c_iG_i\end{aligned}
alg:Rkalg(c)→g⊂Rn×n=i=1∑kciGi
我们将该线性组合的唯一逆映射记为
a
l
g
−
1
alg^{-1}
alg−1。
一个切向量实际上是一个 n × n n\times n n×n的矩阵,这可能看起来令人困惑,但它总是可以被认为(并且被表示为)生成元系数组成的向量。
- 切空间是一个和群变换拥有相同自由度的向量空间
- 指数映射刚好把切空间的元素变换到变换群上
- 伴随作用线性化地将切向量从一个切空间转换到另一个切空间。
伴随性质确保了切空间在流形上的所有点都具有相同的结构,因为任意一个切向量总是可以变换到恒等元附近的切空间。
SO(3)是一个光滑流形,与该流形相关联的切空间(在单位元处的切平面)记为 s o ( 3 ) \mathfrak{so}(3) so(3),也即旋转群SO(3)对应的李代数为 s o ( 3 ) \mathfrak{so}(3) so(3), s o ( 3 ) \mathfrak{so}(3) so(3)的元素是的反对称矩阵(注意并不是3维实向量,不过每个3维实向量和一个 3 × 3 3\times 3 3×3的反对称矩阵一一对应,上面定义的映射 a l g alg alg就是完成这个功能)。
对于三维空间中的向量c,我们给出映射 a l g alg alg一个具体的形式:用 ∧ \wedge ∧表示三维向量到反对称矩阵的映射,用 ∨ \vee ∨表示反对称矩阵到三维向量的映射(对应着逆映射 a l g − 1 alg^{-1} alg−1)。
定义一个
∧
\wedge
∧操作符,将
R
3
\R^3
R3中的任意向量映射到李代数空间:
c
∧
=
(
c
1
c
2
c
3
)
∧
=
(
0
−
c
3
c
2
c
2
0
−
c
1
−
c
2
c
1
0
)
∈
s
o
(
3
)
\begin{aligned} c_\wedge=\left(\begin{array}{c}c_1\\c_2\\c_3\end{array}\right)_\wedge =\left(\begin{array}{ccc}0&-c_3&c_2\\c_2&0&-c_1\\-c_2&c_1&0\end{array}\right)\in\mathfrak{so}(3) \end{aligned}
c∧=⎝⎛c1c2c3⎠⎞∧=⎝⎛0c2−c2−c30c1c2−c10⎠⎞∈so(3)
∧
\wedge
∧操作符更原始的与矢量叉乘运算相关:
v
×
w
=
v
∧
w
\begin{aligned} v\times w=v_\wedge w \end{aligned}
v×w=v∧w
由
∧
\wedge
∧操作符定义可知,其具有以下性质:
v
∧
T
=
−
v
∧
v
∧
2
=
v
v
T
−
v
T
v
I
(
C
v
)
∧
=
C
(
v
∧
)
C
\begin{aligned} v_\wedge^T &=-v_\wedge\\ v_\wedge^2&=vv^T-v^TvI\\ (Cv)_\wedge&=C(v_\wedge)C \end{aligned}
v∧Tv∧2(Cv)∧=−v∧=vvT−vTvI=C(v∧)C
同样我们可以定义一个
∨
\vee
∨操作符将反对称矩阵映射为
R
3
\R^3
R3中的向量,即有:
V
=
v
∧
⟺
v
=
V
∨
\begin{aligned} V=v_\wedge \Longleftrightarrow v=V_\vee \end{aligned}
V=v∧⟺v=V∨
∧
\wedge
∧运算符和
∨
\vee
∨运算符构成了3维实向量和
3
×
3
3\times 3
3×3反对称矩阵之间的双射。
3. 指数映射和对数映射
李群和李代数之间存在着对应关系(是否一一对应?当旋转角度在 ( π , π ) (\pi,\pi) (π,π)之间时是一一对应的)。
指数映射把李代数中的元素映射到其对应的李群中的元素。直观地说,它沿着李代数中的切向量所指定的微分方向沿着李群流形。对于矩阵群,指数映射就是简单的矩阵求幂:
E
x
p
:
g
→
G
E
x
p
(
X
)
=
I
+
X
+
1
2
!
X
2
+
1
3
!
X
3
+
⋯
+
1
n
!
X
n
+
⋯
\begin{aligned} Exp: \mathfrak{g}&\rightarrow \mathbf{G}\\ Exp(X)&=I+X+\frac{1}{2!}X^2+\frac{1}{3!}X^3+\cdots+\frac{1}{n!}X^n+\cdots \end{aligned}
Exp:gExp(X)→G=I+X+2!1X2+3!1X3+⋯+n!1Xn+⋯
对于后文描述的很多群,指数映射有一个闭合形式。它总是一个连续映射。
指数映射的逆映射是对数映射:
L
o
g
(
E
x
p
(
X
)
)
=
X
Log(Exp(X))=X
Log(Exp(X))=X
对数映射通常不是处处连续的,但它总是在单位元处连续的。
注意,对于大多数群,包括具有紧子群的所有群,比如旋转群,指数映射和对数映射都不是单射(injective)。
4. 流形上的插值
指数映射和对数映射为插值或混合变换提供了一种直观的方法。考虑李群G上的变换
X
,
Y
∈
G
X,Y\in \mathbf{G}
X,Y∈G和一个插值系数
t
∈
[
0
,
1
]
∈
R
t\in[0,1]\in \R
t∈[0,1]∈R。函数f通过沿着它们之间的测地线稳定移动来混合这两个变换
f
:
G
×
G
×
R
→
G
f
(
X
,
Y
,
t
)
=
E
x
p
(
t
⋅
L
o
g
(
Y
⋅
X
−
1
)
)
⋅
X
⟹
f
(
X
,
Y
,
0
)
=
X
⟹
f
(
X
,
Y
,
1
)
=
Y
⟹
f
(
X
,
Y
,
1
2
)
⋅
X
−
1
=
y
⋅
f
(
X
,
Y
,
1
2
)
−
1
\begin{aligned} f: G\times G \times \R & \rightarrow G\\ f(X,Y,t)&=Exp(t \cdot Log(Y\cdot X^{-1}))\cdot X\\ \Longrightarrow f(X,Y,0)&=X\\ \Longrightarrow f(X,Y,1)&=Y\\ \Longrightarrow f(X,Y,\frac{1}{2})\cdot X^{-1}&=y\cdot f(X,Y,\frac{1}{2})^{-1}\\ \end{aligned}
f:G×G×Rf(X,Y,t)⟹f(X,Y,0)⟹f(X,Y,1)⟹f(X,Y,21)⋅X−1→G=Exp(t⋅Log(Y⋅X−1))⋅X=X=Y=y⋅f(X,Y,21)−1
5. 伴随表示
考虑李代数
g
\mathfrak{g}
g上的切向量
a
,
b
∈
g
a,b\in \mathfrak{g}
a,b∈g和李群中的一个群元素
X
∈
G
X\in\mathbf{G}
X∈G。我们怎么可以选择一个b满足以下关系:
E
x
p
(
b
)
⋅
X
=
X
⋅
E
x
p
(
b
)
\begin{aligned} Exp(b)\cdot X=X\cdot Exp(b) \end{aligned}
Exp(b)⋅X=X⋅Exp(b)
在上式两边同时右程
X
−
1
X^{-1}
X−1则可以产生一个共轭
E
x
p
(
b
)
⋅
=
X
⋅
E
x
p
(
b
)
⋅
X
−
1
\begin{aligned} Exp(b)\cdot =X\cdot Exp(b)\cdot X^{-1} \end{aligned}
Exp(b)⋅=X⋅Exp(b)⋅X−1
然后我们通过对数映射计算出b
b
=
L
o
g
(
X
⋅
E
x
p
(
b
)
⋅
X
−
1
)
\begin{aligned} b=Log(X\cdot Exp(b)\cdot X^{-1}) \end{aligned}
b=Log(X⋅Exp(b)⋅X−1)
事实上,利用伴随表示可以得到相同的结果。一个k自由度的群
G
∈
R
n
G\in\R^n
G∈Rn有同构表示,可以作为李代数
g
g
g上线性变换的群,称为伴随(adjoint):
X
∈
G
a
∈
g
A
d
j
X
:
g
→
g
A
d
j
X
(
a
)
=
X
⋅
a
⋅
X
−
1
∈
g
\begin{aligned} X&\in G\\ a&\in \mathfrak{g}\\ Adj_X:\mathfrak{g}&\rightarrow \mathfrak{g}\\ Adj_X(a)&=X\cdot a \cdot X^{-1}\in\mathfrak{g} \end{aligned}
XaAdjX:gAdjX(a)∈G∈g→g=X⋅a⋅X−1∈g
共轭给出群的作用,而群的作用是线性的:对于任意两个标量和,有
A
d
j
X
(
α
a
1
+
β
a
2
)
=
X
⋅
(
α
a
1
+
β
a
2
)
⋅
X
−
1
=
α
X
⋅
a
1
⋅
X
−
1
+
β
X
⋅
a
2
⋅
X
−
1
=
α
A
d
j
X
(
a
1
)
+
β
A
d
j
X
(
a
2
)
\begin{aligned} Adj_X(\alpha a_1+\beta a_2)&=X\cdot (\alpha a_1+\beta a_2) \cdot X^{-1}\\ &=\alpha X\cdot a_1 \cdot X^{-1}+\beta X\cdot a_2\cdot X^{-1}\\ &=\alpha Adj_X(a_1)+\beta Adj_X(a_2) \end{aligned}
AdjX(αa1+βa2)=X⋅(αa1+βa2)⋅X−1=αX⋅a1⋅X−1+βX⋅a2⋅X−1=αAdjX(a1)+βAdjX(a2)
群在其李代数上的这个表示被称为群的伴随表示(adjoint representation)。
定义1
A
d
j
X
Adj_X
AdjX为李群伴随算子,对其自身或李代数产生伴随作用。
注释1
A
d
j
X
Adj_X
AdjX本身是一个矩阵,也是李群元素。在SO(3)可写为
3
×
3
3\times 3
3×3矩阵R,在SE(3)可写为
4
×
4
4\times 4
4×4的矩阵H或
6
×
6
6\times 6
6×6的矩阵N。
定义2 设李代数矩阵向量空间元素为X,其李群算子作用于该李代数元素的伴随作用为共轭运算,即
A
d
j
X
(
g
)
=
X
g
X
−
1
Adj_X(\mathfrak{g})=X\mathfrak{g}X^{-1}
AdjX(g)=XgX−1。
定义3 设李代数
s
e
(
3
)
\mathfrak{se}(3)
se(3)的六维向量形式元素为S,其李群算子作用于该李代数元素的伴随作用为左作用,即
A
d
j
X
(
S
)
=
N
S
Adj_X(S)=NS
AdjX(S)=NS。类似于定义2,其计算可以写成
a
l
g
(
A
d
j
X
(
S
)
)
=
X
(
a
l
g
(
S
)
)
X
−
1
alg(Adj_X(S))=X(alg(S))X^{-1}
alg(AdjX(S))=X(alg(S))X−1:
定义4 李群对自身或其李代数矩阵表示的伴随作用为共轭,对其李代数向量形式元素的伴随作用通过左作用完成。
注释2 为了方便,大多数将李代数表示为其生成向量(
a
l
g
alg
alg可以将生成向量映射为李代数,生成向量通过与生成元结合可以表示李代数中的元素)。因此很多情况下写成如下形式:
A
d
j
X
(
c
)
=
X
a
l
g
(
c
)
X
−
1
Adj_X(c)=Xalg(c)X^{-1}
AdjX(c)=Xalg(c)X−1。在相关文献中主要理解其物理含义,表达方式可能不是特别清楚!
伴随表示的元素通常称为 k × k k\times k k×k矩阵,作用于李代数 g \mathfrak{g} g中元素的系数向量。伴随表示保留了G的群结构:
X
,
Y
∈
G
A
d
j
X
⋅
Y
=
A
d
j
X
⋅
A
d
j
Y
A
d
j
X
−
1
=
A
d
j
X
−
1
\begin{aligned} X,Y&\in G\\ Adj_{X\cdot Y}&=Adj_X \cdot Adj_Y\\ Adj_{X^{-1}}&=Adj_X^{-1} \end{aligned}
X,YAdjX⋅YAdjX−1∈G=AdjX⋅AdjY=AdjX−1
回到我们的动机问题上,我们用伴随表示来定义
b
b
b
b
=
A
d
j
X
(
a
)
⟹
E
x
p
(
b
)
=
X
⋅
E
x
p
(
a
)
⋅
X
−
1
⟹
E
x
p
(
b
)
⋅
X
=
X
⋅
E
x
p
(
a
)
\begin{aligned} b&=Adj_X(a)\\ \Longrightarrow Exp(b)&=X\cdot Exp(a) \cdot X^{-1}\\ \Longrightarrow Exp(b) \cdot X&=X\cdot Exp(a) \end{aligned}
b⟹Exp(b)⟹Exp(b)⋅X=AdjX(a)=X⋅Exp(a)⋅X−1=X⋅Exp(a)
因此伴随矩阵就是切向量通过群元素变换后的雅克比矩阵:
c
∈
R
k
X
∈
G
f
:
G
×
R
k
→
R
k
f
(
X
,
c
)
=
a
l
g
−
1
(
L
o
g
(
X
⋅
E
x
p
(
a
l
g
(
c
)
)
⋅
X
−
1
)
)
∂
f
∂
c
∣
c
=
0
=
A
d
j
X
\begin{aligned} c&\in \R^k\\ X&\in G\\ f:G\times \R^k &\rightarrow \R^k\\ f(X,c)&=alg^{-1}(Log(X\cdot Exp( alg(c) ) \cdot X^{-1} ))\\ \frac{\partial f}{\partial c}|_{c=0}&=Adj_X \end{aligned}
cXf:G×Rkf(X,c)∂c∂f∣c=0∈Rk∈G→Rk=alg−1(Log(X⋅Exp(alg(c))⋅X−1))=AdjX
6. R n \R^n Rn上的群作用
给群G在
R
n
×
n
\R^{n\times n}
Rn×n空间中的一个矩阵表示,那么存在着一个通过乘法作用于向量空间
R
n
\R^n
Rn(相当于投影空间
P
n
−
1
\mathbb{P}^{n-1}
Pn−1)的自然作用
X
∈
G
X
:
R
n
→
R
n
X
(
v
)
=
X
⋅
v
\begin{aligned} X&\in G\\ X:\R^n &\rightarrow \R^n\\ X(v)&=X\cdot v \end{aligned}
XX:RnX(v)∈G→Rn=X⋅v
对于下文中描述的群,通过矩阵乘法进行的这个群作用生成了一个关于二维或三维欧几里得空间或摄影空间中的点或线的变换。例如,SE(2)元素对
P
2
\mathbb{P}^2
P2(二维平面,
R
3
\R^3
R3中的齐次坐标)的群作用是平面坐标的旋转和平移。
这个群作用的雅克比矩阵在恒等元周围的群微分是用群代数的k个生成元来计算的:
p
∈
R
n
c
∈
R
k
f
(
c
,
p
)
=
E
x
p
(
a
l
g
(
c
)
)
⋅
p
∂
f
∂
c
∣
c
=
0
=
(
G
1
⋅
p
∣
G
2
⋅
p
∣
⋯
∣
G
k
⋅
p
)
∈
R
n
×
k
\begin{aligned} p&\in \R^n\\ c&\in \R^k\\ f(c,p)&=Exp( alg(c) ) \cdot p\\ \frac{\partial f}{\partial c}|_{c=0}&=(G_1\cdot p |G_2\cdot p|\cdots|G_k\cdot p)\in \R^{n\times k} \end{aligned}
pcf(c,p)∂c∂f∣c=0∈Rn∈Rk=Exp(alg(c))⋅p=(G1⋅p∣G2⋅p∣⋯∣Gk⋅p)∈Rn×k