笔者这些日子一直在学四元数Kalman滤波,看的文献有工程师写的,也有数学、物理工作者写的.读书的时候笔者就曾听说过四元数,在现代物理里,四元数似乎并没有起到很大的作用,物理工作者更多谈及的是的Lie代数.但笔者发现,若将表述为四元数的形式,似乎可以得到一些有意思的结论.这里笔者就讲一讲读文献的时候想到的、文献里大抵没有的东西.

约定

首先约定一些符号表征方法.笔者使用西文字母作为取值为的抽象指标,使用希腊字母作为取值为的抽象指标,抽象指标之间使用Einstein求和约定,即相同指标表示求和.严格的讲,使用Einstein求和约定时必须是一对上下指标表示求和.但本文将放宽这一约定,所有指标均使用下标,不再考虑上下指标的差异.在不加声明的情况下读者应能自行分辨求和对象和求和范围,笔者不再额外声明.

然后是一些常用记号.

  • :单位矩阵.在不加声明的情况下读者应能自行分辨其维数,笔者不再额外声明.

  • :Kronecker符号,其定义如下:

  • :Levi-Civita符号,其定义如下:

的定义与之相同.

  • :Pauli矩阵,其定义如下:

$$\begin{equation}
\sigma_1 = \left(\right);

\sigma_2 =
\left(\right);

\sigma_3 =
\left(\right).
\end{equation}$$

容易证明Pauli矩阵具有如下对易关系(多层内积空间与泡利矩阵(Pauli matrices)的运算性质):

Missing or unrecognized delimiter for \left\begin{equation}\begin{split} \left{\sigma_a,\sigma_b\right} = \sigma_a\sigma_b + \sigma_b\sigma_a = 2\delta_{ab}I. \end{split}\end{equation}

从以上两则关系可以推出

群的定义

群是一般线性群的一个子群(这意味着的元素是可逆的),它描述了3维空间的转动,其定义如下:

Missing or unrecognized delimiter for \left\begin{equation}\begin{split} SO(3) = \left{ R\in GL(3,\mathbb{R}): R^T = R^{-1},det(R) = 1\right}, \end{split}\end{equation}

其中的群元限制在正交子群内,使矩阵只产生旋转,不会对空间进行拉伸或者压缩,而使得矩阵保定向,不会将右手系变成左手系.对于任意的,虽然其拥有9个矩阵元,但上述定义给出了正交性要求,对任意,正交性使得9个矩阵元满足9个方程,由于Kronecker符号的对称性,这9个方程中相互独立的方程只有3(3-1)/2=6个,9个矩阵元要满足6个约束条件,因此独立矩阵元的数目实际只有3个.这三个矩阵元分别对应了绕三个正交坐标轴的旋转变换,我们用Euler角描述这一性质.

Euler角

规定3个Euler角分别是横滚角(Roll),俯仰角(Pitch),航向角(Yaw),它们分别对应绕轴的旋转.

这样规定是因为在工程项目中,载具通常使用前左上(FLU)坐标系,即载具机头朝前时,载具前、左、上三个方向分别为轴正方向.在这种坐标系中,横滚角描述了载具立轴与铅垂线的夹角,这是一个绕轴的转动;俯仰角描述了载具纵轴与水平面的夹角,这是一个绕轴的转动;航向角描述了载具纵轴与子午面的夹角,这是一个绕轴的转动.

规定绕轴逆时针旋转基底(坐标系)的变换矩阵分别为,顺时针旋转基底(坐标系)的变换矩阵为前3个矩阵的逆变换(这些矩阵需要从左向右作用在基底列上).通过简单的计算可以得到:

通过上述3个基础旋转可以组合得到3维空间中的任意旋转,要注意的是旋转顺序不可交换,有效的旋转顺序一共有12种,本文采用旋转顺序.顺序的旋转矩阵是上述3个逆时针旋转的复合,它们按从左到右的顺序依次作用到坐标系的基底列上

当旋转对象是参考向量的坐标时,则对于同样的旋转矩阵,坐标的旋转方向刚好与基底的旋转方向相反.

生成元

生成元的定义是Lie群在单位元处的切空间.根据单位元的定义,容易判断的单位元是单位阵,此时Euler角参数均为0.对求偏导数就得到了生成元:

$$\begin{equation}\begin{split}
\varepsilon_1 &= \frac{\partial R(r,p,y)}{\partial r}\Bigg|{(0,0,0)}
=
\left(\right);\
\varepsilon_2 &= \frac{\partial R(r,p,y)}{\partial p}\Bigg|
{(0,0,0)}
=
\left(\right);\
\varepsilon_3 &= \frac{\partial R(r,p,y)}{\partial y}\Bigg|_{(0,0,0)}
=
\left(\right).
\end{split}\end{equation}$$

用上述3个生成元可以张成一个线性空间,它是Lie群的Lie代数的一个表示,称为基本表示.容易证明满足结构方程


其中的结构常数.通过伴随作用可以得到伴随表示

这表示的基本表示与伴随表示等同.

四元数乘法群

四元数的定义

表示四元数的基底(这里只是借用线性代数的名词,虽然以为基底确实构成了一个线性空间,但我们并不会使用这一性质),记表示全体四元数构成的集合.

上的群结构

上具有一种乘法,具备以下特性:

  1. 封闭性,根据Pauli矩阵的对易关系

可以得到

$$g_a g_b=\varepsilon_{abc}g_c-\delta_{ab}g_0,$$

于是对于任意都有

$$\begin{equation}\begin{split}
AB&=(A_0 g_0 + A_a g_a)(B_0 g_0 + B_b g_b)\\
&=A_0 B_0 g_0 g_0 + A_a B_0 g_a g_0 + A_0 B_a g_0 g_a + A_a B_b g_a g_b\\
&=(A_0 B_0 - A_aB_a)g_0 + (A_0 B_c + A_c B_0 + A_a B_b \varepsilon_{abc})g_c,
\end{split}\end{equation}$$

若记,则上式可写成,其中显然也是的元素,这就证明了封闭性.

  1. 定义上的共轭映射

$$\begin{equation}
:\mathbb{H}\rightarrow \mathbb{H};A=A_\mu g_\mu\mapsto A^=A_0g_0-A_ag_a,
\end{equation}$$

诱导了上的范数

中的运算可以验证确实是范数:

于是,这显然满足范数的非负性、齐次性和三角不等式.

  1. 结合律,

  2. 单位元,即

  3. 逆元,由范数诱导.

现在再将注意力放到上,我们引入一个的反对称矩阵,其第行第列的元素为.命:

使用这套记号,可以改写为:

对应了某个主丛的曲率,而的Hodge对偶.