李群李代数基础
本文档推导了表示二维空间和三维空间中转换的李群常用公式。
李群 一个拓扑群,它也是一个光滑流形,还有一些其它的良好性质。与每个李群相关的是其李代数,它是下文中我们将要讨论的一个向量空间。重要的是,一个李群和它的李代数时密切相关的,允许李群和李代数之间的映射能进行有效的计算。
本文档没有对李群进行严格的介绍,也没有讨论李群的所有数学细节。它试图提供足够的信息,表示空间变换的李群可以在机器人和计算机视觉等领域中使用。
以下是本文档涉及的李群:
群 | 描述 | 维度 | 矩阵表示 |
---|---|---|---|
SO(2) | 二维旋转 | 1 | 二维旋转矩阵 |
SE(2) | 二维刚体变换 | 3 | 同态3维向量上的线性变换 |
Sim(2) | 二维相似变换(刚体运动+尺度) | 4 | 同态3维向量上的线性变换 |
Aff(2) | 二维仿射变换 | 6 | 二维仿射变换群 |
SO(3) | 三维旋转 | 3 | 三维旋转矩阵 |
SE(3) | 三维刚体变换 | 6 | 同态4维向量上的线性变换 |
Sim(3) | 三维相似变换(刚体运动+尺度) | 7 | 同态4维向量上的线性变换 |
SL(3) | 8 | 单位行列(unit-determinant)式线性变换 | |
对于每一个这样的群,本文档描述了它们的表示形式以及和李代数之间的转换关系,并推导了它们的指数映射、对数映射和伴随关系。
符号约定
∧ \wedge ∧: a l g alg alg | 将向量映射为李代数表示的矩阵 ,向量中的关于旋转的分量有时在第二个有时在第一个! |
---|---|
∨ \vee ∨: a l g − 1 alg^{-1} alg−1 | 将李代数表示的矩阵映射为向量 |
exp | 标量的指数映射 |
log | 标量的对数映射 |
Exp | 矩阵的指数映射,特别是将李代数表示的矩阵映射为李群表示的矩阵 |
Log | 矩阵的对数映射,特别是将李群表示的矩阵映射为李代数表示的矩阵 |
g \mathfrak{g} g | 李代数 |
G \mathbf{G} G | 李群 |
1. 机器人和计算机视觉中为什么使用李群?
机器人技术和计算机视觉中的许多问题都设计到三维几何中的计算(operation)和估计。没有一个连贯和鲁棒的框架来表示和处理三维变换,这些任务既繁重又巨大。变换必须被结合,求逆,微分和内插。李群及其相关的机制解决了所有这些运算(operation)并且以有原则的方式完成,因此,一旦这样的直觉得到发展,它就能很好地被遵循。
2. 一般性质
2.1 矩阵李群
李群 G G G既是一个光滑可微流形又是一个群。本文处理的李群均为实矩阵群;群元素可以表示为 R n × n \R^{n\times n} Rn×n中的矩阵。群的乘法运算和逆运算等价于矩阵的乘法运算和逆运算。由于每个群可以由非奇异 n × n n\times n n×n矩阵的一个特定子类表示,因此其自由度小于 n 2 n^2 n2。
2.2 李代数
每个李群都有一个相关的李代数,它是群在单位元附近的切空间。也就是说,李代数是一个向量空间,它是沿切线方向上的群变换在恒等元处进行微分得到的。切空间在所有群元素上都有相同的结构,每个群元素的切空间之间相互同构,因此我们可以仅仅研究单位元处的切空间。而切向量从一个切空间移动到另外一个切空间时会进行坐标变换。
考虑 R n × n \R^{n\times n} Rn×n中表示的一个具有k自由度的李群 G G G。李代数 g \mathfrak{g} g是李群G在单位元附近的微分变换的空间-切空间。这个切空间是一个k维向量空间,它的基元素是 { G 1 , ⋯ , G k } : 生 成 元 \left\{G_1,\cdots,G_k\right\}:生成元 {G1,⋯,Gk}:生成元。李代数 g \mathfrak{g} g的元素在中表示为矩阵,但是是在加法和标量乘法下,而不是在矩阵乘法下。李代数的基本元素称为生成元,所有切向量可以表示为生成元的线性组合。
2.3 non-commutativity
2.3.1 Adjoint representation
The Adjoint representation of G on
R
n
\mathbb{R}^n
Rn is defined as the operator
A
d
G
Ad_G
AdG:
A
d
G
(
X
)
a
=
[
X
[
a
]
G
∧
X
−
1
]
G
∨
,
X
∈
G
and
a
,
b
∈
R
n
Ad_G(X)a=[X[a]_G^{\wedge}X^{-1}]_G^{\vee}, \text{$X\in G$ and $a,b\in\mathbb{R}^n$}
AdG(X)a=[X[a]G∧X−1]G∨,X∈G and a,b∈Rn
The Adjoint representation of G on
g
\mathfrak{g}
g is defined as the linear operator
A
d
G
Ad_G
AdG, it captures properties related to commutation:
exp
G
(
[
A
d
G
(
X
)
a
]
G
∧
)
X
=
exp
G
(
X
[
a
]
G
∧
X
−
1
)
X
=
X
exp
G
(
[
a
]
G
∧
)
,
X
∈
G
and
a
,
b
∈
R
n
\exp_G([Ad_G(X)a]_G^{\wedge})X=\exp_G(X[a]_G^{\wedge}X^{-1})X=X\exp_G([a]_G^{\wedge}), \text{$X\in G$ and $a,b\in\mathbb{R}^n$}
expG([AdG(X)a]G∧)X=expG(X[a]G∧X−1)X=XexpG([a]G∧),X∈G and a,b∈Rn
The Adjoint representation
A
d
G
⊂
R
n
×
n
Ad_G\subset \mathbb{R}^{n\times n}
AdG⊂Rn×n of G on
R
n
\mathbb{R}^n
Rn is defined as
exp
G
(
[
a
]
G
∧
)
X
=
X
exp
G
(
[
A
d
G
(
X
−
1
)
a
]
G
∧
)
\exp_G([a]_G^{\wedge})X=X\exp_G([Ad_G(X^{-1})a]_G^{\wedge})
expG([a]G∧)X=XexpG([AdG(X−1)a]G∧)
2.3.2 adjoint representation
The adjoint representation of G on
R
n
\mathbb{R}^n
Rn is defined as the operator
a
d
G
ad_G
adG:
a
d
G
(
a
)
b
=
[
[
a
]
G
∧
[
b
]
G
∧
−
[
b
]
G
∧
[
a
]
G
∧
]
G
∨
ad_G(a)b=[[a]_G^{\wedge}[b]_G^{\wedge}-[b]_G^{\wedge}[a]_G^{\wedge}]_G^{\vee}
adG(a)b=[[a]G∧[b]G∧−[b]G∧[a]G∧]G∨
3. SO(2)
3.1 描述及表示
SO(2)是二维平面上的旋转群。它的自由度为1:旋转角度。该群是可交换群。它的逆是它的转置:
X
∈
S
O
(
2
)
⊂
R
2
×
2
X
−
1
=
X
T
\begin{aligned} X &\in SO(2)\subset \R^{2\times 2}\\ X^{-1}&=X^T \end{aligned}
XX−1∈SO(2)⊂R2×2=XT
3.2 李代数
李代数
s
o
(
2
)
\mathfrak{so}(2)
so(2)由反对称元素生成,对应于可微的旋转生成元(连续旋转):
G
1
=
(
0
−
1
1
0
)
\begin{aligned} G_1=\left(\begin{array}{cc}0&-1\\1&0\end{array}\right) \end{aligned}
G1=(01−10)
李代数中的元素可以由生成元乘以一个标量得到:
θ
∈
R
θ
G
1
∈
s
o
(
2
)
\begin{aligned} \theta \in \R\\ \theta G_1\in \mathfrak{so}(2) \end{aligned}
θ∈RθG1∈so(2)
3.3 指数映射和对数映射
从李代数
s
o
(
2
)
\mathfrak{so}(2)
so(2)到李群
S
O
(
2
)
SO(2)
SO(2)的指数映射是一个矩阵的指数映射,其结果是一个二维平面的旋转矩阵:
E
x
p
(
a
l
g
(
θ
)
)
=
E
x
p
(
0
−
θ
θ
0
)
=
I
+
θ
∧
+
1
2
!
θ
∧
2
+
1
3
!
θ
∧
3
+
⋯
=
I
+
(
0
−
θ
θ
0
)
+
1
2
!
(
−
θ
2
0
0
−
θ
2
)
+
1
3
!
(
0
θ
3
−
θ
3
0
)
+
⋯
=
(
cos
θ
−
sin
θ
cos
θ
cos
θ
)
\begin{aligned} Exp(alg(\theta))&=Exp\left(\begin{array}{cc}0&-\theta\\\theta&0\end{array}\right)\\ &=I+\theta_\wedge+\frac{1}{2!}\theta_\wedge^2+\frac{1}{3!}\theta_\wedge^3+\cdots \\ &=I+\left(\begin{array}{cc}0&-\theta\\\theta&0\end{array}\right)+ \frac{1}{2!}\left(\begin{array}{cc}-\theta^2&0\\0&-\theta^2\end{array}\right)+ \frac{1}{3!}\left(\begin{array}{cc}0&\theta^3\\-\theta^3&0\end{array}\right)+\cdots \\ &=\left(\begin{array}{cc}\cos\theta&-\sin\theta\\\cos\theta&\cos\theta\end{array}\right) \end{aligned}
Exp(alg(θ))=Exp(0θ−θ0)=I+θ∧+2!1θ∧2+3!1θ∧3+⋯=I+(0θ−θ0)+2!1(−θ200−θ2)+3!1(0−θ3θ30)+⋯=(cosθcosθ−sinθcosθ)
对数映射可以很简单的通过
S
O
(
2
)
SO(2)
SO(2)的元素通过反三角函数得到。
3.4 伴随表示
SO(2)的伴随表示是平凡的(由于平面上的旋转是可交换的,因此SO(2)的伴随表示是恒等元):
X
=
(
a
−
b
b
a
)
∈
S
O
(
2
)
,
a
2
+
b
2
=
1
A
d
j
X
(
a
l
g
(
θ
)
)
=
X
⋅
a
l
g
(
θ
)
⋅
X
−
1
定义2
=
(
0
−
θ
θ
0
)
=
a
l
g
(
θ
)
⟹
A
d
j
X
=
I
\begin{aligned} X=\left(\begin{array}{cc}a&-b\\ b&a\end{array}\right)&\in SO(2),a^2+b^2=1\\ Adj_X(alg(\theta))&=X\cdot alg(\theta)\cdot X^{-1}&\text{定义2}\\ &=\left(\begin{array}{cc}0&-\theta\\\theta&0\end{array}\right)\\ &=alg(\theta)\\ \Longrightarrow Adj_X&=I \end{aligned}
X=(ab−ba)AdjX(alg(θ))⟹AdjX∈SO(2),a2+b2=1=X⋅alg(θ)⋅X−1=(0θ−θ0)=alg(θ)=I定义2
如果按照定义3来计算,则 a l g ( A d j X ( θ ) ) = a l g ( θ ) → A d j X = 1 alg(Adj_X(\theta))=alg(\theta)\rightarrow Adj_X=1 alg(AdjX(θ))=alg(θ)→AdjX=1。
因为平面中旋转变换是可交换的,因此SO(2)的伴随作用是恒等函数(identity function)。
4. SE(2)
4.1 描述及表示
SE(2)是二维平面的刚体变换群,也是半直积
S
O
(
2
)
⋉
R
2
SO(2)\ltimes\R^2
SO(2)⋉R2。它有三个自由度:平移对应2个自由度,旋转对应1个自由度。它的子群包括
S
O
(
2
)
SO(2)
SO(2)。
R
∈
S
O
(
2
)
t
∈
R
2
X
=
(
R
t
0
1
×
2
1
)
∈
S
E
(
2
)
⊂
R
3
×
3
X
−
1
=
(
R
T
−
R
T
t
0
1
×
2
1
)
\begin{aligned} R&\in SO(2)\\ t&\in \R^2\\ X=\left(\begin{array}{cc}R&t\\0_{1\times 2}&1\end{array}\right) &\in SE(2)\subset\R^{3\times 3}\\ X^{-1}&=\left(\begin{array}{cc}R^T&-R^Tt\\0_{1\times 2}&1\end{array}\right) \end{aligned}
RtX=(R01×2t1)X−1∈SO(2)∈R2∈SE(2)⊂R3×3=(RT01×2−RTt1)
4.2 李代数
李代数
s
e
(
2
)
\mathfrak{se}(2)
se(2)有三个生成元
G
1
=
(
0
0
1
0
0
0
0
0
0
)
,
G
2
=
(
0
0
0
0
0
1
0
0
0
)
,
G
3
=
(
0
−
1
0
1
0
0
0
0
0
)
\begin{aligned} G_1=\left(\begin{array}{ccc}0&0&1\\0&0&0\\0&0&0\end{array}\right), G_2=\left(\begin{array}{ccc}0&0&0\\0&0&1\\0&0&0\end{array}\right), G_3=\left(\begin{array}{ccc}0&-1&0\\1&0&0\\0&0&0\end{array}\right) \end{aligned}
G1=⎝⎛000000100⎠⎞,G2=⎝⎛000000010⎠⎞,G3=⎝⎛010−100000⎠⎞
李代数中的元素可以表示成生成元的线性组合:
(
u
1
,
u
2
,
θ
)
T
∈
R
3
u
1
G
1
+
u
2
G
2
+
θ
G
3
=
(
0
−
θ
u
1
θ
0
u
2
0
0
0
)
∈
s
e
(
2
)
\begin{aligned} (u_1,u_2,\theta)^T\in \R^3\\ u_1G_1+u_2G_2+\theta G_3=\left(\begin{array}{ccc}0&-\theta&u_1 \\ \theta&0&u_2\\0&0&0\end{array}\right)\in \mathfrak{se}(2) \end{aligned}
(u1,u2,θ)T∈R3u1G1+u2G2+θG3=⎝⎛0θ0−θ00u1u20⎠⎞∈se(2)
4.3 指数映射和对数映射
从李代数
s
e
(
2
)
\mathfrak{se}(2)
se(2)到李群SE(2)的指数映射有一个闭合形式:
v
=
(
θ
x
y
)
∈
R
3
R
=
(
cos
θ
−
sin
θ
cos
θ
cos
θ
)
V
=
(
sin
θ
θ
−
1
−
cos
θ
θ
1
−
cos
θ
θ
sin
θ
θ
)
E
x
p
(
a
l
g
(
v
)
)
=
E
x
p
(
0
−
θ
x
θ
0
y
0
0
0
)
=
(
R
V
⋅
(
x
y
)
0
1
×
2
1
)
\begin{aligned} v&=\left(\begin{array}{c}\theta\\x\\y\end{array}\right) \in \R^3 \\ R&=\left(\begin{array}{cc}\cos\theta&-\sin\theta\\\cos\theta&\cos\theta\end{array}\right)\\ V&=\left(\begin{array}{cc}\frac{\sin\theta}{\theta}&-\frac{1-\cos\theta}{\theta}\\\frac{1-\cos\theta}{\theta}&\frac{\sin\theta}{\theta}\end{array}\right)\\ Exp(alg(v))=Exp\left(\begin{array}{ccc}0&-\theta&x \\ \theta&0&y\\0&0&0\end{array}\right) &=\left(\begin{array}{cc}R& V\cdot \left(\begin{array}{c}x\\y \end{array}\right) \\0_{1\times 2}&1\end{array}\right) \end{aligned}
vRVExp(alg(v))=Exp⎝⎛0θ0−θ00xy0⎠⎞=⎝⎛θxy⎠⎞∈R3=(cosθcosθ−sinθcosθ)=(θsinθθ1−cosθ−θ1−cosθθsinθ)=⎝⎛R01×2V⋅(xy)1⎠⎞
V是R的左雅克比矩阵。当
θ
\theta
θ是小量的时候,V的每个元素可以通过泰勒级数展开求解。
4.4 伴随表示
X = ( R t 0 1 × 2 1 ) = ( R ( t 1 t 2 ) 0 1 × 2 1 ) ∈ S E ( 2 ) A d j X = ( ( t 2 − t 1 ) R 1 0 1 × 2 ) \begin{aligned} X&=\left(\begin{array}{cc}R&t\\0_{1\times 2}&1\end{array}\right)=\left(\begin{array}{cc}R&\left(\begin{array}{c}t_1\\t_2 \end{array}\right)\\0_{1\times 2}&1\end{array}\right) \in SE(2)\\ Adj_X&=\left(\begin{array}{cc}\left(\begin{array}{c}t_2\\-t_1 \end{array}\right)&R\\1&0_{1\times 2}\end{array}\right) \end{aligned} XAdjX=(R01×2t1)=⎝⎛R01×2(t1t2)1⎠⎞∈SE(2)=⎝⎛(t2−t1)1R01×2⎠⎞
如果 v = ( x y θ ) ∈ R 3 v=\left(\begin{array}{c}x\\y\\\theta\end{array}\right) \in \R^3 v=⎝⎛xyθ⎠⎞∈R3,则 A d j X = ( R ( t 2 − t 1 ) 0 1 × 2 1 ) Adj_X=\left(\begin{array}{cc}R&\left(\begin{array}{c}t_2\\-t_1 \end{array}\right)\\0_{1\times 2}&1\end{array}\right) AdjX=⎝⎛R01×2(t2−t1)1⎠⎞。
5. Sim(2)
5.1 描述及表示
Sim(2)是二维平面上保持方向相似变换的群,也是半直积
S
E
(
2
)
⋊
R
∗
SE(2)\rtimes \R^*
SE(2)⋊R∗。它有4个自由度:平移有2个自由度,旋转有1个自由度,尺度对应1个自由度。它的子群包括:
S
E
(
2
)
SE(2)
SE(2)和
R
∗
R^*
R∗。
R
∈
S
O
(
2
)
t
∈
R
2
X
=
(
R
t
0
1
×
2
s
−
1
)
∈
S
i
m
(
2
)
⊂
R
3
×
3
X
−
1
=
(
R
T
−
s
R
T
t
0
1
×
2
s
)
\begin{aligned} R&\in SO(2)\\ t&\in \R^2\\ X=\left(\begin{array}{cc}R&t\\0_{1\times 2}&s^{-1}\end{array}\right) &\in Sim(2)\subset\R^{3\times 3}\\ X^{-1}&=\left(\begin{array}{cc}R^T&-sR^Tt\\0_{1\times 2}&s\end{array}\right) \end{aligned}
RtX=(R01×2ts−1)X−1∈SO(2)∈R2∈Sim(2)⊂R3×3=(RT01×2−sRTts)
5.2 李代数
李代数
s
i
m
(
2
)
\mathfrak{sim}(2)
sim(2)有4个生成元:
G
1
=
(
0
0
1
0
0
0
0
0
0
)
,
G
2
=
(
0
0
0
0
0
1
0
0
0
)
,
G
3
=
(
0
−
1
0
1
0
0
0
0
0
)
,
G
4
=
(
0
0
0
0
0
0
0
0
−
1
)
\begin{aligned} G_1=\left(\begin{array}{ccc}0&0&1\\0&0&0\\0&0&0\end{array}\right), G_2=\left(\begin{array}{ccc}0&0&0\\0&0&1\\0&0&0\end{array}\right), G_3=\left(\begin{array}{ccc}0&-1&0\\1&0&0\\0&0&0\end{array}\right), G_4=\left(\begin{array}{ccc}0&0&0\\0&0&0\\0&0&-1\end{array}\right) \end{aligned}
G1=⎝⎛000000100⎠⎞,G2=⎝⎛000000010⎠⎞,G3=⎝⎛010−100000⎠⎞,G4=⎝⎛00000000−1⎠⎞
5.3 指数映射和对数映射
从李代数
s
i
m
(
2
)
\mathfrak{sim}(2)
sim(2)到李群
S
i
m
(
2
)
Sim(2)
Sim(2)的指数映射得到一个闭合形式结果:
v
=
(
x
y
θ
λ
)
∈
R
4
R
=
(
cos
θ
−
sin
θ
cos
θ
cos
θ
)
A
=
sin
θ
θ
B
=
1
−
cos
θ
θ
C
=
θ
−
sin
θ
θ
3
α
=
λ
2
λ
2
+
θ
2
s
=
e
λ
X
=
α
(
1
−
s
−
1
λ
)
+
(
1
−
α
)
(
A
−
λ
B
)
Y
=
α
(
s
−
1
−
1
+
λ
λ
2
)
+
(
1
−
α
)
(
B
−
λ
C
)
V
=
(
X
−
θ
Y
θ
Y
X
)
E
x
p
(
a
l
g
(
v
)
)
=
E
x
p
(
0
−
θ
x
θ
0
y
0
0
−
λ
)
=
(
R
V
⋅
(
x
y
)
0
1
×
2
s
−
1
)
\begin{aligned} v&=\left(\begin{array}{c}x\\y\\\theta\\\lambda\end{array}\right) \in \R^4\\ \\ R&=\left(\begin{array}{cc}\cos\theta&-\sin\theta\\\cos\theta&\cos\theta\end{array}\right)\\ A&=\frac{\sin\theta}{\theta}\\ B&=\frac{1-\cos\theta}{\theta}\\ C&=\frac{\theta-\sin\theta}{\theta^3}\\ \alpha&=\frac{\lambda^2}{\lambda^2+\theta^2}\\ s&=e^\lambda\\ X&=\alpha(\frac{1-s^{-1}}{\lambda})+(1-\alpha)(A-\lambda B)\\ Y&=\alpha(\frac{s^{-1}-1+\lambda}{\lambda^2})+(1-\alpha)(B-\lambda C)\\ V&=\left(\begin{array}{cc}X &-\theta Y\\\theta Y&X\end{array}\right)\\ Exp(alg(v))=Exp\left(\begin{array}{ccc}0&-\theta&x \\ \theta&0&y\\0&0&-\lambda\end{array}\right) &=\left(\begin{array}{cc}R& V\cdot \left(\begin{array}{c}x\\y \end{array}\right) \\0_{1\times 2}&s^{-1}\end{array}\right) \end{aligned}
vRABCαsXYVExp(alg(v))=Exp⎝⎛0θ0−θ00xy−λ⎠⎞=⎝⎜⎜⎛xyθλ⎠⎟⎟⎞∈R4=(cosθcosθ−sinθcosθ)=θsinθ=θ1−cosθ=θ3θ−sinθ=λ2+θ2λ2=eλ=α(λ1−s−1)+(1−α)(A−λB)=α(λ2s−1−1+λ)+(1−α)(B−λC)=(XθY−θYX)=⎝⎛R01×2V⋅(xy)s−1⎠⎞
当
θ
\theta
θ和
λ
\lambda
λ比较小的时候,V中的元素可以通过泰勒级数展开计算。
5.4 伴随表示
X = ( R t 0 1 × 2 s − 1 ) = ( R ( t 1 t 2 ) 0 1 × 2 s − 1 ) ∈ S i m ( 2 ) A d j X = ( s R s ( t 2 − t 1 − t 1 − t 2 ) 0 2 × 2 I 2 × 2 ) \begin{aligned} X&=\left(\begin{array}{cc}R&t\\0_{1\times 2}&s^{-1}\end{array}\right)=\left(\begin{array}{cc}R&\left(\begin{array}{c}t_1\\t_2 \end{array}\right)\\0_{1\times 2}&s^{-1}\end{array}\right) \in Sim(2)\\ Adj_X&=\left(\begin{array}{cc}sR&s\left(\begin{array}{cc}t_2&-t_1\\-t_1&-t_2 \end{array}\right)\\0_{2\times2}&I_{2\times2}\end{array}\right) \end{aligned} XAdjX=(R01×2ts−1)=⎝⎛R01×2(t1t2)s−1⎠⎞∈Sim(2)=⎝⎛sR02×2s(t2−t1−t1−t2)I2×2⎠⎞
6. A f f ( 2 ) Aff(2) Aff(2)
6.1 描述及表示、
A
f
f
(
2
)
Aff(2)
Aff(2)是二维平面上的一个仿射变换群。它有6个自由度:平移对应2个自由度,旋转对应1个自由度,缩放(尺度,scale)对应1个自由度,拉伸(stretch)对应1个自由度,剪切(shear)对应1个自由度。它的子群包括
S
i
m
(
2
)
Sim(2)
Sim(2)。
X
=
(
A
t
0
1
×
2
1
)
∈
A
f
f
(
2
)
⊂
R
3
×
3
X
−
1
=
(
A
T
−
A
T
t
0
1
×
2
1
)
\begin{aligned} X=\left(\begin{array}{cc}A&t\\0_{1\times 2}&1\end{array}\right) &\in Aff(2)\subset\R^{3\times 3}\\ X^{-1}&=\left(\begin{array}{cc}A^T&-A^Tt\\0_{1\times 2}&1\end{array}\right) \end{aligned}
X=(A01×2t1)X−1∈Aff(2)⊂R3×3=(AT01×2−ATt1)
6.2 李代数
李代数
a
f
f
(
2
)
\mathfrak{aff}(2)
aff(2)有6个生成元:
G
1
=
(
0
0
1
0
0
0
0
0
0
)
,
G
2
=
(
0
0
0
0
0
1
0
0
0
)
,
G
3
=
(
0
−
1
0
1
0
0
0
0
0
)
,
G
4
=
(
1
0
0
0
1
0
0
0
0
)
,
G
5
=
(
1
0
0
0
−
1
0
0
0
0
)
,
G
6
=
(
0
1
0
1
0
0
0
0
0
)
\begin{aligned} G_1=\left(\begin{array}{ccc}0&0&1\\0&0&0\\0&0&0\end{array}\right), G_2=\left(\begin{array}{ccc}0&0&0\\0&0&1\\0&0&0\end{array}\right), G_3=\left(\begin{array}{ccc}0&-1&0\\1&0&0\\0&0&0\end{array}\right),\\ G_4=\left(\begin{array}{ccc}1&0&0\\0&1&0\\0&0&0\end{array}\right), G_5=\left(\begin{array}{ccc}1&0&0\\0&-1&0\\0&0&0\end{array}\right), G_6=\left(\begin{array}{ccc}0&1&0\\1&0&0\\0&0&0\end{array}\right) \end{aligned}
G1=⎝⎛000000100⎠⎞,G2=⎝⎛000000010⎠⎞,G3=⎝⎛010−100000⎠⎞,G4=⎝⎛100010000⎠⎞,G5=⎝⎛1000−10000⎠⎞,G6=⎝⎛010100000⎠⎞
6.3 指数映射和对数映射
从李代数 a f f ( 2 ) \mathfrak{aff}(2) aff(2)到李群 A f f ( 2 ) Aff(2) Aff(2)的指数映射没有闭合形式。它可以用任何一般的矩阵指数例程计算。对数映射也是一样的。
6.4 伴随表示
记
X
=
(
A
t
0
1
×
2
1
)
=
(
a
b
x
c
d
y
0
0
1
)
∈
A
f
f
(
2
)
⊂
R
3
×
3
E
=
(
A
t
0
1
×
2
1
)
\begin{aligned} X=\left(\begin{array}{cc}A&t\\0_{1\times 2}&1\end{array}\right)=\left(\begin{array}{ccc}a&b&x\\c&d&y\\0&0&1\end{array}\right) &\in Aff(2)\subset\R^{3\times 3}\\ E&=\left(\begin{array}{cc}A&t\\0_{1\times 2}&1\end{array}\right) \end{aligned}
X=(A01×2t1)=⎝⎛ac0bd0xy1⎠⎞E∈Aff(2)⊂R3×3=(A01×2t1)
则
A
d
j
X
=
E
T
(
A
−
T
⋅
C
0
2
×
4
C
)
E
\begin{aligned} Adj_X&=E^T\left(\begin{array}{cc}A&-T\cdot C\\0_{2\times4}&C\end{array}\right)E \end{aligned}
AdjX=ET(A02×4−T⋅CC)E
明确写出乘积就是:
A
d
j
X
=
(
a
b
f
y
(
a
2
+
b
2
)
−
f
x
(
a
c
+
b
d
)
−
x
f
y
(
2
a
b
)
−
f
x
(
a
d
+
b
c
)
f
x
(
a
c
−
b
d
)
−
f
y
(
a
2
−
b
2
)
c
d
f
y
(
a
c
+
b
d
)
−
f
x
(
c
2
+
d
2
)
−
y
f
y
(
a
d
+
b
c
)
−
f
x
(
2
c
d
)
f
x
(
c
2
−
d
2
)
−
f
y
(
a
c
−
b
d
)
0
0
f
2
(
s
2
+
b
2
+
c
2
+
d
2
)
0
f
(
a
b
+
c
d
)
f
2
(
−
a
2
+
b
2
−
c
2
+
d
2
)
0
0
0
1
0
0
0
0
f
(
a
c
+
b
d
)
0
f
(
a
d
+
b
c
)
f
(
b
d
−
a
c
)
0
0
f
2
(
−
a
2
−
b
2
+
c
2
+
d
2
)
0
f
(
c
d
−
a
b
)
f
2
(
a
2
−
b
2
−
c
2
+
d
2
)
)
\begin{aligned} Adj_X&=\left(\begin{array}{cccccc}a&b& fy(a^2+b^2)-fx(ac+bd)&-x&fy(2ab)-fx(ad+bc)&fx(ac-bd)-fy(a^2-b^2)\\ c&d&fy(ac+bd)-fx(c^2+d^2)&-y&fy(ad+bc)-fx(2cd)&fx(c^2-d^2)-fy(ac-bd)\\ 0&0&\frac{f}{2}(s^2+b^2+c^2+d^2)&0&f(ab+cd)&\frac{f}{2}(-a^2+b^2-c^2+d^2)\\ 0&0&0&1&0&0\\ 0&0&f(ac+bd)&0&f(ad+bc)&f(bd-ac)\\ 0&0&\frac{f}{2}(-a^2-b^2+c^2+d^2)&0&f(cd-ab)&\frac{f}{2}(a^2-b^2-c^2+d^2) \end{array}\right) \end{aligned}
AdjX=⎝⎜⎜⎜⎜⎜⎜⎛ac0000bd0000fy(a2+b2)−fx(ac+bd)fy(ac+bd)−fx(c2+d2)2f(s2+b2+c2+d2)0f(ac+bd)2f(−a2−b2+c2+d2)−x−y0100fy(2ab)−fx(ad+bc)fy(ad+bc)−fx(2cd)f(ab+cd)0f(ad+bc)f(cd−ab)fx(ac−bd)−fy(a2−b2)fx(c2−d2)−fy(ac−bd)2f(−a2+b2−c2+d2)0f(bd−ac)2f(a2−b2−c2+d2)⎠⎟⎟⎟⎟⎟⎟⎞
7. SO(3)
7.1 描述及表示
三维旋转群的每个元素
S
O
(
3
)
SO(3)
SO(3)可以由行列式等于1的三维旋转矩阵表示。它的自由度为3:每个旋转轴对应1个自由度。群元素的组合和逆对应于矩阵的乘法和逆运算。因为旋转矩阵是正交的,所以它的逆等于它的转置。
R
∈
S
O
(
3
)
⊂
R
3
×
3
R
−
1
=
R
T
invSO3
det
(
R
)
=
1
\begin{aligned} R &\in SO(3)\subset \R^{3\times 3}\\ R^{-1}&=R^T&\text{invSO3}\\ \det (R)&=1 \end{aligned}
RR−1det(R)∈SO(3)⊂R3×3=RT=1invSO3
7.2 李代数
李代数
s
o
(
3
)
\mathfrak{so}(3)
so(3)是所有
3
×
3
3\times3
3×3反对称矩阵的集合,它由各轴的微分旋转产生:
G
1
=
(
0
0
0
0
0
−
1
0
1
0
)
,
G
2
=
(
0
0
1
0
0
0
−
1
0
0
)
,
G
3
=
(
0
−
1
0
1
0
0
0
0
0
)
\begin{aligned} G_1=\left(\begin{array}{ccc}0&0&0\\0&0&-1\\0&1&0\end{array}\right), G_2=\left(\begin{array}{ccc}0&0&1\\0&0&0\\-1&0&0\end{array}\right), G_3=\left(\begin{array}{ccc}0&-1&0\\1&0&0\\0&0&0\end{array}\right) \end{aligned}
G1=⎝⎛0000010−10⎠⎞,G2=⎝⎛00−1000100⎠⎞,G3=⎝⎛010−100000⎠⎞
李代数
s
o
(
3
)
\mathfrak{so}(3)
so(3)的所有元素可以写成生成元的线性组合:
w
∈
R
3
w
1
G
1
+
w
2
G
2
+
w
3
G
3
∈
s
o
(
3
)
\begin{aligned} w&\in \R^3\\ w_1G_1+w_2G_2+w_3G_3&\in \mathfrak{so}(3) \end{aligned}
ww1G1+w2G2+w3G3∈R3∈so(3)
映射
a
l
g
:
R
3
→
s
o
(
3
)
alg:\R^3\rightarrow \mathfrak{so}(3)
alg:R3→so(3)将三维向量映射为反对称矩阵:
w
=
(
a
b
c
)
a
l
g
(
w
)
=
w
∧
HatSO3
=
(
0
−
c
b
b
0
−
a
−
b
a
0
)
\begin{aligned} w&=\left(\begin{array}{c}a\\b\\c\end{array}\right)\\ alg(w)&=w_\wedge&\text{HatSO3}\\ &=\left(\begin{array}{ccc}0&-c&b\\b&0&-a\\-b&a&0\end{array}\right) \end{aligned}
walg(w)=⎝⎛abc⎠⎞=w∧=⎝⎛0b−b−c0ab−a0⎠⎞HatSO3
dualHatSO3: w_hat * x = x_dual_hat * w x_dual_hat= − H a t S O 3 ( x ) -HatSO3(x) −HatSO3(x)
李代数到向量的映射VecSO3为: w = ( w ∧ ( 3 , 2 ) ; w ∧ ( 1 , 3 ) ; w ∧ ( 2 , 1 ) ) w=(w_{\wedge}(3,2);w_{\wedge}(1,3);w_{\wedge}(2,1)) w=(w∧(3,2);w∧(1,3);w∧(2,1))
normalizeSO3: [ u , s , v ] = s v d ( R ) ; R n o r m = v ∗ v ’ [u,s,v]=svd(R); Rnorm=v*v’ [u,s,v]=svd(R);Rnorm=v∗v’
PhiSO3:
P
h
i
w
=
I
3
×
3
+
1
2
∣
∣
w
∣
∣
2
(
4
−
∣
∣
w
∣
∣
sin
(
∣
∣
w
∣
∣
)
−
4
cos
(
∣
∣
w
∣
∣
)
)
∗
a
d
S
O
3
(
w
)
+
1
2
∣
∣
w
∣
∣
3
(
4
∣
∣
w
∣
∣
−
5
sin
(
∣
∣
w
∣
∣
)
+
∣
∣
w
∣
∣
cos
(
∣
∣
w
∣
∣
)
)
∗
a
d
S
O
3
(
w
)
2
+
1
2
∣
∣
w
∣
∣
4
(
2
−
∣
∣
w
∣
∣
sin
(
∣
∣
w
∣
∣
)
−
2
cos
(
∣
∣
w
∣
∣
)
)
∗
a
d
S
O
3
(
w
)
3
+
1
2
∣
∣
w
∣
∣
5
(
2
∣
∣
w
∣
∣
−
3
sin
(
∣
∣
w
∣
∣
)
+
∣
∣
w
∣
∣
cos
(
∣
∣
w
∣
∣
)
)
∗
a
d
S
O
3
(
w
)
4
Phiw=I_{3\times 3}+\frac{1}{2||w||^2}(4-||w||\sin(||w||)-4\cos(||w||))*ad_{SO3}(w)\\ +\frac{1}{2||w||^3}(4||w||-5\sin(||w||)+||w||\cos(||w||))*ad_{SO3}(w)^2\\ +\frac{1}{2||w||^4}(2-||w||\sin(||w||)-2\cos(||w||))*ad_{SO3}(w)^3\\ +\frac{1}{2||w||^5}(2||w||-3\sin(||w||)+||w||\cos(||w||))*ad_{SO3}(w)^4\\
Phiw=I3×3+2∣∣w∣∣21(4−∣∣w∣∣sin(∣∣w∣∣)−4cos(∣∣w∣∣))∗adSO3(w)+2∣∣w∣∣31(4∣∣w∣∣−5sin(∣∣w∣∣)+∣∣w∣∣cos(∣∣w∣∣))∗adSO3(w)2+2∣∣w∣∣41(2−∣∣w∣∣sin(∣∣w∣∣)−2cos(∣∣w∣∣))∗adSO3(w)3+2∣∣w∣∣51(2∣∣w∣∣−3sin(∣∣w∣∣)+∣∣w∣∣cos(∣∣w∣∣))∗adSO3(w)4
7.3 指数映射和对数映射
从李代数到李群的指数映射有闭合形式,该闭合形式也称为罗德里格斯公式。切向量w可以解释为旋转的轴角表示:它的指数是围绕轴
w
∣
∣
w
∣
∣
\frac{w}{||w||}
∣∣w∣∣w旋转
∣
∣
w
∣
∣
||w||
∣∣w∣∣弧度:
w
∈
R
3
θ
=
w
T
w
=
∣
∣
w
∣
∣
w
∧
3
=
−
θ
2
w
∧
E
x
p
(
a
l
g
(
w
)
)
=
E
x
p
(
w
∧
)
=
I
+
w
∧
+
1
2
!
w
∧
2
+
1
3
!
w
∧
3
+
⋯
=
I
+
(
sin
θ
θ
)
w
∧
+
(
1
−
cos
θ
θ
2
)
w
∧
2
\begin{aligned} w&\in\R^3\\ \theta&=\sqrt{w^Tw}=||w||\\ w_\wedge^3&=-\theta^2w_\wedge\\ Exp(alg(w))&=Exp(w_\wedge)\\ &=I+w_\wedge+\frac{1}{2!}w_\wedge^2+\frac{1}{3!}w_\wedge^3+\cdots\\ &=I+(\frac{\sin \theta}{\theta})w_\wedge+(\frac{1-\cos\theta}{\theta^2})w_\wedge^2 \end{aligned}
wθw∧3Exp(alg(w))∈R3=wTw=∣∣w∣∣=−θ2w∧=Exp(w∧)=I+w∧+2!1w∧2+3!1w∧3+⋯=I+(θsinθ)w∧+(θ21−cosθ)w∧2
当
θ
\theta
θ较小时,R的系数可以由泰勒级数计算。
从李群SO(3)到李代数
s
o
(
3
)
\mathfrak{so}(3)
so(3)的对数映射可以计算如下:给定一个旋转矩阵
R
∈
S
O
(
3
)
R\in SO(3)
R∈SO(3),对数映射可以先确定
cos
θ
=
1
2
(
t
r
(
R
)
−
1
)
\cos\theta=\frac{1}{2}(tr(R)-1)
cosθ=21(tr(R)−1),然后计算
w
w
w,w可以从
L
o
g
(
R
)
Log(R)
Log(R)中的非对角线元素中取下来合成该向量。
R
∈
S
O
(
3
)
θ
=
arccos
(
t
r
(
R
)
−
1
2
)
L
o
g
(
R
)
=
θ
2
sin
θ
⋅
(
R
−
R
T
)
\begin{aligned} R&\in SO(3)\\ \theta &=\arccos (\frac{tr(R)-1}{2})\\ Log(R)&=\frac{\theta}{2\sin\theta}\cdot(R-R^T) \end{aligned}
RθLog(R)∈SO(3)=arccos(2tr(R)−1)=2sinθθ⋅(R−RT)
当
θ
\theta
θ较小时,
θ
2
sin
θ
\frac{\theta}{2\sin\theta}
2sinθθ的系数可以由泰勒级数展开计算。
7.4 伴随表示
对于三维空间中的旋转群
S
O
(
3
)
SO(3)
SO(3)以及李代数
w
∧
w_\wedge
w∧,考虑伴随表示的计算公式
R
∈
S
O
(
3
)
a
l
g
(
w
)
∈
s
o
(
3
)
E
x
p
[
a
l
g
(
A
d
j
R
⋅
w
)
]
=
R
⋅
E
x
p
[
a
l
g
(
w
)
]
⋅
R
−
1
a
l
g
(
A
d
j
R
⋅
w
)
=
R
⋅
a
l
g
(
w
)
⋅
R
−
1
\begin{aligned} R&\in SO(3)\\ alg(w) &\in \mathfrak{so}(3)\\ Exp[alg(Adj_R \cdot w)]&=R\cdot Exp[alg(w)]\cdot R^{-1}\\ alg(Adj_R \cdot w)&=R\cdot alg(w)\cdot R^{-1} \end{aligned}
Ralg(w)Exp[alg(AdjR⋅w)]alg(AdjR⋅w)∈SO(3)∈so(3)=R⋅Exp[alg(w)]⋅R−1=R⋅alg(w)⋅R−1
由于叉积的性质,SO(3)的伴随表示实际上与旋转矩阵表示相同:
R
∈
S
O
(
3
)
a
,
b
,
c
∈
R
3
a
=
b
×
c
⟺
(
R
a
)
=
(
R
b
)
×
(
R
c
)
⟺
a
=
R
−
1
(
R
b
)
×
(
R
c
)
⟺
R
−
1
(
R
b
)
×
R
=
b
×
⟹
R
b
∧
R
T
=
(
R
b
)
∧
a
l
g
(
b
)
∈
s
o
(
3
)
E
x
p
[
a
l
g
(
A
d
j
R
(
b
)
)
]
=
R
⋅
E
x
p
[
a
l
g
(
b
)
]
⋅
R
−
1
定义3
a
l
g
(
A
d
j
R
(
b
)
)
=
R
⋅
a
l
g
(
b
)
⋅
R
−
1
=
R
⋅
(
∑
i
=
1
3
b
i
G
i
)
⋅
R
−
1
=
a
l
g
(
R
b
)
A
d
j
R
(
b
)
=
R
b
A
d
j
R
=
R
\begin{aligned} R&\in SO(3)\\ a,b,c &\in \R^3\\ a=b\times c&\Longleftrightarrow (Ra)=(Rb)\times (Rc)\\ &\Longleftrightarrow a=R^{-1}(Rb)\times (Rc)\\ &\Longleftrightarrow R^{-1}(Rb)\times R=b\times\\ &\Longrightarrow R b_\wedge R^T=(R b)_\wedge \\ alg(b)&\in \mathfrak{so}(3)\\ Exp[alg(Adj_R(b))]&=R \cdot Exp[alg(b)]\cdot R^{-1}&\text{定义3}\\ alg(Adj_R(b))&=R \cdot alg(b)\cdot R^{-1}=R \cdot (\sum_{i=1}^3b_iG_i)\cdot R^{-1}=alg(Rb)\\ Adj_R(b)&=Rb\\ Adj_R&=R \end{aligned}
Ra,b,ca=b×calg(b)Exp[alg(AdjR(b))]alg(AdjR(b))AdjR(b)AdjR∈SO(3)∈R3⟺(Ra)=(Rb)×(Rc)⟺a=R−1(Rb)×(Rc)⟺R−1(Rb)×R=b×⟹Rb∧RT=(Rb)∧∈so(3)=R⋅Exp[alg(b)]⋅R−1=R⋅alg(b)⋅R−1=R⋅(i=1∑3biGi)⋅R−1=alg(Rb)=Rb=R定义3
ad表示: a d = a d S 0 ( 3 ) ( w ) = H a t S O 3 ( w ) ad=ad_{S0(3)}(w)=HatSO3(w) ad=adS0(3)(w)=HatSO3(w)
Ad表示: A d = A d S O ( 3 ) ( R ) = R Ad=Ad_{SO(3)}(R)=R Ad=AdSO(3)(R)=R
7.5 雅克比
7.5.1 李群 S O ( 3 ) SO(3) SO(3)作用于空间 R 3 \R^3 R3的微分
考虑李群中的一个元素
R
∈
S
O
(
3
)
R\in SO(3)
R∈SO(3),同时
x
∈
R
3
x\in \R^3
x∈R3。通过旋转矩阵R来旋转向量x,结果为向量左乘旋转矩阵:
y
=
f
(
R
,
x
)
=
R
x
y=f(R,x)=Rx
y=f(R,x)=Rx
对向量的微分很简单,因为f在x中是线性的:
∂
y
∂
x
=
R
\frac{\partial y}{\partial x}=R
∂x∂y=R
对旋转参数的微分是通过隐式左乘旋转切向量的指数并在零附近扰动表达式进行微分实现的。这等价于生成元左边乘以y得到的:
∂
y
∂
R
=
∂
∂
w
∣
w
=
0
(
e
x
p
(
w
)
⋅
R
)
⋅
x
=
∂
∂
w
∣
w
=
0
e
x
p
(
w
)
⋅
(
R
⋅
x
)
=
∂
∂
w
∣
w
=
0
e
x
p
(
w
)
⋅
y
=
(
G
1
y
∣
G
2
y
∣
G
3
y
)
=
−
y
∧
\begin{aligned} \frac{\partial y}{\partial R}&=\frac{\partial }{\partial w}|_{w=0}(exp(w)\cdot R)\cdot x\\ &=\frac{\partial }{\partial w}|_{w=0}exp(w)\cdot (R\cdot x)\\ &=\frac{\partial }{\partial w}|_{w=0}exp(w)\cdot y\\ &=(G_1 y|G_2 y|G_3 y)\\ &=-y_\wedge \end{aligned}
∂R∂y=∂w∂∣w=0(exp(w)⋅R)⋅x=∂w∂∣w=0exp(w)⋅(R⋅x)=∂w∂∣w=0exp(w)⋅y=(G1y∣G2y∣G3y)=−y∧
7.5.2 通过群中的一个参数对群-值函数微分
考虑一个群G和群上的一个映射
f
:
G
→
G
f:G\rightarrow G
f:G→G。由于定义域和值域都不是向量空间,通过切空间扰动在输入变量端引入参数,在结果端也可以引入参数,然后我们通过微分记号可以得到从输入扰动到输出扰动的一个映射关系:
exp
(
ϵ
)
⋅
f
(
g
)
=
f
(
exp
(
δ
)
⋅
g
)
∂
f
∂
g
≡
∂
ϵ
∂
δ
∣
δ
=
0
\begin{aligned} \exp(\epsilon)\cdot f(g)&=f(\exp(\delta)\cdot g)\\ \frac{\partial f}{\partial g}&\equiv\frac{\partial \epsilon}{\partial \delta}|_{\delta=0} \end{aligned}
exp(ϵ)⋅f(g)∂g∂f=f(exp(δ)⋅g)≡∂δ∂ϵ∣δ=0
求解
ϵ
\epsilon
ϵ并且微分得到输入扰动
δ
\delta
δ对输出扰动
ϵ
\epsilon
ϵ微分的显示表达式:
ϵ
=
log
(
f
(
exp
(
δ
)
⋅
g
)
⋅
f
(
g
)
−
1
)
∂
f
∂
g
≡
∂
log
(
f
(
exp
(
δ
)
⋅
g
)
⋅
f
(
g
)
−
1
)
∂
δ
∣
δ
=
0
\begin{aligned} \epsilon&=\log(f(\exp(\delta)\cdot g)\cdot f(g)^{-1})\\ \frac{\partial f}{\partial g}&\equiv\frac{\partial \log(f(\exp(\delta)\cdot g)\cdot f(g)^{-1})}{\partial \delta}|_{\delta=0} \end{aligned}
ϵ∂g∂f=log(f(exp(δ)⋅g)⋅f(g)−1)≡∂δ∂log(f(exp(δ)⋅g)⋅f(g)−1)∣δ=0
上式产生了一个从参数的左切空间扰动到结果的左切空间扰动的映射。正如所料,如果将这个微分简写应用于恒等函数
f
(
g
)
=
g
f(g)=g
f(g)=g,就得到了单位矩阵。
对于此过程的一个重要示例应用,考虑群
G
=
S
O
(
3
)
G=SO(3)
G=SO(3)中的元素与第二个因子
R
0
R_0
R0相乘:
R
2
=
f
(
R
0
)
≡
R
1
⋅
R
0
\begin{aligned} R_2=f(R_0)\equiv R_1\cdot R_0 \end{aligned}
R2=f(R0)≡R1⋅R0
首先,切空间so(3)中的输入扰动和输出扰动都是明确的:
exp
(
ϵ
)
⋅
R
2
=
R
1
⋅
exp
(
w
)
⋅
R
0
\begin{aligned} \exp(\epsilon)\cdot R_2= R_1\cdot\exp(w)\cdot R_0\end{aligned}
exp(ϵ)⋅R2=R1⋅exp(w)⋅R0
输入扰动w对
ϵ
\epsilon
ϵ的微分是在
w
=
0
w=0
w=0附近进行的。伴随映射将切向量移动到表达式的左边。表达式的其余部分抵消,结果很简单。
∂
R
2
∂
R
0
≡
∂
log
(
(
R
1
⋅
exp
(
w
)
⋅
R
0
)
⋅
(
R
1
⋅
R
0
)
−
1
)
∂
w
∣
w
=
0
=
∂
∂
w
∣
w
=
0
log
(
exp
(
A
d
j
R
1
⋅
w
⋅
R
1
⋅
R
0
)
⋅
(
R
1
⋅
R
0
)
−
1
)
=
∂
∂
w
∣
w
=
0
[
log
(
exp
(
A
d
j
R
1
⋅
w
)
)
]
=
∂
∂
w
∣
w
=
0
[
A
d
j
R
1
⋅
w
]
=
A
d
j
R
1
=
R
1
\begin{aligned} \frac{\partial R_2}{\partial R_0}&\equiv\frac{\partial \log((R_1\cdot \exp(w)\cdot R_0)\cdot (R_1\cdot R_0)^{-1})}{\partial w}|_{w=0}\\ &=\frac{\partial }{\partial w}|_{w=0}\log(\exp(Adj_{R_1}\cdot w\cdot R_1\cdot R_0)\cdot (R_1\cdot R_0)^{-1})\\ &=\frac{\partial }{\partial w}|_{w=0}[\log(\exp(Adj_{R_1}\cdot w))]\\ &=\frac{\partial }{\partial w}|_{w=0}[Adj_{R_1}\cdot w]=Adj_{R_1}=R_1 \end{aligned}
∂R0∂R2≡∂w∂log((R1⋅exp(w)⋅R0)⋅(R1⋅R0)−1)∣w=0=∂w∂∣w=0log(exp(AdjR1⋅w⋅R1⋅R0)⋅(R1⋅R0)−1)=∂w∂∣w=0[log(exp(AdjR1⋅w))]=∂w∂∣w=0[AdjR1⋅w]=AdjR1=R1
7.6 SO(3)上的高斯分布
7.6.1 采样
我们可以对三维旋转的高斯分布进行规定:用SO(3)中的元素表示均值,用so(3)中的一个切向量的二次形式表示协方差。更精确的说,考虑高斯分布的均值
R
∈
S
O
(
3
)
R\in SO(3)
R∈SO(3),协方差为
Σ
∈
R
3
×
3
\Sigma \in \R^{3\times 3}
Σ∈R3×3。我们可以通过在切空间中对零均值分布采样,然后用它左乘均值,从而从分布中采样得到一个旋转S:
ϵ
∈
N
(
0
,
Σ
)
S
=
exp
(
ϵ
)
⋅
R
\epsilon \in N(0,\Sigma)\\ S=\exp(\epsilon)\cdot R
ϵ∈N(0,Σ)S=exp(ϵ)⋅R
7.6.2 不确定旋转的合成
给定了旋转上的两个高斯分布,利用伴随变换可以构造出两个不确定变换。记其中一个零均值方程对为
(
R
0
,
Σ
0
)
(R_0,\Sigma_0)
(R0,Σ0),另外一个记为
R
1
,
Σ
1
R_1,\Sigma_1
R1,Σ1。那么先经过
R
0
R_0
R0变换,再经过
R
1
R_1
R1旋转得到的旋转的分布可以记为:
(
R
1
,
Σ
1
)
∘
(
R
0
,
Σ
0
)
=
(
R
1
⋅
R
0
,
Σ
1
+
R
1
⋅
Σ
0
⋅
R
1
T
)
(R_1,\Sigma_1)\circ (R_0,\Sigma_0)=(R_1\cdot R_0,\Sigma_1+R_1\cdot \Sigma_0\cdot R_1^T)
(R1,Σ1)∘(R0,Σ0)=(R1⋅R0,Σ1+R1⋅Σ0⋅R1T)
7.6.3 旋转估计的贝叶斯组合
这两个高斯分布的信息矩阵
(
R
c
,
Σ
c
)
(R_c,\Sigma_c)
(Rc,Σc)可以通过贝叶斯方法组合得到:首先找出切空间中两个向量之间的偏差,然后对两个向量的估计通过信息矩阵进行加权。信息矩阵(也即协方差矩阵的逆)可以像往常一样计算:
Σ
=
(
Σ
0
−
1
+
Σ
1
−
1
)
−
1
=
Σ
0
−
Σ
0
(
Σ
0
+
Σ
1
)
−
1
Σ
0
协方差更新
v
=
R
1
⊖
R
0
=
L
o
g
(
R
1
⋅
R
0
−
1
)
新息
R
c
=
E
x
p
(
Σ
c
⋅
Σ
1
−
1
⋅
v
)
⋅
R
0
均值更新
\begin{aligned} \Sigma&=(\Sigma_0^{-1}+\Sigma_1^{-1})^{-1}=\Sigma_0-\Sigma_0(\Sigma_0+\Sigma_1)^{-1}\Sigma_0&\text{协方差更新}\\ v&=R_1\ominus R_0=Log(R_1\cdot R_0^{-1})&\text{新息}\\ R_c&=Exp(\Sigma_c\cdot \Sigma_1^{-1}\cdot v)\cdot R_0&\text{均值更新} \end{aligned}
ΣvRc=(Σ0−1+Σ1−1)−1=Σ0−Σ0(Σ0+Σ1)−1Σ0=R1⊖R0=Log(R1⋅R0−1)=Exp(Σc⋅Σ1−1⋅v)⋅R0协方差更新新息均值更新
7.7 SO(3)上的EKF
两个不确定旋转的组合可以看作EKF的动力学更新过程,其中 ( R 0 , Σ 0 ) (R_0,\Sigma_0) (R0,Σ0)看作是状态的先验信息, ( R 1 , Σ 1 ) (R_1,\Sigma_1) (R1,Σ1)是系统的动力学模型。
旋转估计的贝叶斯组合可以看作是EKF的量测过程中的均值更新(假设量测更新雅克比矩阵是单位矩阵,量测矩阵为单位矩阵)和协方差更新。而切向量v是EKF量测更新过程中的新息。
如果量测矩阵为单位矩阵,则EKF的卡尔曼滤波增益K计算如下:
K
=
Σ
0
(
Σ
0
+
Σ
1
)
−
1
K=\Sigma_0(\Sigma_0+\Sigma_1)^{-1}
K=Σ0(Σ0+Σ1)−1
所以卡尔曼更新可以写成如下标准形式:
Σ
=
(
I
−
k
)
Σ
0
协方差更新
R
c
=
R
o
⊕
(
K
⋅
v
)
=
E
x
p
(
K
⋅
v
)
⋅
R
0
均值更新
\begin{aligned}\Sigma&=(I-k)\Sigma_0&\text{协方差更新}\\R_c&=R_o\oplus (K\cdot v)= Exp(K\cdot v)\cdot R_0&\text{均值更新}\end{aligned}
ΣRc=(I−k)Σ0=Ro⊕(K⋅v)=Exp(K⋅v)⋅R0协方差更新均值更新
j将上述方程记为标准EKF框架,给出的状态协方差为
Σ
0
\Sigma_0
Σ0,量测噪声为
Σ
1
\Sigma_1
Σ1。
如果雅克比矩阵是一个非平凡的测量,则需要对所给的方程做一个简单的修改。
8. SE(3)
8.1 描述及表示
SE(3)是三维空间中的刚体变换群,同时也是半直积:
S
O
(
3
)
⋉
R
3
SO(3)\ltimes \R^3
SO(3)⋉R3。它有6个自由度:三维空间平移对应3个自由度,三维空间旋转对应3个自由度。它的子群包括:
S
E
(
2
)
SE(2)
SE(2)和
S
O
(
3
)
SO(3)
SO(3)。
R
∈
S
O
(
3
)
t
∈
R
3
X
=
(
R
t
0
1
×
3
1
)
∈
S
E
(
3
)
⊂
R
4
×
4
HatSE3
X
1
,
X
2
∈
S
E
(
3
)
X
1
⋅
X
2
=
(
R
1
t
1
0
1
×
3
1
)
(
R
2
t
2
0
1
×
3
1
)
=
(
R
1
R
2
R
1
t
2
+
t
1
0
1
×
3
1
)
X
−
1
=
(
R
T
−
R
T
t
0
1
×
3
1
)
invSE3
\begin{aligned} R&\in SO(3)\\ t&\in \R^3\\ X=\left(\begin{array}{cc}R&t\\0_{1\times 3}&1\end{array}\right) &\in SE(3)\subset\R^{4\times 4}&\text{HatSE3}\\ X_1,X_2\in SE(3)\\ X_1\cdot X_2= \left(\begin{array}{cc}R_1&t_1\\0_{1\times 3}&1\end{array}\right) \left(\begin{array}{cc}R_2&t_2\\0_{1\times 3}&1\end{array}\right) &=\left(\begin{array}{cc}R_1R_2&R_1t_2+t_1\\0_{1\times 3}&1\end{array}\right)\\ X^{-1}&=\left(\begin{array}{cc}R^T&-R^Tt\\0_{1\times 3}&1\end{array}\right)&\text{invSE3} \end{aligned}
RtX=(R01×3t1)X1,X2∈SE(3)X1⋅X2=(R101×3t11)(R201×3t21)X−1∈SO(3)∈R3∈SE(3)⊂R4×4=(R1R201×3R1t2+t11)=(RT01×3−RTt1)HatSE3invSE3
8.2 李代数
李代数
s
e
(
3
)
\mathfrak{se}(3)
se(3)有6个生成元:
G
1
=
(
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
)
,
G
2
=
(
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
)
,
G
3
=
(
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
)
,
G
4
=
(
0
0
0
0
0
0
1
0
0
−
1
0
0
0
0
0
0
)
,
G
5
=
(
0
0
−
1
0
0
0
0
0
1
0
0
0
0
0
0
0
)
,
G
6
=
(
0
1
0
0
−
1
0
0
0
0
0
0
0
0
0
0
0
)
\begin{aligned} G_1=\left(\begin{array}{cccc}0&0&0&1\\0&0&0&0\\0&0&0&0\\0&0&0&0\end{array}\right), G_2=\left(\begin{array}{cccc}0&0&0&0\\0&0&0&1\\0&0&0&0\\0&0&0&0\end{array}\right), G_3=\left(\begin{array}{cccc}0&0&0&0\\0&0&0&0\\0&0&0&1\\0&0&0&0\end{array}\right),\\ G_4=\left(\begin{array}{cccc}0&0&0&0\\0&0&1&0\\0&-1&0&0\\0&0&0&0\end{array}\right), G_5=\left(\begin{array}{cccc}0&0&-1&0\\0&0&0&0\\1&0&0&0\\0&0&0&0\end{array}\right), G_6=\left(\begin{array}{cccc}0&1&0&0\\-1&0&0&0\\0&0&0&0\\0&0&0&0\end{array}\right) \end{aligned}
G1=⎝⎜⎜⎛0000000000001000⎠⎟⎟⎞,G2=⎝⎜⎜⎛0000000000000100⎠⎟⎟⎞,G3=⎝⎜⎜⎛0000000000000010⎠⎟⎟⎞,G4=⎝⎜⎜⎛000000−1001000000⎠⎟⎟⎞,G5=⎝⎜⎜⎛00100000−10000000⎠⎟⎟⎞,G6=⎝⎜⎜⎛0−100100000000000⎠⎟⎟⎞
因此映射
a
l
g
:
R
3
→
s
e
(
3
)
alg:\R^3\rightarrow \mathfrak{se}(3)
alg:R3→se(3):
u
,
w
∈
R
3
u
1
G
1
+
u
2
G
2
+
u
3
G
3
+
w
1
G
4
+
w
2
G
5
+
w
3
G
6
∈
s
e
(
3
)
a
l
g
(
u
w
)
=
(
w
∧
u
0
1
×
3
0
)
\begin{aligned} u,w&\in \R^3\\ u_1G_1+u_2G_2+u_3G_3+w_1G_4+w_2G_5+w_3G_6 &\in \mathfrak{se}(3)\\ alg\left(\begin{array}{c}u\\w\end{array}\right)&=\left(\begin{array}{cc}w_\wedge&u\\0_{1\times 3}&0\end{array}\right) \end{aligned}
u,wu1G1+u2G2+u3G3+w1G4+w2G5+w3G6alg(uw)∈R3∈se(3)=(w∧01×3u0)
李代数映射为向量 V e c S E 3 VecSE3 VecSE3为: m ( 4 : 6 ) = m h a t ( 1 : 3 , 4 ) ; m ( 1 : 3 ) = V e c S O 3 ( m h a t ( 1 : 3 , 1 : 3 ) ) ; m(4:6) = m_{hat}(1:3,4);m(1:3) = VecSO3(m_{hat}(1:3,1:3)); m(4:6)=mhat(1:3,4);m(1:3)=VecSO3(mhat(1:3,1:3));
8.3 指数映射和对数映射
李代数
s
e
(
3
)
\mathfrak{se}(3)
se(3)到李群SE(3)的指数映射有一个闭合形式:
w
,
u
∈
R
3
θ
=
w
T
w
=
∣
∣
w
∣
∣
w
∧
3
=
−
θ
2
w
∧
E
x
p
(
a
l
g
(
u
w
)
)
=
E
x
p
(
w
∧
u
0
1
×
3
0
)
=
I
+
(
w
∧
u
0
1
×
3
0
)
+
1
2
!
(
w
∧
2
w
∧
u
0
1
×
3
0
)
+
1
3
!
(
w
∧
3
w
∧
2
u
0
1
×
3
0
)
+
⋯
=
(
E
x
p
(
w
∧
)
V
⋅
u
0
1
×
3
1
)
expSE3
V
=
I
+
1
2
!
w
∧
+
1
3
!
w
∧
2
+
⋯
=
I
+
(
1
2
!
−
θ
2
4
!
+
θ
4
6
!
+
⋯
)
w
∧
+
(
1
3
!
−
θ
2
5
!
+
θ
4
7
!
+
⋯
)
w
∧
2
=
I
+
(
1
−
cos
θ
θ
2
)
w
∧
+
(
θ
−
sin
θ
θ
3
)
w
∧
2
\begin{aligned} w,u&\in\R^3\\ \theta&=\sqrt{w^Tw}=||w||\\ w_\wedge^3&=-\theta^2w_\wedge\\ Exp(alg\left(\begin{array}{c}u\\w\end{array}\right))&=Exp\left(\begin{array}{cc}w_\wedge&u\\0_{1\times 3}&0\end{array}\right)\\ &=I+\left(\begin{array}{cc}w_\wedge&u\\0_{1\times 3}&0\end{array}\right)+ \frac{1}{2!}\left(\begin{array}{cc}w_\wedge^2&w_\wedge u\\0_{1\times 3}&0\end{array}\right)+ \frac{1}{3!}\left(\begin{array}{cc}w_\wedge^3&w_\wedge^2 u\\0_{1\times 3}&0\end{array}\right)+\cdots\\ &=\left(\begin{array}{cc}Exp(w_\wedge)&V\cdot u\\0_{1\times 3}&1\end{array}\right)&\text{expSE3}\\ V&=I+\frac{1}{2!}w_\wedge+\frac{1}{3!}w_\wedge^2+\cdots\\ &=I+(\frac{1}{2!}-\frac{\theta^2}{4!}+\frac{\theta^4}{6!}+\cdots)w_\wedge+(\frac{1}{3!}-\frac{\theta^2}{5!}+\frac{\theta^4}{7!}+\cdots)w_\wedge^2\\ &=I+(\frac{1-\cos\theta}{\theta^2})w_\wedge+(\frac{\theta-\sin\theta}{\theta^3})w_\wedge^2 \end{aligned}
w,uθw∧3Exp(alg(uw))V∈R3=wTw=∣∣w∣∣=−θ2w∧=Exp(w∧01×3u0)=I+(w∧01×3u0)+2!1(w∧201×3w∧u0)+3!1(w∧301×3w∧2u0)+⋯=(Exp(w∧)01×3V⋅u1)=I+2!1w∧+3!1w∧2+⋯=I+(2!1−4!θ2+6!θ4+⋯)w∧+(3!1−5!θ2+7!θ4+⋯)w∧2=I+(θ21−cosθ)w∧+(θ3θ−sinθ)w∧2expSE3
当
θ
\theta
θ较小时,V的系数可以使用泰勒级数进行计算。
V的逆可以写成闭合形式:
V
−
1
=
I
−
1
2
w
∧
+
1
θ
2
(
1
−
θ
sin
θ
2
(
1
−
cos
θ
)
)
w
∧
2
=
I
−
1
2
w
∧
+
(
2
sin
θ
−
θ
(
1
+
cos
θ
)
)
2
θ
2
sin
θ
w
∧
2
\begin{aligned} V^{-1}&=I-\frac{1}{2}w_\wedge+\frac{1}{\theta^2}(1-\frac{\theta\sin\theta}{2(1-\cos\theta)})w_\wedge^2\\ &=I-\frac{1}{2}w_\wedge+\frac{(2\sin\theta-\theta(1+\cos\theta))}{2\theta^2\sin\theta}w_\wedge^2 \end{aligned}
V−1=I−21w∧+θ21(1−2(1−cosθ)θsinθ)w∧2=I−21w∧+2θ2sinθ(2sinθ−θ(1+cosθ))w∧2
从李群
X
=
(
R
t
0
1
×
3
1
)
∈
S
E
(
3
)
X=\left(\begin{array}{cc}R&t\\0_{1\times 3}&1\end{array}\right) \in SE(3)
X=(R01×3t1)∈SE(3)到李代数的对数映射
l
o
g
S
E
3
logSE3
logSE3可以首先计算
w
=
a
l
g
−
1
(
L
o
g
(
R
)
)
w=alg^{-1}(Log(R))
w=alg−1(Log(R)),然后计算
u
=
V
−
1
⋅
t
u=V^{-1}\cdot t
u=V−1⋅t。
8.4 伴随表示
X = ( R t 0 1 × 3 1 ) ∈ S E ( 3 ) δ = ( u w ) ∈ R 6 a l g ( δ ) ∈ s e ( 3 ) E x p [ a l g ( A d j X ( δ ) ) ] = X ⋅ E x p [ a l g ( δ ) ] ⋅ X − 1 定义3 a l g ( A d j X ( δ ) ) = X ⋅ a l g ( δ ) ⋅ X − 1 = X ⋅ ( ∑ i = 1 6 δ i G i ) ⋅ X − 1 = ( R t 0 1 × 3 1 ) ( w ∧ u 0 1 × 3 0 ) ( R T − R T t 0 1 × 3 1 ) = ( R w ∧ R T R u − R w ∧ R T t 0 1 × 3 0 ) = ( ( R w ) ∧ R u + t ∧ R w 0 1 × 3 0 ) ⟹ A d j X ( δ ) = ( R u + t ∧ R w R w ) A d j X = ( R t ∧ R 0 3 × 3 R ) ∈ R 6 × 6 \begin{aligned} X&=\left(\begin{array}{cc}R&t\\0_{1\times 3}&1\end{array}\right)\in SE(3)\\ \delta&=\left(\begin{array}{c}u\\w\end{array}\right)\in \R^6\\ alg(\delta)&\in \mathfrak{se}(3)\\ Exp[alg(Adj_X(\delta))]&=X \cdot Exp[alg(\delta)]\cdot X^{-1}&\text{定义3}\\ alg(Adj_X(\delta))&=X \cdot alg(\delta)\cdot X^{-1}=X \cdot (\sum_{i=1}^6\delta_iG_i)\cdot X^{-1}\\ &=\left(\begin{array}{cc}R&t\\0_{1\times 3}&1\end{array}\right) \left(\begin{array}{cc}w_\wedge&u\\0_{1\times 3}&0\end{array}\right) \left(\begin{array}{cc}R^T&-R^Tt\\0_{1\times 3}&1\end{array}\right)\\ &=\left(\begin{array}{cc}Rw_\wedge R^T&Ru-Rw_\wedge R^Tt\\0_{1\times 3}&0\end{array}\right)\\ &=\left(\begin{array}{cc}(Rw)_\wedge&Ru+t_\wedge Rw\\0_{1\times 3}&0\end{array}\right)\\ \Longrightarrow Adj_X(\delta)&=\left(\begin{array}{c}Ru+t_\wedge Rw\\Rw\end{array}\right)\\ Adj_X&=\left(\begin{array}{cc}R&t_\wedge R\\0_{3\times 3}&R\end{array}\right)\in \R^{6\times 6} \end{aligned} Xδalg(δ)Exp[alg(AdjX(δ))]alg(AdjX(δ))⟹AdjX(δ)AdjX=(R01×3t1)∈SE(3)=(uw)∈R6∈se(3)=X⋅Exp[alg(δ)]⋅X−1=X⋅alg(δ)⋅X−1=X⋅(i=1∑6δiGi)⋅X−1=(R01×3t1)(w∧01×3u0)(RT01×3−RTt1)=(Rw∧RT01×3Ru−Rw∧RTt0)=((Rw)∧01×3Ru+t∧Rw0)=(Ru+t∧RwRw)=(R03×3t∧RR)∈R6×6定义3
映射 A d j X : R 6 → R 6 Adj_X:\R^6\rightarrow \R^6 AdjX:R6→R6为 S E ( 3 ) SE(3) SE(3)对采用射线坐标的李代数 s e ( 3 ) \mathfrak{se}(3) se(3)的伴随作用,其具体作用形式为 A d j X v = N v Adj_X v=Nv AdjXv=Nv,其中射线坐标下 v = ( w u ) ∈ R 6 v=\left(\begin{array}{c}w\\u\end{array}\right) \in \R^6 v=(wu)∈R6,则 A d j X = N = ( R 0 3 × 3 t ∧ R R ) ∈ R 6 × 6 Adj_X=N=\left(\begin{array}{cc}R&0_{3\times 3}\\t_\wedge R&R\end{array}\right)\in \R^{6\times 6} AdjX=N=(Rt∧R03×3R)∈R6×6。This is the Adjoint representation of s e ( 3 ) \mathfrak{se}(3) se(3) ⟹ \Longrightarrow ⟹Ad_G表示.
其中轴线坐标系下 v = ( u w ) ∈ R 6 v=\left(\begin{array}{c}u\\w\end{array}\right) \in \R^6 v=(uw)∈R6,则SE(3)对采用轴线坐标的李代数 s e ( 3 ) \mathfrak{se}(3) se(3)的伴随作用为 A d j X = N = ( R t ∧ R 0 3 × 3 R ) ∈ R 6 × 6 Adj_X=N=\left(\begin{array}{cc}R&t_\wedge R\\0_{3\times 3}&R\end{array}\right)\in \R^{6\times 6} AdjX=N=(R03×3t∧RR)∈R6×6。
ad_G表示为: a d S E 3 ( v ) = ( R 0 3 × 3 t ∧ R ) ∈ R 6 × 6 ad_{SE3}(v)=\left(\begin{array}{cc}R&0_{3\times 3}\\t_\wedge &R\end{array}\right)\in \R^{6\times 6} adSE3(v)=(Rt∧03×3R)∈R6×6
8.5 雅克比
考虑
C
∈
S
E
(
3
)
C\in SE(3)
C∈SE(3)和
x
∈
R
3
x\in \R^3
x∈R3。对向量的旋转和平移可以通过左乘得到:
y
=
f
(
C
,
x
)
=
(
R
∣
t
)
⋅
(
x
1
)
=
R
⋅
x
+
t
\begin{aligned} y=f(C,x)=(R|t)\cdot \left(\begin{array}{c}x\\1\end{array}\right)=R\cdot x+t \end{aligned}
y=f(C,x)=(R∣t)⋅(x1)=R⋅x+t
对向量的微分很简单,因为f在x中是线性的:
∂
y
∂
x
=
R
\frac{\partial y}{\partial x}=R
∂x∂y=R
与SO(3)一样,对变换参数进行微分的方法还是生成元左乘y得到(此处最后一行去除了):
∂
y
∂
C
=
(
G
1
y
∣
G
2
y
∣
G
3
y
∣
G
4
y
∣
G
5
y
∣
G
6
y
)
=
(
I
∣
−
y
∧
)
\begin{aligned} \frac{\partial y}{\partial C}&=(G_1 y|G_2 y|G_3 y|G_4 y|G_5y|G_6y)\\ &=(I|-y_\wedge) \end{aligned}
∂C∂y=(G1y∣G2y∣G3y∣G4y∣G5y∣G6y)=(I∣−y∧)
同理,对向量进行变换乘积后进行微分,得到的结果在给定伴随表示的基础上是平凡的:
C
=
C
1
⋅
C
0
∂
C
∂
C
0
=
∂
[
C
1
⋅
exp
(
δ
)
⋅
C
0
]
∂
δ
=
A
d
j
C
1
\begin{aligned} C&=C_1\cdot C_0\\ \frac{\partial C}{\partial C_0}&=\frac{\partial [C_1\cdot \exp(\delta)\cdot C_0]}{\partial \delta}=Adj_{C_1} \end{aligned}
C∂C0∂C=C1⋅C0=∂δ∂[C1⋅exp(δ)⋅C0]=AdjC1
9. Sim(3)
9.1 描述及表示
Sim(2)是三维平面上保持方向的相似变换群,也是半直积
S
E
(
3
)
⋊
R
∗
SE(3)\rtimes \R^*
SE(3)⋊R∗。它有7个自由度:三维空间平移有3个自由度,三维空间旋转有3个自由度,尺度缩放对应1个自由度。它的子群包括:
S
i
m
(
2
)
Sim(2)
Sim(2)和
S
E
(
3
)
SE(3)
SE(3)。
R
∈
S
O
(
3
)
t
∈
R
3
X
=
(
R
t
0
1
×
3
s
−
1
)
∈
S
i
m
(
3
)
⊂
R
4
×
4
X
−
1
=
(
R
T
−
s
R
T
t
0
1
×
3
s
)
\begin{aligned}R&\in SO(3)\\ t&\in \R^3\\ X=\left(\begin{array}{cc}R&t\\0_{1\times 3}&s^{-1}\end{array}\right) &\in Sim(3)\subset\R^{4\times 4}\\ X^{-1}&=\left(\begin{array}{cc}R^T&-sR^Tt\\0_{1\times 3}&s\end{array}\right)\end{aligned}
RtX=(R01×3ts−1)X−1∈SO(3)∈R3∈Sim(3)⊂R4×4=(RT01×3−sRTts)
9.2 李代数
李代数
s
i
m
(
3
)
\mathfrak{sim}(3)
sim(3)有7个生成元:
G
1
=
(
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
)
,
G
2
=
(
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
)
,
G
3
=
(
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
)
,
G
4
=
(
0
0
0
0
0
0
1
0
0
−
1
0
0
0
0
0
0
)
,
G
5
=
(
0
0
−
1
0
0
0
0
0
1
0
0
0
0
0
0
0
)
,
G
6
=
(
0
1
0
0
−
1
0
0
0
0
0
0
0
0
0
0
0
)
,
G
7
=
(
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
−
1
)
\begin{aligned} G_1=\left(\begin{array}{cccc}0&0&0&1\\0&0&0&0\\0&0&0&0\\0&0&0&0\end{array}\right), G_2&=\left(\begin{array}{cccc}0&0&0&0\\0&0&0&1\\0&0&0&0\\0&0&0&0\end{array}\right), G_3=\left(\begin{array}{cccc}0&0&0&0\\0&0&0&0\\0&0&1&0\\0&0&0&0\end{array}\right),\\ G_4=\left(\begin{array}{cccc}0&0&0&0\\0&0&1&0\\0&-1&0&0\\0&0&0&0\end{array}\right), G_5&=\left(\begin{array}{cccc}0&0&-1&0\\0&0&0&0\\1&0&0&0\\0&0&0&0\end{array}\right), G_6=\left(\begin{array}{cccc}0&1&0&0\\-1&0&0&0\\0&0&0&0\\0&0&0&0\end{array}\right),\\ G_7&=\left(\begin{array}{cccc}0&0&0&0\\0&0&0&0\\0&0&0&0\\0&0&0&-1\end{array}\right) \end{aligned}
G1=⎝⎜⎜⎛0000000000001000⎠⎟⎟⎞,G2G4=⎝⎜⎜⎛000000−1001000000⎠⎟⎟⎞,G5G7=⎝⎜⎜⎛0000000000000100⎠⎟⎟⎞,G3=⎝⎜⎜⎛0000000000100000⎠⎟⎟⎞,=⎝⎜⎜⎛00100000−10000000⎠⎟⎟⎞,G6=⎝⎜⎜⎛0−100100000000000⎠⎟⎟⎞,=⎝⎜⎜⎛000000000000000−1⎠⎟⎟⎞
9.3 指数映射和对数映射
从李代数
s
i
m
(
3
)
\mathfrak{sim}(3)
sim(3)到李群$Sim(3)的指数映射得到一个闭合形式结果:
v
=
(
w
u
λ
)
∈
R
7
A
=
sin
θ
θ
B
=
1
−
cos
θ
θ
C
=
θ
−
sin
θ
θ
3
α
=
λ
2
λ
2
+
θ
2
s
=
e
λ
X
=
α
(
1
−
s
−
1
λ
)
+
(
1
−
α
)
(
A
−
λ
B
)
Y
=
α
(
s
−
1
−
1
+
λ
λ
2
)
+
(
1
−
α
)
(
B
−
λ
C
)
V
=
(
X
−
θ
Y
θ
Y
X
)
E
x
p
(
a
l
g
(
v
)
)
=
E
x
p
(
w
∧
u
0
−
λ
)
=
(
R
V
⋅
u
0
1
×
3
s
−
1
)
\begin{aligned} v&=\left(\begin{array}{c}w\\u\\ \lambda\end{array}\right) \in \R^7\\ A&=\frac{\sin\theta}{\theta}\\ B&=\frac{1-\cos\theta}{\theta}\\C&=\frac{\theta-\sin\theta}{\theta^3}\\\alpha&=\frac{\lambda^2}{\lambda^2+\theta^2}\\s&=e^\lambda\\X&=\alpha(\frac{1-s^{-1}}{\lambda})+(1-\alpha)(A-\lambda B)\\Y&=\alpha(\frac{s^{-1}-1+\lambda}{\lambda^2})+(1-\alpha)(B-\lambda C)\\ V&=\left(\begin{array}{cc}X &-\theta Y\\ \theta Y&X\end{array}\right)\\ Exp(alg(v))=Exp\left(\begin{array}{cc}w_\wedge&u \\0&-\lambda\end{array}\right) &=\left(\begin{array}{cc}R& V\cdot u \\0_{1\times 3}&s^{-1}\end{array}\right)\end{aligned}
vABCαsXYVExp(alg(v))=Exp(w∧0u−λ)=⎝⎛wuλ⎠⎞∈R7=θsinθ=θ1−cosθ=θ3θ−sinθ=λ2+θ2λ2=eλ=α(λ1−s−1)+(1−α)(A−λB)=α(λ2s−1−1+λ)+(1−α)(B−λC)=(XθY−θYX)=(R01×3V⋅us−1)
当
θ
\theta
θ和
λ
\lambda
λ比较小的时候,R和V中的系数可以通过泰勒级数展开计算。
9.4 伴随表示
X = ( R t 0 1 × 3 s − 1 ) ∈ S i m ( 3 ) A d j X = ( s R s t ∧ R − s t 0 3 × 3 R 0 3 × 1 0 1 × 3 0 1 × 3 1 ) \begin{aligned} X&=\left(\begin{array}{cc}R&t\\0_{1\times 3}&s^{-1}\end{array}\right) \in Sim(3)\\ Adj_X&=\left(\begin{array}{cc}sR&s t_\wedge R&-st\\0_{3\times3}&R&0_{3\times1}\\0_{1\times 3}&0_{1\times 3}&1\end{array}\right) \end{aligned} XAdjX=(R01×3ts−1)∈Sim(3)=⎝⎛sR03×301×3st∧RR01×3−st03×11⎠⎞
10. SL(3)
10.1 描述及表示
SL(3)是单位行列式线性变换群,其表示二维摄影平面上的同伦。它有8个自由的:平移对应2个自由度,缩放对应1个自由度,拉伸对应1个自由度,剪切对应1个自由度,还有2个自由度对应于视角改变。子群包括
A
f
f
(
2
)
Aff(2)
Aff(2)和
S
O
(
3
)
SO(3)
SO(3)。
H
∈
S
L
(
3
)
⊂
R
3
×
3
det
(
H
)
=
1
\begin{aligned} H &\in SL(3)\subset \R^{3\times 3}\\ \det (H)&=1 \end{aligned}
Hdet(H)∈SL(3)⊂R3×3=1
其逆为 H − 1 H^{-1} H−1
由向量映射为李代数HatSL3为: [ n ] G ∧ = ( n ( 5 ) n ( 3 ) n ( 1 ) n ( 4 ) − n ( 5 ) − n ( 6 ) n ( 2 ) n ( 7 ) n ( 8 ) n ( 6 ) ) [n]_G^{\wedge}=\left(\begin{array}{ccc}n(5)&n(3)&n(1)\\n(4)&-n(5)-n(6)&n(2)\\n(7)&n(8)&n(6)\end{array}\right) [n]G∧=⎝⎛n(5)n(4)n(7)n(3)−n(5)−n(6)n(8)n(1)n(2)n(6)⎠⎞
由李代数转化为向量VecSL3为: n = [ N ( 1 , 3 ) ; N ( 2 , 3 ) ; N ( 1 , 2 ) ; N ( 2 , 1 ) ; N ( 1 , 1 ) ; N ( 3 , 3 ) ; N ( 3 , 1 ) ; N ( 3 , 2 ) ] ∈ R 8 n=[N(1,3);N(2,3);N(1,2);N(2,1);N(1,1);N(3,3);N(3,1);N(3,2)]\in \mathbb{R}^8 n=[N(1,3);N(2,3);N(1,2);N(2,1);N(1,1);N(3,3);N(3,1);N(3,2)]∈R8
归一化normalize为 H n o r m = H . / ( det ( H ) 1 3 ) Hnorm=H./(\det(H)^{\frac{1}{3}}) Hnorm=H./(det(H)31)
x_dual_hat=dualHatSL3(x)= ( x ( 3 ) 0 x ( 2 ) 0 x ( 1 ) 0 0 0 0 x ( 3 ) 0 x ( 1 ) − x ( 2 ) − x ( 2 ) 0 0 0 0 0 0 0 x ( 3 ) x ( 1 ) x ( 2 ) ) \left(\begin{array}{cccccccc}x(3)&0&x(2)&0&x(1)&0&0&0\\ 0&x(3)&0&x(1)&-x(2)&-x(2)&0&0\\0&0&0&0&0&x(3)&x(1)&x(2)\end{array}\right) ⎝⎛x(3)000x(3)0x(2)000x(1)0x(1)−x(2)00−x(2)x(3)00x(1)00x(2)⎠⎞
10.2 李代数
李代数
s
l
(
3
)
\mathfrak{sl}(3)
sl(3)有8个生成元,所有生成元的迹为0:
G
1
=
(
0
0
1
0
0
0
0
0
0
)
,
G
2
=
(
0
0
0
0
0
1
0
0
0
)
,
G
3
=
(
0
−
1
0
1
0
0
0
0
0
)
,
G
4
=
(
1
0
0
0
1
0
0
0
−
2
)
,
G
5
=
(
1
0
0
0
1
0
0
0
0
)
,
G
6
=
(
0
1
0
1
0
0
0
0
0
)
,
G
7
=
(
0
0
0
0
0
0
1
0
0
)
,
G
8
=
(
0
0
0
0
0
0
0
1
0
)
\begin{aligned} G_1=\left(\begin{array}{ccc}0&0&1\\0&0&0\\0&0&0\end{array}\right), G_2&=\left(\begin{array}{ccc}0&0&0\\0&0&1\\0&0&0\end{array}\right), G_3=\left(\begin{array}{ccc}0&-1&0\\1&0&0\\0&0&0\end{array}\right),\\ G_4=\left(\begin{array}{ccc}1&0&0\\0&1&0\\0&0&-2\end{array}\right), G_5&=\left(\begin{array}{ccc}1&0&0\\0&1&0\\0&0&0\end{array}\right), G_6=\left(\begin{array}{ccc}0&1&0\\1&0&0\\0&0&0\end{array}\right),\\ G_7&=\left(\begin{array}{ccc}0&0&0\\0&0&0\\1&0&0\end{array}\right), G_8=\left(\begin{array}{ccc}0&0&0\\0&0&0\\0&1&0\end{array}\right) \end{aligned}
G1=⎝⎛000000100⎠⎞,G2G4=⎝⎛10001000−2⎠⎞,G5G7=⎝⎛000000010⎠⎞,G3=⎝⎛010−100000⎠⎞,=⎝⎛100010000⎠⎞,G6=⎝⎛010100000⎠⎞,=⎝⎛001000000⎠⎞,G8=⎝⎛000001000⎠⎞
10.3 指数映射和对数映射
从李代数到李群的指数映射没有闭合形式。它可以用任何一般的矩阵指数routine来计算 H = e x p m ( H a t S L 3 ( h ) ) H=expm(HatSL3(h)) H=expm(HatSL3(h))。
对数映射也是一样的: m = V e c S L 3 ( l o g m ( M ) ) m=VecSL3(logm(M)) m=VecSL3(logm(M))。
注意,任何无迹方阵的指数都是一个具有单位行列式的矩阵。 det ( exp ( A ) ) = exp ( t r ( A ) ) = 1 \det(\exp(A))=\exp(tr(A))=1 det(exp(A))=exp(tr(A))=1。
10.4 伴随表示
首先,我们把 s l ( 3 ) \mathfrak{sl}(3) sl(3)的元素( 3 × 3 3\times 3 3×3的矩阵)按照行主要书序重新写成为9维向量。然后,对于 h ∈ s l ( 3 ) h\in \mathfrak{sl}(3) h∈sl(3)和 H ∈ S L ( 3 ) H\in SL(3) H∈SL(3),其共轭 H ⋅ h ⋅ H − 1 H\cdot h\cdot H^{-1} H⋅h⋅H−1可以表述为h的元素上的线性映射 C H C_H CH。用 a l g − 1 alg^{-1} alg−1和 a l g alg alg分别左乘和右乘该线性映射就可以得到伴随表示。
记
[
a
l
g
]
=
(
0
0
0
1
1
0
0
0
0
0
−
1
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
0
0
0
1
−
1
0
0
0
0
1
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
1
0
0
0
−
2
0
0
0
0
)
∈
R
9
×
8
[
a
l
g
−
1
]
=
(
0
0
1
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
−
1
2
0
1
2
0
0
0
0
0
1
2
0
0
0
1
2
0
0
0
0
1
2
0
0
0
−
1
2
0
0
0
0
0
1
2
0
1
2
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
0
0
0
0
0
1
0
)
∈
R
8
×
9
C
H
=
(
H
11
H
−
T
H
12
H
−
T
H
13
H
−
T
H
21
H
−
T
H
22
H
−
T
H
23
H
−
T
H
31
H
−
T
H
32
H
−
T
H
33
H
−
T
)
\begin{aligned} \left[ alg\right]&=\left(\begin{array}{cccccccc}0&0&0&1&1&0&0&0\\ 0&0&-1&0&0&0&0&0\\ 1&0&0&0&0&0&0&0\\ 0&0&1&0&0&1&0&0\\ 0&0&0&1&-1&0&0&0\\ 0&1&0&0&0&0&0&0\\ 0&0&0&0&0&0&1&0\\ 0&0&0&0&0&0&0&1\\ 0&0&0&-2&0&0&0&0 \end{array}\right)\in \R^{9\times 8}\\ \left[ alg^{-1}\right]&=\left(\begin{array}{ccccccccc} 0&0&1&0&0&0&0&0&0\\ 0&0&0&0&0&1&0&0&0\\ 0&-\frac{1}{2}&0&\frac{1}{2}&0&0&0&0&0\\ \frac{1}{2}&0&0&0&\frac{1}{2}&0&0&0&0\\ \frac{1}{2}&0&0&0&-\frac{1}{2}&0&0&0&0\\ 0&\frac{1}{2}&0&\frac{1}{2}&0&0&0&0&0\\ 0&0&0&0&0&0&1&0&0\\ 0&0&0&0&0&0&0&1&0\\\end{array}\right)\in \R^{8\times 9}\\ C_H&=\left(\begin{array}{ccc}H_{11}H^{-T}&H_{12}H^{-T}&H_{13}H^{-T}\\ H_{21}H^{-T}&H_{22}H^{-T}&H_{23}H^{-T}\\ H_{31}H^{-T}&H_{32}H^{-T}&H_{33}H^{-T}\end{array}\right) \end{aligned}
[alg][alg−1]CH=⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎛0010000000000010000−1010000010001000−21000−10000000100000000000100000000010⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎞∈R9×8=⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎛000212100000−2100210010000000002100210000021−2100001000000000000100000000100000000⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎞∈R8×9=⎝⎛H11H−TH21H−TH31H−TH12H−TH22H−TH32H−TH13H−TH23H−TH33H−T⎠⎞
则
A
d
j
H
=
[
a
l
g
−
1
]
⋅
C
H
⋅
[
a
l
g
]
\begin{aligned} Adj_H&=[alg^{-1}]\cdot C_H \cdot [alg] \end{aligned}
AdjH=[alg−1]⋅CH⋅[alg]
ad_G表示:
a
d
=
a
d
S
L
3
(
h
)
∈
R
8
×
8
=
(
h
(
5
)
−
h
(
6
)
h
(
3
)
−
h
(
2
)
0
−
h
(
1
)
h
(
1
)
0
0
h
(
4
)
−
h
(
5
)
−
2
∗
h
(
6
)
0
−
h
(
1
)
h
(
2
)
2
∗
h
(
2
)
0
0
−
h
(
8
)
0
2
∗
h
(
5
)
+
h
(
6
)
0
−
2
∗
h
(
3
)
−
h
(
3
)
0
h
(
1
)
0
−
h
(
7
)
0
−
2
∗
h
(
5
)
−
h
(
6
)
2
∗
h
(
4
)
h
(
4
)
h
(
2
)
0
−
h
(
7
)
0
−
h
(
4
)
h
(
3
)
0
0
h
(
1
)
0
h
(
7
)
h
(
8
)
0
0
0
0
−
h
(
1
)
−
h
(
2
)
0
0
0
h
(
8
)
h
(
7
)
−
h
(
7
)
−
h
(
5
)
+
h
(
6
)
−
h
(
4
)
0
0
h
(
7
)
0
−
h
(
8
)
−
2
∗
h
(
8
)
−
h
(
3
)
h
(
5
)
+
2
∗
h
(
6
)
)
\begin{aligned} &\quad ad=ad_{SL3}(h)\in \R^{8\times 8}=\\ &\left(\begin{array}{cccccccc}h(5)-h(6)&h(3)&-h(2)&0&-h(1)&h(1)&0&0 \\h(4)&-h(5)-2*h(6)&0&-h(1)&h(2)&2*h(2)&0&0 \\-h(8)&0&2*h(5)+h(6)&0&-2*h(3)&-h(3)&0&h(1) \\0&-h(7)&0&-2*h(5)-h(6)&2*h(4)&h(4)&h(2)&0 \\-h(7)&0&-h(4)&h(3)&0&0&h(1)&0 \\h(7)&h(8)&0&0&0&0&-h(1)&-h(2) \\0&0&0&h(8)&h(7)&-h(7)&-h(5)+h(6)&-h(4) \\0&0&h(7)&0&-h(8)&-2*h(8)&-h(3)&h(5)+2*h(6) \end{array}\right) \end{aligned}
ad=adSL3(h)∈R8×8=⎝⎜⎜⎜⎜⎜⎜⎜⎜⎜⎜⎛h(5)−h(6)h(4)−h(8)0−h(7)h(7)00h(3)−h(5)−2∗h(6)0−h(7)0h(8)00−h(2)02∗h(5)+h(6)0−h(4)00h(7)0−h(1)0−2∗h(5)−h(6)h(3)0h(8)0−h(1)h(2)−2∗h(3)2∗h(4)00h(7)−h(8)h(1)2∗h(2)−h(3)h(4)00−h(7)−2∗h(8)000h(2)h(1)−h(1)−h(5)+h(6)−h(3)00h(1)00−h(2)−h(4)h(5)+2∗h(6)⎠⎟⎟⎟⎟⎟⎟⎟⎟⎟⎟⎞
Ad_G表示为
A
d
1
=
[
(
H
1
1
∗
H
2
2
−
H
1
2
∗
H
2
1
)
∗
H
1
1
;
(
H
1
1
∗
H
2
2
−
H
1
2
∗
H
2
1
)
∗
H
2
1
;
(
H
1
2
∗
H
3
1
−
H
1
1
∗
H
3
2
)
∗
H
1
1
;
(
H
2
1
∗
H
3
2
−
H
2
2
∗
H
3
1
)
∗
H
2
1
;
(
H
2
1
∗
H
3
2
−
H
2
2
∗
H
3
1
)
∗
H
1
1
;
(
H
1
1
∗
H
2
2
−
H
1
2
∗
H
2
1
)
∗
H
3
1
;
(
H
2
1
∗
H
3
2
−
H
2
2
∗
H
3
1
)
∗
H
3
1
;
(
H
1
2
∗
H
3
1
−
H
1
1
∗
H
3
2
)
∗
H
3
1
]
A
d
2
=
[
(
H
1
1
∗
H
2
2
−
H
1
2
∗
H
2
1
)
∗
H
1
2
;
(
H
1
1
∗
H
2
2
−
H
1
2
∗
H
2
1
)
∗
H
2
2
;
(
H
1
2
∗
H
3
1
−
H
1
1
∗
H
3
2
)
∗
H
1
2
;
(
H
2
1
∗
H
3
2
−
H
2
2
∗
H
3
1
)
∗
H
2
2
;
(
H
2
1
∗
H
3
2
−
H
2
2
∗
H
3
1
)
∗
H
1
2
;
(
H
1
1
∗
H
2
2
−
H
1
2
∗
H
2
1
)
∗
H
3
2
;
(
H
2
1
∗
H
3
2
−
H
2
2
∗
H
3
1
)
∗
H
3
2
;
(
H
1
2
∗
H
3
1
−
H
1
1
∗
H
3
2
)
∗
H
3
2
]
;
A
d
3
=
[
(
H
1
3
∗
H
2
1
−
H
1
1
∗
H
2
3
)
∗
H
1
1
;
(
H
1
3
∗
H
2
1
−
H
1
1
∗
H
2
3
)
∗
H
2
1
;
(
H
1
1
∗
H
3
3
−
H
1
3
∗
H
3
1
)
∗
H
1
1
;
(
H
2
3
∗
H
3
1
−
H
2
1
∗
H
3
3
)
∗
H
2
1
;
(
H
2
3
∗
H
3
1
−
H
2
1
∗
H
3
3
)
∗
H
1
1
;
(
H
1
3
∗
H
2
1
−
H
1
1
∗
H
2
3
)
∗
H
3
1
;
(
H
2
3
∗
H
3
1
−
H
2
1
∗
H
3
3
)
∗
H
3
1
;
(
H
1
1
∗
H
3
3
−
H
1
3
∗
H
3
1
)
∗
H
3
1
]
;
A
d
4
=
[
(
H
1
2
∗
H
2
3
−
H
1
3
∗
H
2
2
)
∗
H
1
2
;
(
H
1
2
∗
H
2
3
−
H
1
3
∗
H
2
2
)
∗
H
2
2
;
(
H
1
3
∗
H
3
2
−
H
1
2
∗
H
3
3
)
∗
H
1
2
;
(
H
2
2
∗
H
3
3
−
H
2
3
∗
H
3
2
)
∗
H
2
2
;
(
H
2
2
∗
H
3
3
−
H
2
3
∗
H
3
2
)
∗
H
1
2
;
(
H
1
2
∗
H
2
3
−
H
1
3
∗
H
2
2
)
∗
H
3
2
;
(
H
2
2
∗
H
3
3
−
H
2
3
∗
H
3
2
)
∗
H
3
2
;
(
H
1
3
∗
H
3
2
−
H
1
2
∗
H
3
3
)
∗
H
3
2
]
;
A
d
5
=
[
(
H
1
2
∗
H
2
3
−
H
1
3
∗
H
2
2
)
∗
H
1
1
−
(
H
1
3
∗
H
2
1
−
H
1
1
∗
H
2
3
)
∗
H
1
2
;
(
H
1
2
∗
H
2
3
−
H
1
3
∗
H
2
2
)
∗
H
2
1
−
(
H
1
3
∗
H
2
1
−
H
1
1
∗
H
2
3
)
∗
H
2
2
;
(
H
1
3
∗
H
3
2
−
H
1
2
∗
H
3
3
)
∗
H
1
1
−
(
H
1
1
∗
H
3
3
−
H
1
3
∗
H
3
1
)
∗
H
1
2
;
(
H
2
2
∗
H
3
3
−
H
2
3
∗
H
3
2
)
∗
H
2
1
−
(
H
2
3
∗
H
3
1
−
H
2
1
∗
H
3
3
)
∗
H
2
2
;
(
H
2
2
∗
H
3
3
−
H
2
3
∗
H
3
2
)
∗
H
1
1
−
(
H
2
3
∗
H
3
1
−
H
2
1
∗
H
3
3
)
∗
H
1
2
;
(
H
1
2
∗
H
2
3
−
H
1
3
∗
H
2
2
)
∗
H
3
1
−
(
H
1
3
∗
H
2
1
−
H
1
1
∗
H
2
3
)
∗
H
3
2
;
(
H
2
2
∗
H
3
3
−
H
2
3
∗
H
3
2
)
∗
H
3
1
−
(
H
2
3
∗
H
3
1
−
H
2
1
∗
H
3
3
)
∗
H
3
2
;
(
H
1
3
∗
H
3
2
−
H
1
2
∗
H
3
3
)
∗
H
3
1
−
(
H
1
1
∗
H
3
3
−
H
1
3
∗
H
3
1
)
∗
H
3
2
]
;
A
d
6
=
[
(
H
1
1
∗
H
2
2
−
H
1
2
∗
H
2
1
)
∗
H
1
3
−
(
H
1
3
∗
H
2
1
−
H
1
1
∗
H
2
3
)
∗
H
1
2
;
(
H
1
1
∗
H
2
2
−
H
1
2
∗
H
2
1
)
∗
H
2
3
−
(
H
1
3
∗
H
2
1
−
H
1
1
∗
H
2
3
)
∗
H
2
2
;
(
H
1
2
∗
H
3
1
−
H
1
1
∗
H
3
2
)
∗
H
1
3
−
(
H
1
1
∗
H
3
3
−
H
1
3
∗
H
3
1
)
∗
H
1
2
;
(
H
2
1
∗
H
3
2
−
H
2
2
∗
H
3
1
)
∗
H
2
3
−
(
H
2
3
∗
H
3
1
−
H
2
1
∗
H
3
3
)
∗
H
2
2
;
(
H
2
1
∗
H
3
2
−
H
2
2
∗
H
3
1
)
∗
H
1
3
−
(
H
2
3
∗
H
3
1
−
H
2
1
∗
H
3
3
)
∗
H
1
2
;
(
H
1
1
∗
H
2
2
−
H
1
2
∗
H
2
1
)
∗
H
3
3
−
(
H
1
3
∗
H
2
1
−
H
1
1
∗
H
2
3
)
∗
H
3
2
;
(
H
2
1
∗
H
3
2
−
H
2
2
∗
H
3
1
)
∗
H
3
3
−
(
H
2
3
∗
H
3
1
−
H
2
1
∗
H
3
3
)
∗
H
3
2
;
(
H
1
2
∗
H
3
1
−
H
1
1
∗
H
3
2
)
∗
H
3
3
−
(
H
1
1
∗
H
3
3
−
H
1
3
∗
H
3
1
)
∗
H
3
2
]
;
A
d
7
=
[
(
H
1
2
∗
H
2
3
−
H
1
3
∗
H
2
2
)
∗
H
1
3
;
(
H
1
2
∗
H
2
3
−
H
1
3
∗
H
2
2
)
∗
H
2
3
;
(
H
1
3
∗
H
3
2
−
H
1
2
∗
H
3
3
)
∗
H
1
3
;
(
H
2
2
∗
H
3
3
−
H
2
3
∗
H
3
2
)
∗
H
2
3
;
(
H
2
2
∗
H
3
3
−
H
2
3
∗
H
3
2
)
∗
H
1
3
;
(
H
1
2
∗
H
2
3
−
H
1
3
∗
H
2
2
)
∗
H
3
3
;
(
H
2
2
∗
H
3
3
−
H
2
3
∗
H
3
2
)
∗
H
3
3
;
(
H
1
3
∗
H
3
2
−
H
1
2
∗
H
3
3
)
∗
H
3
3
]
;
A
d
8
=
[
(
H
1
3
∗
H
2
1
−
H
1
1
∗
H
2
3
)
∗
H
1
3
;
(
H
1
3
∗
H
2
1
−
H
1
1
∗
H
2
3
)
∗
H
2
3
;
(
H
1
1
∗
H
3
3
−
H
1
3
∗
H
3
1
)
∗
H
1
3
;
(
H
2
3
∗
H
3
1
−
H
2
1
∗
H
3
3
)
∗
H
2
3
;
(
H
2
3
∗
H
3
1
−
H
2
1
∗
H
3
3
)
∗
H
1
3
;
(
H
1
3
∗
H
2
1
−
H
1
1
∗
H
2
3
)
∗
H
3
3
;
(
H
2
3
∗
H
3
1
−
H
2
1
∗
H
3
3
)
∗
H
3
3
;
(
H
1
1
∗
H
3
3
−
H
1
3
∗
H
3
1
)
∗
H
3
3
]
;
A
d
=
A
d
S
L
3
(
H
)
=
(
A
d
1
A
d
2
A
d
3
A
d
4
A
d
5
A
d
6
A
d
7
A
d
8
)
∈
R
8
×
8
\begin{aligned} Ad1=&[(H1_1*H2_2 - H1_2*H2_1)*H1_1; (H1_1*H2_2 - H1_2*H2_1)*H2_1; \\ &(H1_2*H3_1 - H1_1*H3_2)*H1_1; (H2_1*H3_2 - H2_2*H3_1)*H2_1;\\ &(H2_1*H3_2 - H2_2*H3_1)*H1_1; (H1_1*H2_2 - H1_2*H2_1)*H3_1;\\ &(H2_1*H3_2 - H2_2*H3_1)*H3_1; (H1_2*H3_1 - H1_1*H3_2)*H3_1]\\ Ad2 = &[ (H1_1*H2_2 - H1_2*H2_1)*H1_2 ; (H1_1*H2_2 - H1_2*H2_1)*H2_2;\\ &(H1_2*H3_1 - H1_1*H3_2)*H1_2; (H2_1*H3_2 - H2_2*H3_1)*H2_2;\\ &(H2_1*H3_2 - H2_2*H3_1)*H1_2; (H1_1*H2_2 - H1_2*H2_1)*H3_2 ;\\ &(H2_1*H3_2 - H2_2*H3_1)*H3_2; (H1_2*H3_1 - H1_1*H3_2)*H3_2 ];\\ Ad3 = &[ (H1_3*H2_1 - H1_1*H2_3)*H1_1; (H1_3*H2_1 - H1_1*H2_3)*H2_1;\\ &(H1_1*H3_3 - H1_3*H3_1)*H1_1; (H2_3*H3_1 - H2_1*H3_3)*H2_1 ;\\ &(H2_3*H3_1 - H2_1*H3_3)*H1_1; (H1_3*H2_1 - H1_1*H2_3)*H3_1 ;\\ &(H2_3*H3_1 - H2_1*H3_3)*H3_1; (H1_1*H3_3 - H1_3*H3_1)*H3_1 ]; \\ Ad4 = &[ (H1_2*H2_3 - H1_3*H2_2)*H1_2 ; (H1_2*H2_3 - H1_3*H2_2)*H2_2;\\ &(H1_3*H3_2 - H1_2*H3_3)*H1_2; (H2_2*H3_3 - H2_3*H3_2)*H2_2 ;\\ &(H2_2*H3_3 - H2_3*H3_2)*H1_2; (H1_2*H2_3 - H1_3*H2_2)*H3_2 ;\\ &(H2_2*H3_3 - H2_3*H3_2)*H3_2 ; (H1_3*H3_2 - H1_2*H3_3)*H3_2 ];\\ Ad5 = &[ (H1_2*H2_3 - H1_3*H2_2)*H1_1 - (H1_3*H2_1 - H1_1*H2_3)*H1_2;\\ &(H1_2*H2_3 - H1_3*H2_2)*H2_1 - (H1_3*H2_1 - H1_1*H2_3)*H2_2;\\ &(H1_3*H3_2 - H1_2*H3_3)*H1_1 - (H1_1*H3_3 - H1_3*H3_1)*H1_2;\\ &(H2_2*H3_3 - H2_3*H3_2)*H2_1 - (H2_3*H3_1 - H2_1*H3_3)*H2_2 ;\\ &(H2_2*H3_3 - H2_3*H3_2)*H1_1 - (H2_3*H3_1 - H2_1*H3_3)*H1_2;\\ &(H1_2*H2_3 - H1_3*H2_2)*H3_1 - (H1_3*H2_1 - H1_1*H2_3)*H3_2 ;\\ &(H2_2*H3_3 - H2_3*H3_2)*H3_1 - (H2_3*H3_1 - H2_1*H3_3)*H3_2;\\ &(H1_3*H3_2 - H1_2*H3_3)*H3_1 - (H1_1*H3_3 - H1_3*H3_1)*H3_2 ];\\ Ad6 = &[ (H1_1*H2_2 - H1_2*H2_1)*H1_3 - (H1_3*H2_1 - H1_1*H2_3)*H1_2;\\ &(H1_1*H2_2 - H1_2*H2_1)*H2_3 - (H1_3*H2_1 - H1_1*H2_3)*H2_2;\\ &(H1_2*H3_1 - H1_1*H3_2)*H1_3 - (H1_1*H3_3 - H1_3*H3_1)*H1_2;\\ &(H2_1*H3_2 - H2_2*H3_1)*H2_3 - (H2_3*H3_1 - H2_1*H3_3)*H2_2 ;\\ &(H2_1*H3_2 - H2_2*H3_1)*H1_3 - (H2_3*H3_1 - H2_1*H3_3)*H1_2;\\ &(H1_1*H2_2 - H1_2*H2_1)*H3_3 - (H1_3*H2_1 - H1_1*H2_3)*H3_2 ;\\ &(H2_1*H3_2 - H2_2*H3_1)*H3_3 - (H2_3*H3_1 - H2_1*H3_3)*H3_2;\\ &(H1_2*H3_1 - H1_1*H3_2)*H3_3 - (H1_1*H3_3 - H1_3*H3_1)*H3_2 ]; \\ Ad7 = &[(H1_2*H2_3 - H1_3*H2_2)*H1_3 ; (H1_2*H2_3 - H1_3*H2_2)*H2_3;\\ &(H1_3*H3_2 - H1_2*H3_3)*H1_3; (H2_2*H3_3 - H2_3*H3_2)*H2_3 ;\\ &(H2_2*H3_3 - H2_3*H3_2)*H1_3; (H1_2*H2_3 - H1_3*H2_2)*H3_3 ;\\ &(H2_2*H3_3 - H2_3*H3_2)*H3_3 ; (H1_3*H3_2 - H1_2*H3_3)*H3_3 ]; \\ Ad8 = &[(H1_3*H2_1 - H1_1*H2_3)*H1_3; (H1_3*H2_1 - H1_1*H2_3)*H2_3;\\ &(H1_1*H3_3 - H1_3*H3_1)*H1_3; (H2_3*H3_1 - H2_1*H3_3)*H2_3 ;\\ &(H2_3*H3_1 - H2_1*H3_3)*H1_3; (H1_3*H2_1 - H1_1*H2_3)*H3_3 ;\\ &(H2_3*H3_1 - H2_1*H3_3)*H3_3; (H1_1*H3_3 - H1_3*H3_1)*H3_3];\\ Ad=Ad_{SL3}(H)&= \left(\begin{array}{cccccccc}Ad1 &Ad2 &Ad3 &Ad4 &Ad5 &Ad6 &Ad7 &Ad8 \end{array}\right) \in \R^{8\times 8} \end{aligned}
Ad1=Ad2=Ad3=Ad4=Ad5=Ad6=Ad7=Ad8=Ad=AdSL3(H)[(H11∗H22−H12∗H21)∗H11;(H11∗H22−H12∗H21)∗H21;(H12∗H31−H11∗H32)∗H11;(H21∗H32−H22∗H31)∗H21;(H21∗H32−H22∗H31)∗H11;(H11∗H22−H12∗H21)∗H31;(H21∗H32−H22∗H31)∗H31;(H12∗H31−H11∗H32)∗H31][(H11∗H22−H12∗H21)∗H12;(H11∗H22−H12∗H21)∗H22;(H12∗H31−H11∗H32)∗H12;(H21∗H32−H22∗H31)∗H22;(H21∗H32−H22∗H31)∗H12;(H11∗H22−H12∗H21)∗H32;(H21∗H32−H22∗H31)∗H32;(H12∗H31−H11∗H32)∗H32];[(H13∗H21−H11∗H23)∗H11;(H13∗H21−H11∗H23)∗H21;(H11∗H33−H13∗H31)∗H11;(H23∗H31−H21∗H33)∗H21;(H23∗H31−H21∗H33)∗H11;(H13∗H21−H11∗H23)∗H31;(H23∗H31−H21∗H33)∗H31;(H11∗H33−H13∗H31)∗H31];[(H12∗H23−H13∗H22)∗H12;(H12∗H23−H13∗H22)∗H22;(H13∗H32−H12∗H33)∗H12;(H22∗H33−H23∗H32)∗H22;(H22∗H33−H23∗H32)∗H12;(H12∗H23−H13∗H22)∗H32;(H22∗H33−H23∗H32)∗H32;(H13∗H32−H12∗H33)∗H32];[(H12∗H23−H13∗H22)∗H11−(H13∗H21−H11∗H23)∗H12;(H12∗H23−H13∗H22)∗H21−(H13∗H21−H11∗H23)∗H22;(H13∗H32−H12∗H33)∗H11−(H11∗H33−H13∗H31)∗H12;(H22∗H33−H23∗H32)∗H21−(H23∗H31−H21∗H33)∗H22;(H22∗H33−H23∗H32)∗H11−(H23∗H31−H21∗H33)∗H12;(H12∗H23−H13∗H22)∗H31−(H13∗H21−H11∗H23)∗H32;(H22∗H33−H23∗H32)∗H31−(H23∗H31−H21∗H33)∗H32;(H13∗H32−H12∗H33)∗H31−(H11∗H33−H13∗H31)∗H32];[(H11∗H22−H12∗H21)∗H13−(H13∗H21−H11∗H23)∗H12;(H11∗H22−H12∗H21)∗H23−(H13∗H21−H11∗H23)∗H22;(H12∗H31−H11∗H32)∗H13−(H11∗H33−H13∗H31)∗H12;(H21∗H32−H22∗H31)∗H23−(H23∗H31−H21∗H33)∗H22;(H21∗H32−H22∗H31)∗H13−(H23∗H31−H21∗H33)∗H12;(H11∗H22−H12∗H21)∗H33−(H13∗H21−H11∗H23)∗H32;(H21∗H32−H22∗H31)∗H33−(H23∗H31−H21∗H33)∗H32;(H12∗H31−H11∗H32)∗H33−(H11∗H33−H13∗H31)∗H32];[(H12∗H23−H13∗H22)∗H13;(H12∗H23−H13∗H22)∗H23;(H13∗H32−H12∗H33)∗H13;(H22∗H33−H23∗H32)∗H23;(H22∗H33−H23∗H32)∗H13;(H12∗H23−H13∗H22)∗H33;(H22∗H33−H23∗H32)∗H33;(H13∗H32−H12∗H33)∗H33];[(H13∗H21−H11∗H23)∗H13;(H13∗H21−H11∗H23)∗H23;(H11∗H33−H13∗H31)∗H13;(H23∗H31−H21∗H33)∗H23;(H23∗H31−H21∗H33)∗H13;(H13∗H21−H11∗H23)∗H33;(H23∗H31−H21∗H33)∗H33;(H11∗H33−H13∗H31)∗H33];=(Ad1Ad2Ad3Ad4Ad5Ad6Ad7Ad8)∈R8×8
泰勒级数
下文都是当参数接近于0的时候,上述方程中系数的泰勒级数展开近似形式:
sin
θ
θ
=
1
−
θ
2
6
+
θ
4
120
−
θ
6
5040
+
O
(
θ
8
)
≈
1
−
θ
2
6
(
1
−
θ
2
20
(
1
−
θ
2
42
)
)
\begin{aligned} \frac{\sin\theta}{\theta}=1-\frac{\theta^2}{6}+\frac{\theta^4}{120}-\frac{\theta^6}{5040}+\mathcal{O}(\theta^8)\approx 1-\frac{\theta^2}{6}(1-\frac{\theta^2}{20}(1-\frac{\theta^2}{42})) \end{aligned}
θsinθ=1−6θ2+120θ4−5040θ6+O(θ8)≈1−6θ2(1−20θ2(1−42θ2))
1 − cos θ θ 2 = 1 2 − θ 2 24 + θ 4 720 − θ 6 40320 + O ( θ 8 ) ≈ 1 2 ( 1 − θ 2 12 ( 1 − θ 2 30 ( 1 − θ 2 56 ) ) ) \begin{aligned} \frac{1-\cos\theta}{\theta^2}&=\frac{1}{2}-\frac{\theta^2}{24}+\frac{\theta^4}{720}-\frac{\theta^6}{40320}+\mathcal{O}(\theta^8)\approx \frac{1}{2}(1-\frac{\theta^2}{12}(1-\frac{\theta^2}{30}(1-\frac{\theta^2}{56}))) \end{aligned} θ21−cosθ=21−24θ2+720θ4−40320θ6+O(θ8)≈21(1−12θ2(1−30θ2(1−56θ2)))
θ − sin θ θ 3 = 1 6 − θ 2 120 + θ 4 5040 − θ 6 362880 + O ( θ 8 ) ≈ 1 6 ( 1 − θ 2 20 ( 1 − θ 2 42 ( 1 − θ 2 72 ) ) ) \begin{aligned} \frac{\theta-\sin\theta}{\theta^3}&=\frac{1}{6}-\frac{\theta^2}{120}+\frac{\theta^4}{5040}-\frac{\theta^6}{362880}+\mathcal{O}(\theta^8)\approx \frac{1}{6}(1-\frac{\theta^2}{20}(1-\frac{\theta^2}{42}(1-\frac{\theta^2}{72}))) \end{aligned} θ3θ−sinθ=61−120θ2+5040θ4−362880θ6+O(θ8)≈61(1−20θ2(1−42θ2(1−72θ2)))
1 2 − 1 − cos θ θ 2 θ 2 = 1 24 − θ 2 720 + θ 4 40320 − θ 6 3628800 + O ( θ 8 ) ≈ 1 24 ( 1 − θ 2 30 ( 1 − θ 2 56 ( 1 − θ 2 90 ) ) ) \begin{aligned} \frac{\frac{1}{2}-\frac{1-\cos\theta}{\theta^2}}{\theta^2}&=\frac{1}{24}-\frac{\theta^2}{720}+\frac{\theta^4}{40320}-\frac{\theta^6}{3628800}+\mathcal{O}(\theta^8) \approx \frac{1}{24}(1-\frac{\theta^2}{30}(1-\frac{\theta^2}{56}(1-\frac{\theta^2}{90}))) \end{aligned} θ221−θ21−cosθ=241−720θ2+40320θ4−3628800θ6+O(θ8)≈241(1−30θ2(1−56θ2(1−90θ2)))
1 θ 2 ( 1 − θ sin θ 2 ( 1 − cos θ ) ) = 1 12 + θ 2 720 + θ 4 30240 + θ 6 1209600 + O ( θ 8 ) ≈ 1 12 ( 1 + θ 2 60 ( 1 + θ 2 42 ( 1 + θ 2 40 ) ) ) \begin{aligned} \frac{1}{\theta^2}(1-\frac{\theta\sin\theta}{2(1-\cos\theta)}) &=\frac{1}{12}+\frac{\theta^2}{720}+\frac{\theta^4}{30240}+\frac{\theta^6}{1209600}+\mathcal{O}(\theta^8)\\ &\approx \frac{1}{12}(1+\frac{\theta^2}{60}(1+\frac{\theta^2}{42}(1+\frac{\theta^2}{40}))) \end{aligned} θ21(1−2(1−cosθ)θsinθ)=121+720θ2+30240θ4+1209600θ6+O(θ8)≈121(1+60θ2(1+42θ2(1+40θ2)))
1 − e − λ λ = 1 − λ 2 + λ 2 6 − λ 3 24 + O ( λ 4 ) ≈ 1 − λ 2 ( 1 − λ 3 ( 1 − λ 4 ) ) \begin{aligned} \frac{1-e^{-\lambda}}{\lambda} =1-\frac{\lambda}{2}+\frac{\lambda^2}{6}-\frac{\lambda^3}{24}+\mathcal{O}(\lambda^4) \approx 1-\frac{\lambda}{2}(1-\frac{\lambda}{3}(1-\frac{\lambda}{4})) \end{aligned} λ1−e−λ=1−2λ+6λ2−24λ3+O(λ4)≈1−2λ(1−3λ(1−4λ))
e − λ − 1 + λ λ = 1 2 − λ 6 + λ 2 24 − λ 3 120 + O ( λ 4 ) ≈ 1 2 ( 1 − λ 3 ( 1 − λ 4 ( 1 − λ 5 ) ) ) \begin{aligned} \frac{e^{-\lambda}-1+\lambda}{\lambda} =\frac{1}{2}-\frac{\lambda}{6}+\frac{\lambda^2}{24}-\frac{\lambda^3}{120}+\mathcal{O}(\lambda^4) \approx \frac{1}{2}(1-\frac{\lambda}{3}(1-\frac{\lambda}{4}(1-\frac{\lambda}{5}))) \end{aligned} λe−λ−1+λ=21−6λ+24λ2−120λ3+O(λ4)≈21(1−3λ(1−4λ(1−5λ)))
1 2 − e − λ − 1 + λ λ 2 λ = 1 6 − λ 24 + λ 2 120 − λ 3 720 + O ( λ 4 ) ≈ 1 6 ( 1 − λ 4 ( 1 − λ 5 ( 1 − λ 6 ) ) ) \begin{aligned} \frac{\frac{1}{2}-\frac{e^{-\lambda}-1+\lambda}{\lambda^2}}{\lambda} =\frac{1}{6}-\frac{\lambda}{24}+\frac{\lambda^2}{120}-\frac{\lambda^3}{720}+\mathcal{O}(\lambda^4) \approx \frac{1}{6}(1-\frac{\lambda}{4}(1-\frac{\lambda}{5}(1-\frac{\lambda}{6}))) \end{aligned} λ21−λ2e−λ−1+λ=61−24λ+120λ2−720λ3+O(λ4)≈61(1−4λ(1−5λ(1−6λ)))