本节书摘来自华章社区《机器人与数字人:基于MATLAB的建模与控制》一书中的第2章,第2.2节李群和李代数,作者[美]顾友谅(Edward Y.L.Gu),更多章节内容可以访问云栖社区“华章社区”公众号查看
2.2李群和李代数
在数学中[4,5],与集合论不同,群论在研究集合或者一组元素时,通常连同其某种运算一起研究。
定义1一个群是由一个集合G连同其布尔运算“”来定义的,并满足如下条件。
1闭合律:对于任意a, b∈G,ab=c∈G。
2结合律:对于所有a,b,c∈G,(ab)c=a(bc)。
3单位律:存在单位元ι∈G,对于所有g∈G,使得等式ιg=gι=g成立。
4交换律:对于每个g∈G,存在一个元素h∈G,使得gh=hg=ι。
所有实整数与加法相关联形成加法群,但与乘法因为违反了交换律条件而不成立。所有实数(复数)与加法或乘法分别组成加法群或者乘法群,它们也能成为域,称为实数域(复数域)。
20
如果集合连同某一运算满足所有条件(除了交换律之外),即使单位律条件仍能保持,那么,集合也只能形成半群。相比之下,三维实向量的集合在瘙綆3空间下的叉积既不是群也不是半群,因为它不满足结合律、单位律和交换律条件。
根据元素的个数和元素变换属性,群可以分为有限群和无限群、离散群和连续群。李群是典型的无限连续群。例如,所有n×n阶非奇异实数矩阵与乘法运算形成线性李群GL(n)。所有n×n阶正交实数矩阵与乘法运算形成正交李群O(n),进一步把正交李群O(n)的正交矩阵的行列式变为+1,它将变成特殊正交群。每一个旋转矩阵属于特殊正交群——SO(3)群。
然而,许多有用的集合在某种二元运算中违背任意一个或者更多群定义的条件时,即使它们非常有用,也不是群。为了对它们进行进一步研究和应用,就需要解除限制。李代数是最典型和重要的方法之一,可以挽救被群的定义排除的有用集合。
定义2李代数在实数域瘙綆或者复数域瘙綇上的向量空间,存在双线性映射(X,Y)→[X,Y]定义为×→,而且
1对所有X, Y∈,有[X,Y ]=-[Y,X]。
2对所有X,Y,Z∈,有[X,[Y,Z]]+[Y,[Z,X]]+[Z,[X,Y]]=0。
上述定义中的第二个方程称为雅可比恒等式。现在,所有的三维实向量连同叉积运算构成李代数,即使它们不是李群。对于a×b=[a,b]=c,可以改写为S(a)b=c,其中S(a)是向量a∈瘙綆3的3×3斜对称矩阵。也就是说,[a,·]=S(a)·=a×是一种运算。这种李代数常用小写字母定义为so(3)。例如,如果给定两个向量为
a=3
2
-1,b=-1
0
2
为求c=[a, b]=a×b,先为向量a构造一个斜对称矩阵
S(a)=a×=012
-10-3
-230∈so(3)
(23)
那么,很显然可以得到
21
c=[a,b]=a×b=S(a)b=4
-5
2
与使用常规微积分和物理学行列式的方法一样,可得到如下的结果:
c=a×b=ijk
32-1
-102=4i-5j+2k
李代数的典型例子还包括矩阵交换和向量场导数。所有n×n阶实方阵连同交换算子[A,B]=AB-BA构成了李代数。也可以证明:由光滑函数上任意点x∈瘙綆n所限制的n维实向量域,在如下李算式下也能组成李代数。
[f,g]=gxf-fxg(24)
下面来看一个有趣的特性:两个向量a和b,以及它们的斜对称矩阵S(a)=a×和S(b)=b×分别作为向量a和b的叉积。那么,[S(a), S(b)]=S(a)S(b)-S(b)S(a)交换算子代表了什么意义?首先,通过对两边取转置,得到的斜对称矩阵交换算子[S(a), S(b)]仍然是斜对称矩阵,并且满足闭合律条件。令v∈瘙綆3为任意向量,那么
S(a),S(b)v=S(a)S(b)v-S(b)S(a)v=a×(b×v)-b×(a×v)
这也是两个向量三重积的差值。根据式(21)可以得到
[S(a),S(b)]v=(aTv)b-(aTb)v-(bTv)a+(bTa)v
=(aTv)b-(bTv)a=(a×b)×v
由于v是任意向量,上面的方程表明
[S(a),S(b)]=(a×b)×=S(a×b)(25)
这也就是叉积运算a×b。
现在继续之前的数值实例,即S(a)由式(23)来确定,而
S(b)=b×=0-20
201
0-10
22
因此,
[S(a),S(b)]=S(a)S(b)-S(b)S(a)
=2-21
050
643-206
-254
103=0-25
20-4
540
这完全符合S(c)=c×=S(a×b)。
在数学史上,李群和李代数的最重要理论发现之一是如下的指数映射:
EXP:so(3)→SO(3)(26)
这种映射意味着,对于每个3×3斜对称矩阵S∈so(3),其指数函数exp(S)=R∈SO(3)始终是旋转矩阵。换句话说,指数映射可以将任何有限维度的李代数转化为李群。这种映射非常有用,作为机器人运动学的理论基础,可以用来表达坐标系旋转和姿态[4, 6, 8] 。