叉积


 

4.1 引言

图 1. 布鲁厄姆桥上的四元数铭牌:1843年10月16日,威廉·罗文·汉密尔顿爵士在此散步时,灵光一闪,发现了四元数乘法的基本公式 i 2 = j 2 = k 2 = i j k = 1 ,并将其刻在了这座桥的石头上。

4.1.1 向量乘法的演变

我们已经知道,方阵可以相乘并得到另一个矩阵。如果能将两个向量相乘并得到一个向量,那该多好。点积是行向量与列向量的矩阵乘积,结果是一个数。列向量与行向量的矩阵乘积则得到一个方阵。我们如何设计一种列向量的乘积,使其结果仍为列向量?这正是威廉·罗文·汉密尔顿思考多年的问题。据说,每天早晨当他下楼吃早餐时,他的小儿子都会问:“爸爸,你现在能乘三元组了吗?”威廉回答说:“不能,儿子,我还不知道怎么做。”

4.1.2 四元数与叉积

最终,汉密尔顿成功了。传说,当他与妻子沿着都柏林的皇家运河散步,经过布鲁厄姆桥时,他突然获得了灵感:必须乘四元组!这些数可以写成 a + b i + c j + d k ,其中 i , j , k 是满足 i 2 = j 2 = k 2 = i j k = 1 的符号。他非常高兴,以至于将余生都奉献给了这些数。现在发现,这种代数也产生了一种向量的乘积,称为叉积。它有许多优良性质,比如两个向量的乘积垂直于这两个向量,且其长度与面积有关。它在物理学中也有惊人的应用。

4.2 讲座

4.2.1 3 的唯一性

三维空间 3 是特殊的。它不仅是唯一一个开普勒问题稳定的欧几里得空间1,而且还具有一个叉积 v × w ,其结果仍在同一空间中。这样的乘积可以在 n 中定义,但会产生一个在 n ( n 1 ) / 2 中的向量。恰好当 n = 3 时,结果又回到了 3 中。“乘三元组”的问题在19世纪上半叶由威廉·汉密尔顿思考,并与四元数的迷人故事相关。四元数的发现同时也是点积和叉积的诞生地。

4.2.2 叉积的性质

两个向量 v = [ v 1 , v 2 , v 3 ] T w = [ w 1 , w 2 , w 3 ] T 叉积

[ v 1 v 2 v 3 ] × [ w 1 w 2 w 3 ] = [ v 2 w 3 v 3 w 2 v 3 w 1 v 1 w 3 v 1 w 2 v 2 w 1 ]

v w 作点积,可见 v × w 同时垂直于 v w 。显然也有 v × w = w × v 。该乘积在 3 中的构造中非常方便。向量 v , w , v × w 的方向如同右手的前三根手指:若 v 是拇指, w 是食指,则 v × w 是中指。设 v w = | v | | w | cos ( α )

定理 1. | v × w | = | v | | w | sin ( α ) v ( v × w ) = w ( v × w ) = 0

证明。 我们将在课堂上通过直接计算验证拉格朗日恒等式 | v × w | 2 = | v | 2 | w | 2 ( v w ) 2 这也称为柯西-比内公式。然后利用 | v w | = | v | | w | cos ( α ) 以及 cos 2 ( α ) + sin 2 ( α ) = 1 得到结果。 ◻

4.2.3 正弦的几何应用

给定一个三角形,边长分别为 a , b , c ,对角分别为 α , β , γ ,其中 α 对应边 a ,等等。我们有如下 sin -公式

推论 1. a sin ( α ) = b sin ( β ) = c sin ( γ ) .

证明。 我们可以利用定理,将三角形的面积表示为 a b sin ( γ ) b c sin ( α ) a c sin ( β ) 。令这三个量相等并约去公因子,即得 sin -公式。 ◻

4.2.4 面积的几何洞察

这在应用中很有用,可将平行四边形的面积定义为 | v × w | 。其合理性可在二维中看出,并且:

推论 2. | v × w | 是由 v w 张成的平行四边形面积

证明。 使用公式 | v × w | = | v | | w | sin ( α ) ,并注意到 | w | sin ( α ) 是由 v w 张成的平行四边形的高。底边长为 | v | 。 ◻

4.2.5 三重标量积

标量 u ( v × w ) 称为 u , v , w 三重标量积。其符号定义了这三个向量的定向。它也是矩阵 [ u 1 v 1 w 1 u 2 v 2 w 2 u 3 v 3 w 3 ] . 行列式 u v × w 的绝对值定义了由 u v w 张成的平行六面体的体积。若不取绝对值,我们称之为有向体积

4.2.6 附注:高维空间中的叉积

