四元数

                     

贡献者: addis; JierPeter

预备知识 复数,矢量叉乘,域

1. 四元数的历史

   复数可以定义为具有特定乘法有序实数对,也可以看成是在实数域上添加一个新的元素 $ \mathrm{i} $ 所得到的扩域。

   复数应用极为广泛,因为它具有非常良好的代数性质和分析性质,同时可以用来表示二维矢量空间,极大地方便了许多几何运算。John Derbyshire 在他的科普作品 Unknown Quantity: Real and Imaginary History of Algebra 中写道,“如果从一维的实数到二维的复数的变更会给我们带来这样巨大的力量和见识,那么为什么要止步呢?难道就没有正等待着被发现的其他种类的数,比如说超复数,它们本身就是三维的吗?还有,难道那些数就不能让我们进一步认识数学吗?”

   19 世纪初的爱尔兰数学家 William Hamilton 就曾试图寻找一种具有特定乘法的三元数组,期望能和三维空间的坐标一一对应。然而他努力多年却未能找到可以满足结合律、分配律等的三元数乘法。事实上,这样的三元数乘法是不存在的,但 Hamilton 当时不知道。

   1843 年 10 月 16 日,Hamilton 在和妻子一同前往爱尔兰皇家学会议会的路上,突然灵光一现,意识到了问题的本质。他 “很不理智” 地拿出刀来,在布鲁姆桥的一块石头上刻下了以下公式:

\begin{equation} \mathrm{i} ^2=\mathrm{j}^2=\mathrm{k}^2= \mathrm{i} \mathrm{j}\mathrm{k}=-1~. \end{equation}
这一公式包含了一个四元数的良好的乘法定义。

2. 四元数的定义和基本运算

   现代四元数的定义是把每一个四元数看成一个实数和一个三维实矢量的组合:$(a_0, \boldsymbol{\mathbf{a}} )$。在这个语境下,$ \mathrm{i} $,$\mathrm{j}$,$\mathrm{k}$ 被看成是一个标准正交基中的矢量,为了避免将来的混淆,把这三个基矢量重新表示成 $1, \hat{\boldsymbol{\mathbf{i}}} , \hat{\boldsymbol{\mathbf{j}}} $ 和 $ \hat{\boldsymbol{\mathbf{k}}} $ 后,四元数的运算可以定义如下:

定义 1 四元数的加法和乘法

   记四元数集合为 $\mathbb{H}=\{(a_0, \boldsymbol{\mathbf{a}} )|a_0\in\mathbb{R}, \boldsymbol{\mathbf{a}} \in\mathbb{R}^3\}$,$\forall(a_0, \boldsymbol{\mathbf{a}} ), (b_0, \boldsymbol{\mathbf{b}} )\in\mathbb{H}$,加法定义为

