在中学阶段,我们已经掌握了向量的加法、数乘和点乘。可能还会接触到叉乘。向量是研究几何的一个强有力的工具,然而点乘和叉乘却有很多的局限性。比如说:
- 任意两个向量的点乘都是一个标量,损失了很多信息;
- 叉乘只在三维(或七维)中存在,无法扩展到其他维度;
- 点乘和叉乘并不统一,有时需要同时处理两种乘法。
并且,点乘和叉乘都没有结合律。这意味着,在这两种乘法下,向量甚至不能构成一个环。
这些局限性使我们迫切地想要定义一种新的向量乘法,修补这些漏洞,同时也能正确地在任意维度下沟通几何与代数。
现在,让我们来从头发明一遍几何积。首先,我们要知道我们想要的乘法是什么样子的。
例如,它必须具有分配律和结合律。这是任何一个合格的“乘法”都必须具备的。正是因为有了这些性质,我们才能像数字一样对几何对象进行代数运算。
但现有的性质还无法定义出一个实用的乘法。为了兼容点积,我们定义对于向量 v,v2=∣v∣2。
我们将具有以上三种性质的乘法叫作向量的几何积。
既然乘法是一种二元运算(两个向量必然共面),我们就可以从二维空间中推导它的其它性质。
对于二维的单位正交基底 i,j,由于分配律,我们有 (i+j)2=i2+j2+ij+ji=2+ij+ji。
而由于 ∣i+j∣=2,则有 (i+j)2=(2)2=2。
这表明,ij+ji=0。这就是正交向量遵守的反交换律。
对于多个正交向量相乘的情况,只需考虑交换相邻项的次数的奇偶性(或者等价地,考察排列的奇偶性),即可知道任意排列各个向量后,几何积的符号是否改变。
正交单位向量之积的平方的计算:
(v1v2⋯vk)2=(−1)k−1(v1v2⋯vk−1vk)(vkv1v2⋯vk−1)=(−1)k−1(v1v2⋯vk−1)(v1v2⋯vk−1)
递归地,(v1v2⋯vk)2=i=1∏k−1(−1)i=(−1)k(k−1)/2。
若一个 r 重向量 u 和一个 s 重向量 v 的重叠部分是 k 维的,则 vu=(−1)rs−kuv。
A 的逆元 A−1 是指满足 AA−1=1 的元素。
在几何代数里,求逆元非常简单。根据反交换律的推论,对于正交单位向量 v1,v2,…,vk 有
(v1v2⋯vk)−1=(−1)k(k−1)/2v1v2⋯vk
在上面的计算中,出现了形如 ij 的式子。它在几何代数中不能再被化简,而是作为一个新的基存在,这被称为二重向量。
二重向量也可以扩展到更高的维度,称为多重向量。
对于正交的向量 v1,v2,…,vk,它们的几何积 v1v2⋯vk 是一个 k 重向量。
正如向量可以表示有向线段的大小和方向,多重向量表示的是一个 k 维的几何实体的方向以及它的有向面积。
以二重向量为例,根据几何积的分配律,有 i(λj+μk)=λij+μik。
而根据向量的正交分解,λj+μk 在 j,k 方向的投影分别是 λj 和 μk,
于是,可以知道 i(λj+μk) 在 ij 和 ik 上的投影分别是 λij 和 μik。
推广这个结论,可以证明:若干个正交、等维度的多重向量的和生成一个新的多重向量,合多重向量在任何一个分多重向量上的投影都等于这个分多重向量自身。
有一个向量 v 和一个 k 重向量 B,如何计算 v 关于 B 的反射?
将 v 分解成平行于 B 的 v∥i 和垂直于 B 的 v⊥i,我们知道反射应当使 v∥i 不变而 v⊥i 反转。
我们直接不加推导地给出前人的结论
v′=(−1)k+1BvB−1
下面来证明它的正确性:
证明
对于 v⊥i:
由于 v⊥i 和 B 的重叠部分是零维的,根据反交换律的推论,
(−1)k+1Bv⊥iB−1=(−1)k+1×(−1)k−0v⊥iBB−1=−v⊥i
对于 v∥i:
由于 v∥i 和 B 的重叠部分是一维的,
(−1)k+1Bv⊥iB−1=(−1)k+1×(−1)k−1v⊥iBB−1=v⊥i
因为几何积的分配律,反射定理对基底成立之后,对任意的向量都成立。
我们都知道,围绕两个夹角为 2θ 的轴反射两次等价于在两个轴所成的平面上旋转 θ。
设这两个反射轴为 u,v,于是 vuwu−1v−1=RwR−1,此处的 R 是一个二重向量,被称为旋转子。
设旋转平面为 ij,并且 u=i,v=icos2θ+jsin2θ,此时 R=cos2θ+jisin2θ。
由于 (ji)2=−1,根据欧拉公式,R 也可以表示成 exp(jiθ/2)=exp(−ijθ/2)。
以上变换 (−1)kAvA−1 的对称形式告诉我们:几何积在正交变换下具有(反)对称性。
考虑两个向量 u,v,它们在正交变换 f 之后的几何积满足
f(u)f(v)=[(−1)kAuA−1] [(−1)kAvA−1]=AuvA−1=(−1)kf(uv)
事实上,几何代数作为沟通几何与代数的一座重要桥梁,这样的结果是理所当然的。它保证了几何代数的结果不会因为更换手性相同的基底而改变,是几何代数能够在几何中发挥作用的重要条件。
对于一个 k 重向量,它的阶就是 k 我们将 A 的阶记作 grade(A)。
我们可以用 ⟨A⟩k 取 A 中阶为 k 的部分。
定义 r 重向量 A 和 s 重向量 B 的交为 k 维的,则由于 i2=1,有
grade(AB)=r+s−2k
由于 A∥B⟺k∈{r,s},也可以得到平行的一个判定
grade(AB)=∣grade(A)−grade(B)∣
定义 r 重向量 A 在 s 重向量 B 上的投影的 r 阶部分为 projB(A)。若投影坍缩到不足 r 阶,则 projB(A)=0。
在多重向量加法的几何意义一章,我们讲过多重向量天然地蕴含着所有投影的信息。因此,我们只需要考虑如何将这个投影信息提取出来即可。
在阶容斥原理一章,我们证明了 A∥B⟺grade(AB)=∣grade(A)−grade(B)∣,因此
projB(A)=⟨AB⟩grade(B)−grade(A)B−1
当 grade(B)≥grade(A) 时,我们定义 A⋅B=B⋅A=projB(A)B 是 A 和 B 的内积,这是内积的几何定义。
容易看出,若 A 和 B 都是向量,此时的内积相当于点积。
根据投影公式,A⋅B=projB(A)B=⟨AB⟩grade(B)−grade(A)B−1B=⟨AB⟩grade(B)−grade(A)。这就是内积的代数定义。
与内积对应地,A∧B=⟨AB⟩grade(B)+grade(A) 是 A 和 B 的外积。
外积的几何意义是(多重)向量张成的空间,但是相比于几何积,它要求多重向量必须无交,即
A∧B={AB,0,A,B 无交otherwise
但严苛的标准也换来了一个好处:如果用向量的外积表示空间,那么相同的空间永远只差一个常数。