在更高维度中,叉积被称为外积。通常使用 而非三维中使用的 × 。如果 I = ( i , j ) { 1 , 2 , , n } 中两个元素的一种选择,且 v , w n 中的两个向量,则 ( v w ) I = v i w j v j w i 。公式 | v w | = | v | | w | sin ( α ) 仍然成立,且证明相同。我们只需再次验证柯西-比内公式 | v | 2 | w | 2 ( v w ) 2 = | v w | 2 。但使用矩阵会更好。如果 A 是以 v , w 为列的矩阵,则 det ( A T A ) = P det ( A P ) 2 ,其中右边的和是对 A 的所有 2 × 2 子矩阵 A P 求和。表达式 det ( A P ) 称为一个子式。柯西-比内公式非常酷2。顺便一提,如果我们有 k 个向量并构建矩阵 A M ( n , k ) ,该矩阵以这些向量为列。那么, det ( A T A ) 就是由这些向量张成的平行六面体的体积。而柯西-比内公式将其写为投影的 k 维体积的平方和,这在某种意义上是对毕达哥拉斯定理的推广。

4.3 例题

例 1. 求三角形 A = ( 1 , 1 , 1 ) B = ( 3 , 5 , 2 ) C = ( 2 , 0 , 3 ) 的面积。我们计算从 A B 的向量 [ 2 , 4 , 1 ] T 与从 A C 的向量 [ 1 , 1 , 2 ] T 的叉积。叉积为 [ 2 4 1 ] × [ 1 1 2 ] = [ 9 3 6 ] 其长度为 3 14 。三角形的面积为其一半: 3 14 / 2

例 2. 求以 O = ( 0 , 0 , 0 ) 为顶点,且相邻顶点为 A = ( 1 , 1 , 1 ) B = ( 3 , 4 , 2 ) C = ( 2 , 0 , 3 ) 的平行六面体的体积。有向体积为 [ 1 1 1 ] ( [ 3 4 2 ] × [ 2 0 3 ] ) = [ 1 1 1 ] [ 12 5 8 ] = 1 . 并取绝对值。负数表明 O A O B O C 构成左手系。

4.4 图示

图 2. 瑞士国家银行于2018年8月22日发行了新版200法郎纸币。它展示了右手定则:拇指 = v ,食指 = w ,则 v × w 为中指。
图 3. 洛伦兹力 F 是一个向量 F = q v × B ,由电荷为 q 的带电粒子在磁场 B 中以速度 v 运动所决定。
图 4. 给定一个质量为 m 的粒子,位于 r 处,以速度 运动,则 角动量

练习

练习 1. 求一个垂直于向量 u = [ 2 , 3 , 4 ] T v = [ 3 , 4 , 7 ] T 的向量 w 。然后利用此结果求一个同时垂直于 v w 的向量 x

练习 2. 一台3D扫描仪用于构建人脸的三维模型。它检测到一个三角形,其顶点位于 P = ( 2 , 1 , 1 ) Q = ( 1 , 1 , 0 ) R = ( 1 , 2 , 3 ) 。求该三角形的面积以及一个垂直于该三角形的向量。3

练习 3. 求以 O = ( 0 , 0 , 0 ) P = ( 2 , 3 , 1 ) Q = ( 4 , 3 , 1 ) R = ( 6 , 6 , 2 ) A = ( 1 , 1 , 1 ) B = ( 3 , 4 , 2 ) C = ( 5 , 4 , 2 ) D = ( 7 , 7 , 3 ) 为顶点的平行六面体的体积。

练习 4. 研究以下公式中哪些对所有向量 u , v , w , x , y 总是成立。如果成立,请解释、引用来源(例如网络上的),或通过手算或计算机代数验证。如果不成立,请找出一个反例。

  1. u ( v × w ) = v ( w × u )
  2. u × ( v × w ) = ( u × v ) × w
  3. u × ( v + w ) = u × v + u × w
  4. u × ( v × w ) = ( u w ) v ( u v ) w
  5. ( u × v ) ( x × y ) = ( u x ) ( v y ) ( u y ) ( v x )

练习 5. 给定两个向量 p = [ a , b , c ] T q = [ u , v , w ] T ,构建矩阵 比较 p × q Q P P Q 。描述你所观察到的现象。尝试将其表述为一个定理。


  1. 根据约瑟夫·伯特兰1873年的一个定理以及桑德曼-冯·蔡佩尔的工作↩︎
  2. O. Knill, Cauchy Binet for pseudo-determinants, Lin. Alg. and its Applications 459 (2014) 522-547↩︎
  3. 用于3D打印的STL格式具有极其简单的形式。它由如下条目组成

facet normal 0.15-0.97-0.20

outer loop

vertex -1.6996-0.5597-2.8360

vertex -1.8259-0.5793-2.8374

vertex -1.7232-0.5399-2.9509

endloop

endfacet

第一行给出了法向量,然后是一个循环,包含三个顶点,给出了三角形。显然存在一些冗余,因为可以通过叉积从点得到法向量。但这是有目的的:冗余信息使得处理数据结构更快,其次,还可以考虑法向量不垂直于表面的情况,可以改变表面如何“着色”的方式,比如光如何在表面反射。第三,冗余总是有利于捕捉错误。我们DNA中的遗传信息以高度冗余的方式存储。这使得错误纠正成为可能。↩︎