\begin{equation} (a_0, \boldsymbol{\mathbf{a}} )+ (b_0, \boldsymbol{\mathbf{b}} )=(a_0+b_0,\ \ \boldsymbol{\mathbf{a}} + \boldsymbol{\mathbf{b}} )~. \end{equation}
乘法定义为(乘号可以省略或者用其他符号)
\begin{equation} (a_0, \boldsymbol{\mathbf{a}} )\times (b_0, \boldsymbol{\mathbf{b}} )=(a_0b_0- \boldsymbol{\mathbf{a}} \cdot \boldsymbol{\mathbf{b}} ,\ \ a_0 \boldsymbol{\mathbf{b}} +b_0 \boldsymbol{\mathbf{a}} + \boldsymbol{\mathbf{a}} \times \boldsymbol{\mathbf{b}} )~. \end{equation}

   注意,虽然四元数的加法显然满足交换律,但由于一般来说矢量的叉积不可交换,因此四元数乘法一般不具有交换律。只有 $ \boldsymbol{\mathbf{a}} $ 平行于 $ \boldsymbol{\mathbf{b}} $(包括其中之一为 $ \boldsymbol{\mathbf{0}} $)的时候,才会有 $ \boldsymbol{\mathbf{a}} \times \boldsymbol{\mathbf{b}} = \boldsymbol{\mathbf{0}} = \boldsymbol{\mathbf{b}} \times \boldsymbol{\mathbf{a}} $。四元数的乘法满足分配律习题 1 )。

   四元数 $A=(a_0, \boldsymbol{\mathbf{a}} )$ 的实数部分 $a_0$ 被称为标部,矢量部分 $ \boldsymbol{\mathbf{a}} $ 称为矢部。为了方便,有时候也把这个四元数记为 $a_0+ \boldsymbol{\mathbf{a}} $,类比复数的表示法 $(a, b)=a+b \mathrm{i} $。当标部为 $0$ 时,可以直接将四元数记为矢量 $ \boldsymbol{\mathbf{a}} $,同理,当矢部为零时也可以记为标量 $a_0$。这样,$a_0 + \boldsymbol{\mathbf{a}} $ 就可以看作两个四元数相加。和复数同理,我们认为矢部为 $0$ 的四元数就是实数。

例 1 

   两个标量相乘也可以看作是四元数相乘,易证

