四元数的历史
复数可以定义为具有特定乘法有序实数对,也可以看成是在实数域上添加一个新的元素 $ \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}
这一公式包含了一个四元数的良好的乘法定义.
四元数的定义
现代四元数的定义是把每一个四元数看成一个实数和一个三维实矢量的组合:$(a_0, \boldsymbol{\mathbf{a}} )$.在这个语境下,$ \mathrm{i} $,$\mathrm{j}$,$\mathrm{k}$ 被看成是一个标准正交基中的矢量,为了避免将来的混淆,把这三个基矢量重新表示成 $1, \hat{\boldsymbol{\mathbf{i}}} , \hat{\boldsymbol{\mathbf{j}}} $ 和 $ \hat{\boldsymbol{\mathbf{k}}} $ 后,四元数的运算可以定义如下:
Definition 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}} $.四元数的乘法满足分配律(exer. 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$ 的四元数就是实数.
如果我们把四元数的矢部限制在一个方向上,那么得到的运算结构实际上就是复数.你可以通过比较四元数乘法规则和复数乘法规则来看出这一点——注意在限制条件下任何矢部的向量积都是 $ \boldsymbol{\mathbf{0}} $.
除了把四元数看成一个标量加一个三维矢量以外,我们也可以把四元数看成一个四维矢量,就像复数既可以看成一个实数配上一个一维矢量,也可以看成一个二维矢量一样.这种情况下,四元数实际上就是实数域上的一个四维代数1.
和复数一样,四元数也有共轭和模的概念.
Definition 2 共轭、模方和模
- 令四元数为 $A=a_0+ \boldsymbol{\mathbf{a}} $,记 $\widetilde{A}=a_0- \boldsymbol{\mathbf{a}} $,称为 $A$ 的共轭(conjugate).
- 记 $||A||=||\widetilde{A}||=A\widetilde{A}=\widetilde{A}A=a_0^2+ \left\lvert \boldsymbol{\mathbf{a}} \right\rvert ^2$,称为 $A$ 的模方.
- 记 $|A|=\sqrt{||A||}$,称为 $A$ 的模.
Exercise 1
- 证明四元数满足乘法结合律
- 证明 $||A||=||\widetilde{A}||=\widetilde{A}A=a_0^2 + \left\lvert \boldsymbol{\mathbf{a}} \right\rvert ^2$
- 若将单位矢量 $ \hat{\boldsymbol{\mathbf{e}}} $ 看作四元数(实部为零),证明 $ \hat{\boldsymbol{\mathbf{e}}} ^2=-1,\ \hat{\boldsymbol{\mathbf{e}}} ^3=- \hat{\boldsymbol{\mathbf{e}}} $
四元数的指数表示
记 $ \mathrm{e} $ 是自然对数的底数,那么对于任意实数 $x$,有 $ \mathrm{e} ^x = \sum^\infty\limits_{n=0} x^n / n!$.如果把实数 $x$ 替换为其它能够进行乘方的对象,比如说矩阵、复数等,那么还可以把指数的概念拓展到更多的对象上,构造出复数的指数、矩阵的指数等.
四元数也可以乘方,因此可以定义四元数的指数:
Definition 3 四元数的指数表示
令四元数为 $A=a_0+ \boldsymbol{\mathbf{a}} $,则使用四元数的乘法(eq. 3 ),定义(类比复数的指数函数定义)
\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}\sum^\infty\limits_{n=0}\frac{(a \hat{\boldsymbol{\mathbf{a}}} )^n}{n!}= \mathrm{e} ^{a_0}[\cos{a}+ \sin\left({a} \hat{\boldsymbol{\mathbf{a}}} \right) ]
\end{equation}
其中 $ \hat{\boldsymbol{\mathbf{a}}} $ 是和 $ \boldsymbol{\mathbf{a}} $ 同方向的单位矢量,$a$ 是 $ \boldsymbol{\mathbf{a}} $ 作为四元数的模或者作为三维实矢量的模.
Exercise 2 与复数的类比
比较复数和四元数的指数表示,说明为什么可以将复数看成矢部限制在一个方向上的四元数.
由于四元数的加法满足交换律,而乘法一般不满足,因此一般情况下四元数并不满足 $ \mathrm{e} ^{A+B} = \mathrm{e} ^A \mathrm{e} ^B$.因此,四元数的指数表示法在计算中其实用得不多.
四元数的拓展
我们以上定义的四元数,可以看成四个基矢量 $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}}} $,共轭的概念就被细分了:
Definition 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$.但是和四元数不同的是,双四元数的模方并不总是非负实数,而是有可能取任何复数.
Exercise 3 双四元数共轭模方的关系
证明:$||A||=||\widetilde{A}||=||A^T||=||A^C||^*=||A^*||^*=||A^\dagger||^*$.
Exercise 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 的数,比如下面ex. 1 所举例的 $u$ 和 $v$.
类似地,让四元数的系数取值为四元数,所得到的数被称为二级四元数.一般地,让四元数的系数取值为 $n$级四元数,则能得到 $n+1$级四元数.但是由于四元数不再是一个域,也没有交换律,用其做系数的效果远远不如复数系数,应用范围相对有限,在此不作详细介绍.
四元数的矩阵表示
如果将四元数的四个基 $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}
Example 1 矩阵表示的例子
\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 $,而 “可除性” 就是 “乘法单位元存在性”.