四元数
定义与基本性质
定义
四元数最早于1843年由Sir William Rowan Hamilton发明,作为复数(complex numbers)的扩展,意在解决空间坐标的旋转问题。
一个复数具有实部和虚部,可以表示为a0+a1i。相似地,四元数由四部分组成,一个实部,三个虚部,即可以表示为:
a0+a1i+a2j+a3k(1-1)
本篇文章不对四元数的提出和某些需要繁琐的证明过多赘述,重点主要集中在实际使用中。
三个虚数单位的关系
为了使四元数具有良好的运算性质和自洽性,我们定义:
i2=j2=k2=−1(1-2)
ij=kjk=iki=j(1-3)
我们不难发现,如果按照复数域的计算方法,我们会得到矛盾:
(ij)2=k2=−1=i2j2=1
这是由于四元数的运算并不满足乘法交换律所导致的。但一般的,四元数运算满足加法的交换律、结合律和乘法的结合律。
此外,我们可以得到推论:
ji=−kkj=−iik=−j(1-4)
四元数的乘法
由(1−1)表达式易得,四元数满足一般的加法交换律、加法结合律和乘法结合律。对于乘法的交换性,我们进行讨论。设有两个四元数a,b,分别计算ab,ba
ab=(a0+a1i+a2j+a3k)(b0+b1i+b2j+b3k)=(a0b0−a1b1−a2b2−a3b3)+(a0b1+a1b0+a2b3−a3b2)i+(a0b2+a2b0+a3b1−a1b3)j+(a0b3+a3b0+a1b2−a2b1)k
ba=(b0+b1i+b2j+b3k)(a0+a1i+a2j+a3k)=(a0b0−a1b1−a2b2−a3b3)+(a0b1+a1b0+a3b2−a2b3)i+(a0b2+a2b0+a1b3−a3b1)j+(a0b3+a3b0+a2b1−a1b2)k
注意到,ab和ba表达式里只有绿色和红色的部分不同,而且对应的两部分互为相反数。如果用对易的关系表示,那么就是:
[a,b]=ab−ba=2(a2b3−a3b2)i+2(a3b1−a1b3)j+2(a1b2−a2b1)k(1-5)
若是将a,b的虚部看成两个三维向量(坐标基为ijk)A=(a1,a2,a3)T,B=(b1,b2,b3)T,那么(1−5)就可以表示为:
[a,b]=2A×B(1-6)
上式表明,一般情况下两个四元数不对易,只有两个四元数虚部向量平行,即虚部对应成比例时,四元数满足乘法交换律。
这里我们发现,四元数与现在常用的矢量分析方法似乎有着某种联系。类似的,我们可以给出一般四元数乘积(外积)的表达式:
ab=a0b0−A⋅B+b0A+a0B+A×B(1-7)
如果ab都是纯虚数,即实部为0,那么(1−7)可以化简为:
ab=−A⋅B+A×B(1-8)
至此,我们可以认为,矢量的点乘叉乘实际上只是两个纯虚四元数作乘积所得到的实部和虚部。我们在最开始学习矢量点乘叉乘时难免会困惑,为什么点乘、叉乘没有除法,二者的混合运算又是如此的繁琐复杂,究其原因就是将性质完好的四元数实虚部分开讨论所导致的。
四元数的共轭
类似于复数(a+bi),四元数的共轭就是将虚部变为其相反数,即:
a∗=a0−a1i−a2j−a3k(1-9)
四元数与其共轭相乘会得到模长的平方:
∣a∣2=aa∗=a∗a=a02+a12+a22+a32(1-10)
此外不难证明,四元数乘积的模等于四元数模的乘积:
∣ab∣=∣a∣∣b∣(1-11)
乘积的共轭等于共轭的逆序乘积:
(ab)∗=b∗a∗(1-12)
证明如下:
(ab)∗=a0b0−A⋅B−b0A−a0B−A×B=a0b0−(−A)⋅(−B)+b0(−A)+a0(−B)+(−B)×(−A)=b∗a∗
四元数的除法
对于四元数ab,其中b=0,我们用类似复数的方法计算四元数的除法:
ba=∣b∣2ab∗=a×∣b∣2b∗(1-13)
因为四元数的乘法并不满足交换律,所以复杂分式的通分操作往往是不正确的,因此我们定义四元数的逆来代替除法运算:
a−1=∣a∣2a∗(1-14)
这与伴随矩阵法求矩阵的逆的表达式是一致的。
四元数与矢量分析的一些性质
混合积与三叉乘公式
根据(1−8),设三个纯虚四元数abc,那么三项乘积可表示为:
abc=(−A⋅B+A×B)c=−(A⋅B)C−(A×B)C+(A×B)×C
此外因为四元数乘法具有结合律,那么如果先计算后两项的话:
a(bc)=a(−B⋅C+B×C)=(−B⋅C)A−(B×C)A+A×(B×C)
现在我们让上下两式实部相等,可以得到:
(A×B)C=(B×C)A(2-1)
这就是矢量混合积的关系。
如果让虚部相等,那么:
−(A⋅B)C+(A×B)×C=(−B⋅C)A+A×(B×C)
整理一下可以得到:
(A×B)×C−(A⋅B)C=A×(B×C)−(B⋅C)A(2-2-1)
同理我们可以得到:
(A×C)×B−(A⋅C)B=A×(C×B)−(C⋅B)A(2-2-2)
(B×A)×C−(B⋅A)C=B×(A×C)−(A⋅C)B(2-2-3)
上面三式可以解出:
A×(B×C)=(A⋅C)B−(B⋅A)C(A×B)×C=(A⋅C)B−(B⋅C)A(2-3)
这就是三叉乘公式。
时间与空间
通过前面的介绍,我们不难发现四元数的三个虚部刚好就是三维空间的三个坐标基,其运算与矢量分析完全等价。然而从这一章开始,我们就刻意忽略了四元数实部的存在,只讨论了四元数的虚部。
……