\begin{equation} ab = (ab, \boldsymbol{\mathbf{0}} ) = (a, \boldsymbol{\mathbf{0}} )(b, \boldsymbol{\mathbf{0}} ) = (b, \boldsymbol{\mathbf{0}} )(a, \boldsymbol{\mathbf{0}} )~. \end{equation}
类似地,矢量的数乘(子节 2 )$\lambda \boldsymbol{\mathbf{v}} $ 也可以认为是四元数相乘,易证
\begin{equation} \lambda \boldsymbol{\mathbf{v}} = (0, \lambda \boldsymbol{\mathbf{v}} ) = (\lambda, \boldsymbol{\mathbf{0}} )(0, \boldsymbol{\mathbf{v}} ) = (0, \boldsymbol{\mathbf{v}} )(\lambda, \boldsymbol{\mathbf{0}} )~, \end{equation}
标量与四元数相乘也类似
\begin{equation} \lambda (a_0, \boldsymbol{\mathbf{a}} ) = (\lambda, \boldsymbol{\mathbf{0}} ) (a_0, \boldsymbol{\mathbf{a}} ) = (a_0, \boldsymbol{\mathbf{a}} )(\lambda, \boldsymbol{\mathbf{0}} ) = (\lambda a_0, \lambda \boldsymbol{\mathbf{a}} )~, \end{equation}
而两个矢量(的四元数)相乘却是以前没有见过的,要区别于点乘和叉乘
\begin{equation} \boldsymbol{\mathbf{a}} \boldsymbol{\mathbf{b}} = (0, \boldsymbol{\mathbf{a}} )(0, \boldsymbol{\mathbf{b}} ) = (- \boldsymbol{\mathbf{a}} \boldsymbol\cdot \boldsymbol{\mathbf{b}} ,\ \boldsymbol{\mathbf{a}} \boldsymbol\times \boldsymbol{\mathbf{b}} )~. \end{equation}
另外若令 $ \boldsymbol{\mathbf{a}} $ 的模长为 $a$,单位矢量 $ \hat{\boldsymbol{\mathbf{a}}} = \boldsymbol{\mathbf{a}} /a$,使用四元数乘法有
\begin{equation} \boldsymbol{\mathbf{a}} ^{n} = (0, \boldsymbol{\mathbf{a}} )^{n} = \left\{\begin{aligned} &(-1)^{n/2} a^{n} && (n = 0,2,4,\dots)\\ &\ (-1)^{(n-1)/2} a^{n} \hat{\boldsymbol{\mathbf{a}}} && (n = 1,3,5,\dots)~. \end{aligned}\right. \end{equation}
这里 $ \boldsymbol{\mathbf{a}} ^{n}$ 的记号可能会产生歧义(区分于例如 $ \boldsymbol{\mathbf{a}} ^2 = \boldsymbol{\mathbf{a}} \boldsymbol\cdot \boldsymbol{\mathbf{a}} $),但一般不难通过语境判断。也就是说在四元数乘法下,矢量的偶数次方是标量,奇数次方是矢量。

   如果我们把四元数的矢部限制在一个方向上,那么得到的运算结构实际上就是复数。你可以通过比较四元数乘法规则和复数乘法规则来看出这一点——注意在限制条件下任何矢部的向量积都是 $ \boldsymbol{\mathbf{0}} $。

   除了把四元数看成一个标量加一个三维矢量以外,我们也可以把四元数看成一个四维矢量,就像复数既可以看成一个实数配上一个一维矢量,也可以看成一个二维矢量一样。这种情况下,四元数实际上就是实数域上的一个四维代数1

   两个复数相乘,就是把它们的模长相乘,辐角相加(式 13 ),类似地两个四元数相乘的模长也等于各自的模长相乘(证明留做习题)

\begin{equation} \left\lvert AB \right\rvert = \left\lvert A \right\rvert \left\lvert B \right\rvert ~, \end{equation}
与复数类似,任何四元数都可以表示为模长乘以一个模长等于 $1$ 的四元数:$A = \left\lvert A \right\rvert q$。其中 $q$ 类似于复数的 $ \mathrm{e} ^{ \mathrm{i} \theta}$。$ \mathrm{e} ^{ \mathrm{i} \theta}$ 可以代表一个角度为 $\theta$ 的平面旋转,而在 “四元数与旋转矩阵” 中会看到,任意模长为 $1$ 的四元数 $q$ 都可以表示一个唯一的三维旋转。

定义 2 共轭、模方和模

  

  • 令四元数为 $A=a_0+ \boldsymbol{\mathbf{a}} $,记 $\widetilde{A}=a_0- \boldsymbol{\mathbf{a}} $,称为 $A$ 的共轭(conjugate)
  • 记 $||A||=a_0^2+ \left\lvert \boldsymbol{\mathbf{a}} \right\rvert ^2$,称为 $A$ 的模方
  • 记 $|A|=\sqrt{||A||}$,称为 $A$ 的

习题 1 

  

  • 证明四元数满足乘法分配律
  • 证明四元数满足乘法结合律
  • 证明 $||A||=||\widetilde{A}||=\widetilde{A}A=A\widetilde{A}$(类比复数)
  • 证明 $ \left\lvert AB \right\rvert = \left\lvert A \right\rvert \left\lvert B \right\rvert $,即 $ \left\lVert AB \right\rVert = \left\lVert A \right\rVert \left\lVert B \right\rVert $(类比复数)
  • 若将单位矢量 $ \hat{\boldsymbol{\mathbf{e}}} $ 看作四元数(标部为零),证明 $ \hat{\boldsymbol{\mathbf{e}}} ^2=-1,\ \hat{\boldsymbol{\mathbf{e}}} ^3=- \hat{\boldsymbol{\mathbf{e}}} $

   和复数类似,定义非零四元数 $A$ 的逆 $A^{-1}$ 满足

\begin{equation} AA^{-1} = A^{-1}A = 1 \qquad (A \ne 0)~. \end{equation}
易得每个非零四元数都有唯一的逆
\begin{equation} A^{-1} = \frac{\tilde A}{ \left\lvert A \right\rvert ^2} \qquad (A \ne 0)~. \end{equation}
代入式 10 即可证明。证明逆元的唯一性:假设 $B_1, B_2$ 都是 $A$ 的逆元,那么 $AB_1 = AB_2$,等式两边左乘 $B_1$,得 $B_1 = B_2$。证毕。

   另外易证

\begin{equation} (AB)^{-1} = B^{-1}A^{-1}~. \end{equation}

   由于四元数的乘法不可交换,我们不定义除法,因为除法可能有两种不同的定义 $AB^{-1}$ 和 $B^{-1}A$。我们直接使用这两种符号即可。

   根据以上讨论不难发现,所有的非零四元数及其乘法运算构成一个定义 3 )。

四元数乘法的矩阵表示

   四元数乘法 $(a_0, \boldsymbol{\mathbf{a}} )(a_0, \boldsymbol{\mathbf{b}} ) = (a_0,a_1,a_2,a_3)(b_0,b_1,b_2,b_3)$ 可以看作是一个线性变换,用矩阵乘法表示为

\begin{equation} \begin{aligned} (a_0, \boldsymbol{\mathbf{a}} )(a_0, \boldsymbol{\mathbf{b}} ) &= \begin{pmatrix} a_0 & -a_1 & -a_2 & -a_3\\ a_1 & a_0 & -a_3 & a_2\\ a_2 & a_3 & a_0 & -a_1\\ a_3 & -a_2 & a_1 & a_0 \end{pmatrix} \begin{pmatrix} b_0\\b_1\\b_2\\b_3\end{pmatrix} \\ &= \left[ \begin{pmatrix}a_0& a_1 & a_2& a_3\end{pmatrix} \begin{pmatrix} b_0 & -b_1 & -b_2 & -b_3\\ b_1 & b_0 & -b_3 & b_2\\ b_2 & b_3 & b_0 & -b_1\\ b_3 & -b_2 & b_1 & b_0 \end{pmatrix} \right] ^{\mathrm{T}} ~, \end{aligned} \end{equation}

3. 四元数的指数表示

   记 $ \mathrm{e} $ 是自然对数的底数,那么对于任意实数 $x$,有 $ \mathrm{e} ^x = \sum^\infty\limits_{n=0} x^n / n!$。如果把实数 $x$ 替换为其它能够进行乘方的对象,比如说矩阵、复数等,那么还可以把指数的概念拓展到更多的对象上,构造出复数的指数、矩阵的指数等。

定义 3 四元数的指数表示

   令四元数为 $A=a_0+ \boldsymbol{\mathbf{a}} $,则使用四元数的乘法(式 3 ),定义(类比复数的指数函数定义

\begin{equation} \mathrm{e} ^A = \sum^\infty\limits_{n=0}\frac{A^n}{n!}~, \end{equation}

   可以证明(留做习题)

\begin{equation} \mathrm{e} ^A = \mathrm{e} ^{a_0} \mathrm{e} ^{ \boldsymbol{\mathbf{a}} }= \mathrm{e} ^{a_0}\sum^\infty\limits_{n=0}\frac{ \boldsymbol{\mathbf{a}} ^n}{n!}= \mathrm{e} ^{a_0}(\cos{a}+ \hat{\boldsymbol{\mathbf{a}}} \sin a)~. \end{equation}
其中 $ \hat{\boldsymbol{\mathbf{a}}} $ 是和 $ \boldsymbol{\mathbf{a}} $ 同方向的单位矢量,$a$ 是 $ \boldsymbol{\mathbf{a}} $ 作为四元数的模或者作为三维实矢量的模。

习题 2 与复数的类比

   比较复数和四元数的指数表示,说明为什么可以将复数看成矢部限制在一个方向上的四元数。

   由于四元数的加法满足交换律,而乘法一般不满足,因此一般情况下四元数并不满足 $ \mathrm{e} ^{A+B} = \mathrm{e} ^A \mathrm{e} ^B$。因此,四元数的指数表示法在计算中其实用得不多。式 14 中的第一个等号成立是因为 $a_0 \boldsymbol{\mathbf{a}} = \boldsymbol{\mathbf{a}} a_0$ 满足交换律。

4. 四元数的拓展

   我们以上定义的四元数,可以看成四个基矢量 $1$,$ \hat{\boldsymbol{\mathbf{i}}} $,$ \hat{\boldsymbol{\mathbf{j}}} $ 和 $ \hat{\boldsymbol{\mathbf{k}}} $ 的线性组合的集合,而这些线性组合的系数取自实数域 $\mathbb R$。如果系数还可以取自复数域 $\mathbb C$,定义出来的数被称为双四元数,或复四元数。一个双四元数可以看成一个复数和一个复数域上的三维矢量的组合。

   对于一个双四元数 $A=a_0+a_1 \hat{\boldsymbol{\mathbf{i}}} +a_2 \hat{\boldsymbol{\mathbf{j}}} +a_3 \hat{\boldsymbol{\mathbf{k}}} $,共轭的概念就被细分了:

定义 4 双四元数的共轭

  • 四元共轭:$\widetilde{A}=a_0-a_1 \hat{\boldsymbol{\mathbf{i}}} -a_2 \hat{\boldsymbol{\mathbf{j}}} -a_3 \hat{\boldsymbol{\mathbf{k}}} $
  • 反共轭:$A^C=a_0 ^* + a_1 ^* \hat{\boldsymbol{\mathbf{i}}} +a_2 ^* \hat{\boldsymbol{\mathbf{j}}} +a_3 ^* \hat{\boldsymbol{\mathbf{k}}} $
  • 转置:$A^T=a_0+a_1 \hat{\boldsymbol{\mathbf{i}}} -a_2 \hat{\boldsymbol{\mathbf{j}}} +a_3 \hat{\boldsymbol{\mathbf{k}}} $
  • 复共轭:$A ^* =a_0 ^* -a_1 ^* \hat{\boldsymbol{\mathbf{i}}} +a_2 ^* \hat{\boldsymbol{\mathbf{j}}} -a_3 ^* \hat{\boldsymbol{\mathbf{k}}} $
  • 厄密(hermitian)共轭:$A^\dagger=a_0 ^* -a_1 ^* \hat{\boldsymbol{\mathbf{i}}} -a_2 ^* \hat{\boldsymbol{\mathbf{j}}} -a_3 ^* \hat{\boldsymbol{\mathbf{k}}} $

   双四元数的模方是用四元共轭定义的:$||A||=A\widetilde{A}=\widetilde{A}A=\sum^{3}_{n=0}a^2_n$。但是和四元数不同的是,双四元数的模方并不总是非负实数,而是有可能取任何复数。

习题 3 双四元数共轭模方的关系

   证明:$||A||=||\widetilde{A}||=||A^T||=||A^C||^*=||A^*||^*=||A^\dagger||^*$。

习题 4 双四元数共轭的乘法规律

   设 $A$ 和 $B$ 是两个双四元数,证明:

\begin{equation} \left\{\begin{aligned} &A^CB^C=(AB)^C\\ &A^*B^*=(AB)^*\\ &\widetilde{A}\widetilde{B}=\widetilde{BA}\\ &A^TB^T=(BA)^T\\ &A^\dagger B^\dagger=(BA)^\dagger~. \end{aligned}\right. \end{equation}

   和普通四元数不同的是,双四元数中有可能存在非零但模为 0 的数,比如下面例 2 所举例的 $u$ 和 $v$。

   类似地,让四元数的系数取值为四元数,所得到的数被称为二级四元数。一般地,让四元数的系数取值为 $n$级四元数,则能得到 $n+1$级四元数。但是由于四元数不再是一个域,也没有交换律,用其做系数的效果远远不如复数系数,应用范围相对有限,在此不作详细介绍。

5. 四元数的矩阵表示

   如果将四元数的四个基 $1, \hat{\boldsymbol{\mathbf{i}}} , \hat{\boldsymbol{\mathbf{j}}} $ 和 $ \hat{\boldsymbol{\mathbf{k}}} $ 分别对应到以下四个矩阵

\begin{equation} 1=\begin{pmatrix}1&0\\0&1\end{pmatrix} ~, \qquad \hat{\boldsymbol{\mathbf{i}}} =\begin{pmatrix} \mathrm{i} &0\\0&- \mathrm{i} \end{pmatrix}~, \qquad \hat{\boldsymbol{\mathbf{j}}} =\begin{pmatrix}0&1\\-1&0\end{pmatrix}~, \qquad \hat{\boldsymbol{\mathbf{k}}} =\begin{pmatrix}0& \mathrm{i} \\ \mathrm{i} &0\end{pmatrix} ~. \end{equation}
那么一个任意的四元数或双四元数 $A=a_0+ \boldsymbol{\mathbf{a}} $ 可以用矩阵表示为
\begin{equation} \begin{pmatrix}a_0+ \mathrm{i} a_1&a_2+ \mathrm{i} a_3\\-a_2+ \mathrm{i} a_3&a_0- \mathrm{i} a_1 \end{pmatrix} ~. \end{equation}

例 2 矩阵表示的例子

  

\begin{equation} 1+\begin{pmatrix}1\\0\\ \mathrm{i} \end{pmatrix} =1+1 \hat{\boldsymbol{\mathbf{i}}} + \mathrm{i} \hat{\boldsymbol{\mathbf{k}}} =\begin{pmatrix}1+ \mathrm{i} &-1\\-1&1- \mathrm{i} \end{pmatrix} ~, \end{equation}
\begin{equation} u=\frac{1}{2}(1- \mathrm{i} \hat{\boldsymbol{\mathbf{i}}} )=\begin{pmatrix}1&0\\0&0\end{pmatrix} ~, \end{equation}
\begin{equation} v=-\frac{1}{2}( \hat{\boldsymbol{\mathbf{j}}} + \mathrm{i} \hat{\boldsymbol{\mathbf{k}}} )=\begin{pmatrix}0&0\\1&0\end{pmatrix} ~. \end{equation}

   容易验证,四元数的加法和乘法运算,与把基分别换成这四个矩阵以后的矩阵加法和乘法运算是同构的。

   在矩阵表示中,$A$ 的转置共轭就是矩阵 $A$ 的转置,复共轭就是 $A$ 的各矩阵元取复共轭,厄密共轭就是 $A$ 的厄密共轭矩阵(矩阵转置后再取各矩阵元的复共轭),而四元数的模方就是其矩阵表示的行列式:$||A||= \operatorname {det}A$。因此,模方不为零的(双)四元数对应的矩阵是可逆的,其逆矩阵所表示的就是该四元数的逆。


1. ^ 从代数角度来说,Hamilton 爵士当年苦苦思索多年的问题就是 “是否存在实数域上的三维代数”,今天我们已经知道,实数域上只存在一维、二维、四维和八维的 “具有积性的可除代数”,分别对应实数、复数、四元数和八元数,其中四元数已经不具有交换性,而八元数连结合性都丢了。这里的 “积性” 是指 $ \left\lvert a \right\rvert \left\lvert b \right\rvert = \left\lvert ab \right\rvert $,而 “可除性” 就是 “乘法单位元存在性”。


致读者: 小时百科一直以来坚持所有内容免费,这导致我们处于严重的亏损状态。 长此以往很可能会最终导致我们不得不选择大量广告以及内容付费等。 因此,我们请求广大读者热心打赏 ,使网站得以健康发展。 如果看到这条信息的每位读者能慷慨打赏 10 元,我们一个星期内就能脱离亏损, 并保证在接下来的一整年里向所有读者继续免费提供优质内容。 但遗憾的是只有不到 1% 的读者愿意捐款, 他们的付出帮助了 99% 的读者免费获取知识, 我们在此表示感谢。

                     

友情链接: 超理论坛 | ©小时科技 保留一切权利