《机器学习数学基础》补充资料:四元数、点积和叉积
《机器学习数学基础》第1章1.4节介绍了内积、点积的有关概念,特别辨析了内积空间、欧几里得空间;第4章4.1.1节介绍了叉积的有关概念;4.1.2节介绍了张量积(也称外积)的概念。

以上这些内容,在不同资料中,所用术语的含义会有所差别,读者阅读的时候,不妨注意,一般资料中,都是在欧几里得空间探讨有关问题,并且是在三维的欧氏空间中,其实质所指即相同。但是,如果不是在欧氏空间中,各概念、术语则不能混用。
下面从数学史的角度,参考有关文献,阐述 R 3 \mathbb{R}^3 R3 空间中点积和叉积的内容,目的借此深入理解《机器学习数学基础》中有关概念。
再次强调,以下讨论,是在三维欧几里得空间。
而对点积和叉积的探讨,不得不从四元数开始。
1. 四元数
1.1 哈密顿
威廉·卢云·哈密顿爵士(英語:Sir William Rowan Hamilton,1805年8月4日-1865年9月2日),爱尔兰数学家、物理学家和天文学家。
“哈密顿”这个名称,在物理学中经常会见到,因为哈密顿在1833年建立了经典力学的重新表述(与之对应的另外一个表述是拉格朗日力学) [ 4 ] ^{[4]} [4] ,并且此成果也被应用在量子力学中。
在数学方面,哈密顿最著名的贡献在于发现了四元数,在如今的计算机图形学、控制理论、信号处理、轨道力学等领域,都有四元数的应用。
此外,哈密顿还是语言天才,参考文献 [5] 中列出了他所懂的语言,抄录如下:
哈密顿还精通多种语言。除了欧洲语言之外,他还懂得波斯语、希腊语、拉丁语、希伯来文、古代巴勒底的巴比伦文、印度梵语、佛教原典所用的巴利语、意大利语、法语、阿拉伯语、孟加拉语、巴基斯坦语、马来语、梵文和中文等。
1.2 四元数定义
在复数 z = a + b i z=a+bi z=a+bi 中,虚数单位 i 2 = − 1 i^2 = -1 i2=−1 ,每个复数都可以视为平面上的一个点。
在三维欧几里得空间中,每个点可以用一个有序数
(
a
,
b
,
c
)
(a,b,c)
(a,b,c) 表示,这些点之间可以进行加法运算,但能不能做乘法运算?这个问题哈密顿也曾思考。据记载
[
6
]
^{[6]}
[6] ,1843年10月16日,哈密顿与夫人在运河边散步,经过一座桥,突然领悟到了四元数的定义,现在那座桥旁还立有石碑。
石碑上的内容如下:
Here as he walked by on the 16th of October 1843 Sir William Rowan Hamilton in a flash of genius discovered the fundamental formula for quaternion multiplication
i 2 = j 2 = k 2 = i j k = − 1 i^2 = j^2 = k^2 = ijk = −1 i2=j2=k2=ijk=−1
& cut it on a stone of this bridge.
每个四元数(quaternion)都是 1 , i , j , k 1,i,j,k 1,i,j,k 的线性组合,即一个四元数表示为:
a + b i + c j + d k a+bi+cj+dk a+bi+cj+dk
其中, i 2 = j 2 = k 2 = i j k = − 1 i^2=j^2=k^2=ijk=-1 i2=j2=k2=ijk=−1 , a , b , c , d a,b,c,d a,b,c,d 是实数。
四元数加法,与向量加法类似:
( a 1 + b 1 i + c 1 j + d 1 k ) + ( a 2 + b 2 i + c 2 j + d 2 k ) = ( a 1 + a 2 ) + ( b 1 + b 2 ) i + ( c 1 + c 2 ) j + ( d 1 + d 2 ) k (a_1+b_1i+c_1j+d_1k)+(a_2+b_2i+c_2j+d_2k)=(a_1+a_2)+(b_1+b_2)i+(c_1+c_2)j+(d_1+d_2)k (a1+b1i+c1j+d1k)+(a2+b2i+c2j+d2k)=(a1+a2)+(b1+b2)i+(c1+c2)j+(d1+d2)k
1.3 四元数乘法
根据四元数定义中规定的 i 2 = j 2 = k 2 = i j k = − 1 i^2=j^2=k^2=ijk=-1 i2=j2=k2=ijk=−1 ,可以进行虚数单位间的乘法计算,例如:
- i j k = − 1 ijk = -1 ijk=−1 ,右乘 k k k ,得: i j k 2 = i j ( − 1 ) = − i j = − k ijk^2=ij(-1)=-ij=-k ijk2=ij(−1)=−ij=−k ,即 i j = k ij=k ij=k 。
- i j k = − 1 ijk = -1 ijk=−1 ,左乘 i i i ,得: i 2 j k = ( − 1 ) j k = − j k = − i i^2jk=(-1)jk=-jk=-i i2jk=(−1)jk=−jk=−i ,即 j k = i jk=i jk=i 。
- 根据 j k = i jk=i jk=i ,左乘 j j j ,得: j 2 k = j i j^2k=ji j2k=ji ,即 − k = j i -k=ji −k=ji 。
- …
可以得到如下乘法表:
. | 1 1 1 | i i i | j j j | k k k |
---|---|---|---|---|
1 1 1 | 1 1 1 | i i i | j j j | k k k |
i i i | i i i | − 1 -1 −1 | k k k | − j -j −j |
j j j | j j j | − k -k −k | − 1 -1 −1 | i i i |
k k k | k k k | j j j | − i -i −i | − 1 -1 −1 |
从上表中会发现,四元数的乘法显然不满足交换律,比如 i j = k ij=k ij=k ,而 j i = − k ji=-k ji=−k 。
两个四元数相乘:
( a 1 + b 1 i + c 1 j + d 1 k ) ( a 2 + b 2 i + c 2 j + d 2 k ) = a 1 a 2 + a 1 b 2 i + a 1 c 2 j + a 1 d 2 k + b 1 a 2 i + b 1 b 2 i 2 + b 1 c 2 i j + b 1 d 2 i k + c 1 a 2 + c 1 b 2 j i + c 1 c 2 j 2 + c 1 d 2 j k + d 1 a 2 + d 1 b 2 k i + d 1 c 2 k j + d 1 d 2 k 2 = ( a 1 a 2 − b 1 b 2 − c 1 c 2 − d 1 d 2 ) + ( a 1 b 2 + b 1 a 2 + c 1 d 2 − d 1 c 2 ) i + ( a 1 c 2 − b 1 d 2 + c 1 a 2 + d 1 b 2 ) j + ( a 1 d 2 + b 1 c 2 − c 1 b 2 + d 1 a 2 ) k (1.1) \begin{split} &(a_1+b_1i+c_1j+d_1k)(a_2+b_2i+c_2j+d_2k) \\= &a_1a_2+a_1b_2i+a_1c_2j+a_1d_2k+b_1a_2i+b_1b_2i^2+b_1c_2ij+b_1d_2ik \\& +c_1a_2+c_1b_2ji+c_1c_2j^2+c_1d_2jk+d_1a_2+d_1b_2ki+d_1c_2kj+d_1d_2k^2 \\=&(a_1a_2-b_1b_2-c_1c_2-d_1d_2) \\&+(a_1b_2+b_1a_2+c_1d_2-d_1c_2)i \\&+(a_1c_2-b_1d_2+c_1a_2+d_1b_2)j \\&+(a_1d_2+b_1c_2-c_1b_2+d_1a_2)k \end{split} \tag{1.1} ==(a1+b1i+c1j+d1k)(a2+b2i+c2j+d2k)a1a2+a1b2i+a1c2j+a1d2k+b1a2i+b1b2i2+b1c2ij+b1d2ik+c1a2+c1b2ji+c1c2j2+c1d2jk+d1a2+d1b2ki+d1c2kj+d1d2k2(a1a2−b1b2−c1c2−d1d2)+(a1b2+b1a2+c1d2−d1c2)i+(a1c2−b1d2+c1a2+d1b2)j+(a1d2+b1c2−c1b2+d1a2)k(1.1)
标量与四元数相乘:
α ( a + b i + c j + d k ) = α a + α b i + α c j + α d k \alpha(a+bi+cj+dk)=\alpha a+\alpha bi+\alpha cj+\alpha dk α(a+bi+cj+dk)=αa+αbi+αcj+αdk
四元数的加法运算和标量乘法运算,符合向量空间的加法和乘法封闭,以及向量空间的8条运算法则(参阅《机器学习数学基础》第1章1.2.1节),故四元数的集合可视为一个定义于实数的四维向量空间:
H = { a + b i + c j + d k ∣ a , b , c , d ∈ R , i 2 = j 2 = k 2 = i j k = − 1 } \mathbb{H} = \{a+bi+cj+dk|a,b,c,d\in\mathbb{R},i^2=j^2=k^2=ijk=-1\} H={a+bi+cj+dk∣a,b,c,d∈R,i2=j2=k2=ijk=−1}
此向量空间的基为 { 1 , i , j , k } \{1,i,j,k\} {1,i,j,k} 。
1.4 共轭和逆
设 q = a + b i + c j + d k q=a+bi+cj+dk q=a+bi+cj+dk ,
-
四元数的共轭定义为: q ∗ = a − b i − c j − d k q^*=a-bi-cj-dk q∗=a−bi−cj−dk 。
-
绝对值(模,长度,norm): ∣ q ∣ = q q ∗ = q ∗ q = a 2 + b 2 + c 2 + d 2 |q|=\sqrt{qq^*}=\sqrt{q^*q}=\sqrt{a^2+b^2+c^2+d^2} ∣q∣=qq∗=q∗q=a2+b2+c2+d2 (此处使用了 q q ∗ = q ∗ q qq^*=q^*q qq∗=q∗q 结论,证明见后续内容 )
-
q 1 , q 2 ∈ H q_1,q_2\in\mathbb{H} q1,q2∈H ,则 ( q 1 q 2 ) ∗ = q 2 ∗ q 1 ∗ (q_1q_2)^*=q_2^*q_1^* (q1q2)∗=q2∗q1∗ ,且 ∣ q 1 q 2 ∣ = ∣ q 1 ∣ ∣ q 2 ∣ |q_1q_2|=|q_1||q_2| ∣q1q2∣=∣q1∣∣q2∣ 。
证明
∣ q 1 q 2 ∣ 2 = ( q 1 q 2 ) ( q 1 q 2 ) ∗ = q 1 q 2 q 2 ∗ q 1 ∗ = q 1 ∣ q 2 ∣ 2 q 1 ∗ = q 1 q 1 ∗ ∣ q 2 ∣ 2 = ∣ q 1 ∣ 2 ∣ q 2 ∣ 2 \begin{split}|q_1q_2|^2 &= (q_1q_2)(q_1q_2)^*\\ &= q_1q_2q_2^*q_1^*\\&=q_1|q_2|^2q_1^*\\&=q_1q_1^*|q_2|^2\\&=|q_1|^2|q_2|^2\end{split} ∣q1q2∣2=(q1q2)(q1q2)∗=q1q2q2∗q1∗=q1∣q2∣2q1∗=q1q1∗∣q2∣2=∣q1∣2∣q2∣2
-
若 q ≠ 0 q\ne 0 q=0 ,定义逆元: q − 1 = q ∗ ∣ q ∣ 2 q^{-1}=\frac{q^*}{|q|^2} q−1=∣q∣2q∗
验证
q − 1 q = q q − 1 = 1 q^{-1}q=qq^{-1}=1 q−1q=qq−1=1
若 ∣ q ∣ = 1 |q|=1 ∣q∣=1 ,即 q q q 是单位四元数,则 q − 1 = q ∗ q^{-1}=q^* q−1=q∗ 。
1.5 四元数表示:标量-向量
令 i , j , k \pmb{i,j,k} i,j,k 是 R 3 \mathbb{R}^3 R3 的单位向量(标准正交基),四元数 q = a + b i + c j + d k q=a+bi+cj+dk q=a+bi+cj+dk 可以表示为:
q = a + v q=a+\pmb{v} q=a+v
其中 a ∈ R a\in\mathbb{R} a∈R , v = b i + c j + d k ∈ R 3 \pmb{v} = b\pmb{i}+c\pmb{j}+d\pmb{k}\in\mathbb{R}^3 v=bi+cj+dk∈R3 ,且 i 2 = j 2 = k 2 = i j k = − 1 \pmb{i}^2=\pmb{j}^2=\pmb{k}^2=\pmb{ijk}=-1 i2=j2=k2=ijk=−1 。
1878年,英国数学家 William Kingdon Clifford [ 7 ] ^{[7]} [7] 使用上述表示方式,计算两个四元数的乘积:
q 1 q 2 = ( a 1 + v 1 ) ( a 2 + v 2 ) = ( a 1 a 2 − v 1 ⋅ v 2 ) + ( a 1 v 2 + a 2 v 1 + v 1 × v 2 ) (1.2) q_1q_2=(a_1+\pmb{v}_1)(a_2+\pmb{v}_2)=(a_1a_2-\pmb{v}_1\cdot\pmb{v}_2)+(a_1\pmb{v}_2+a_2\pmb{v}_1+\pmb{v}_1\times\pmb{v}_2) \tag{1.2} q1q2=(a1+v1)(a2+v2)=(a1a2−v1⋅v2)+(a1v2+a2v1+v1×v2)(1.2)
推导
因为:
v 1 ⋅ v 2 = b 1 b 2 + c 1 c 2 + d 1 d 2 \pmb{v}_1\cdot\pmb{v}_2=b_1b_2+c_1c_2+d_1d_2 v1⋅v2=b1b2+c1c2+d1d2
v 1 × v 2 = ∣ i j k b 1 c 1 d 1 b 2 c 2 d 2 ∣ = ( c 1 d 2 − c 2 d 1 ) i + ( d 1 b 2 − d 2 b 1 ) j + ( b 1 c 2 − b 2 c 1 ) k \pmb{v}_1\times\pmb{v}_2=\begin{vmatrix}i&j&k\\b_1&c_1&d_1\\b_2&c_2&d_2\end{vmatrix}=(c_1d_2-c_2d_1)i+(d_1b_2-d_2b_1)j+(b_1c_2-b_2c_1)k v1×v2= ib1b2jc1c2kd1d2 =(c1d2−c2d1)i+(d1b2−d2b1)j+(b1c2−b2c1)k
代入(1.1)式,得:
q 1 q 2 = ( a 1 a 2 − v 1 ⋅ v 2 ) + a 1 ( b 2 i + c 2 j + d 2 k ) + a 2 ( b 1 i + c 1 j + d 1 k ) + ( c 1 d 2 − d 1 c 2 ) i + ( d 1 b 2 − d 2 b 1 ) j + ( b 1 c 2 − b 2 c 1 ) k = ( a 1 a 2 − v 1 ⋅ v 2 ) + ( a 1 v 2 + a 2 v 1 + v 1 × v 2 ) \begin{split}q_1q_2 &= (a_1a_2-\pmb{v}_1\cdot\pmb{v}_2)+a_1(b_2i+c_2j+d_2k)+a_2(b_1i+c_1j+d_1k)\\&\quad+(c_1d_2-d_1c_2)i+(d_1b_2-d_2b_1)j+(b_1c_2-b_2c_1)k\\&=(a_1a_2-\pmb{v}_1\cdot\pmb{v}_2)+(a_1\pmb{v}_2+a_2\pmb{v}_1+\pmb{v}_1\times\pmb{v}_2)\end{split} q1q2=(a1a2−v1⋅v2)+a1(b2i+c2j+d2k)+a2(b1i+c1j+d1k)+(c1d2−d1c2)i+(d1b2−d2b1)j+(b1c2−b2c1)k=(a1a2−v1⋅v2)+(a1v2+a2v1+v1×v2)
(1.2)式中,即有两个向量的点积和叉积。
很可惜,Clifford提出了点积和叉积之后,未及推广,英年早逝。
1901年,美国物理学家吉布斯(Josiah Willard Gibbs)的学生将他的课堂讲义整理成书,名为《向量分析》(Vector Analysis),通过这个著名的教科书,点积和叉积得以推广。
2. 行列式与叉积
《机器学习数学基础》第4章4.1.1节中定义叉积,使用的是最常规的几何方法,下面根据参考文献 [8],从行列式角度来理解叉积。
设 A = [ a b c ] \pmb{A}=[\pmb{a}\quad\pmb{b}\quad\pmb{c}] A=[abc] ,有:KaTeX parse error: \tag works only in display equations
又因为:
det ( a , b , c ) = ∣ a 1 b 1 c 1 a 2 b 2 c 2 a 3 b 3 c 3 ∣ = c 1 ∣ a 2 b 2 a 3 b 3 ∣ − c 2 ∣ a 1 b 1 a 3 b 3 ∣ + c 3 ∣ a 1 b 1 a 2 b 2 ∣ = c 1 ∣ a 2 a 3 b 2 b 3 ∣ + c 2 ∣ a 3 a 1 b 3 b 1 ∣ + c 3 ∣ a 1 a 2 b 1 b 2 ∣ \begin{split}\det(\pmb{a},\pmb{b},\pmb{c})&=\begin{vmatrix}a_1&b_1&c_1\\a_2&b_2&c_2\\a_3&b_3&c_3\end{vmatrix}\\&=c_1\begin{vmatrix}a_2&b_2\\a_3&b_3\end{vmatrix}-c_2\begin{vmatrix}a_1&b_1\\a_3&b_3\end{vmatrix}+c_3\begin{vmatrix}a_1&b_1\\a_2&b_2\end{vmatrix}\\&=c_1\begin{vmatrix}a_2&a_3\\b_2&b_3\end{vmatrix}+c_2\begin{vmatrix}a_3&a_1\\b_3&b_1\end{vmatrix}+c_3\begin{vmatrix}a_1&a_2\\b_1&b_2\end{vmatrix}\end{split} det(a,b,c)= a1a2a3b1b2b3c1c2c3 =c1 a2a3b2b3 −c2 a1a3b1b3 +c3 a1a2b1b2 =c1 a2b2a3b3 +c2 a3b3a1b1 +c3 a1b1a2b2
所以:
a × b = ( ∣ a 2 a 3 b 2 b 3 ∣ , ∣ a 3 a 1 b 3 b 1 ∣ , ∣ a 1 a 2 b 1 b 2 ∣ ) T (2.2) \pmb{a}\times\pmb{b}=\left(\begin{vmatrix}a_2&a_3\\b_2&b_3\end{vmatrix},\begin{vmatrix}a_3&a_1\\b_3&b_1\end{vmatrix},\begin{vmatrix}a_1&a_2\\b_1&b_2\end{vmatrix}\right)^T\tag{2.2} a×b=( a2b2a3b3 , a3b3a1b1 , a1b1a2b2 )T(2.2)
2.1 用行列式证明叉积性质
-
数量乘法结合律: ( k a ) × b = a × ( k b ) = k ( a × b ) (k\pmb{a})\times\pmb{b}=\pmb{a}\times(k\pmb{b})=k(\pmb{a}\times\pmb{b}) (ka)×b=a×(kb)=k(a×b)
det ( k a , b , c ) = det ( a , k b , c ) = k det ( a , b , c ) \det(k\pmb{a},\pmb{b},\pmb{c})=\det(\pmb{a},k\pmb{b},\pmb{c})=k\det(\pmb{a},\pmb{b},\pmb{c}) det(ka,b,c)=det(a,kb,c)=kdet(a,b,c)
根据(2.1)式,得:
⟨ ( k a ) × b , c ⟩ = ⟨ a × ( k b ) , c ⟩ = k ⟨ a × b , c ⟩ \langle(k\pmb{a})\times\pmb{b},\pmb{c}\rangle=\langle\pmb{a}\times(k\pmb{b}),\pmb{c}\rangle=k\langle\pmb{a}\times\pmb{b},\pmb{c}\rangle ⟨(ka)×b,c⟩=⟨a×(kb),c⟩=k⟨a×b,c⟩
c \pmb{c} c 为任一向量
-
加法分配律: a × ( x + y ) = a × x + a × y , ( x + y ) × b = x × b + y × b \pmb{a}\times(\pmb{x}+\pmb{y})=\pmb{a}\times\pmb{x}+\pmb{a}\times\pmb{y},(\pmb{x}+\pmb{y})\times\pmb{b}=\pmb{x}\times\pmb{b}+\pmb{y}\times\pmb{b} a×(x+y)=a×x+a×y,(x+y)×b=x×b+y×b
det ( a , x + y , c ) = det ( a , x , c ) + det ( a , y , c ) \det(\pmb{a},\pmb{x}+\pmb{y},\pmb{c})=\det(\pmb{a},\pmb{x},\pmb{c})+\det(\pmb{a},\pmb{y},\pmb{c}) det(a,x+y,c)=det(a,x,c)+det(a,y,c)
det ( x + y , b , c ) = det ( x , b , c ) + det ( y , b , c ) \det(\pmb{x}+\pmb{y},\pmb{b},\pmb{c})=\det(\pmb{x},\pmb{b},\pmb{c})+\det(\pmb{y},\pmb{b},\pmb{c}) det(x+y,b,c)=det(x,b,c)+det(y,b,c)
利用前面的性质,得证。
-
正交: ⟨ a × b , a ⟩ = 0 \langle\pmb{a}\times\pmb{b},\pmb{a}\rangle=0 ⟨a×b,a⟩=0 且 ⟨ a × b , b ⟩ = 0 \langle\pmb{a}\times\pmb{b},\pmb{b}\rangle=0 ⟨a×b,b⟩=0 ,即 a × b ⊥ a \pmb{a}\times\pmb{b}\bot\pmb{a} a×b⊥a 且 a × b ⊥ b \pmb{a}\times\pmb{b}\bot\pmb{b} a×b⊥b
若行列式中有相同的两行,则行列式值等于零。所以:
⟨ a × b , a ⟩ = det ( a , b , a ) = 0 \langle\pmb{a}\times\pmb{b},\pmb{a}\rangle=\det(\pmb{a},\pmb{b},\pmb{a})=0 ⟨a×b,a⟩=det(a,b,a)=0
⟨ a × b , b ⟩ = det ( a , b , b ) = 0 \langle\pmb{a}\times\pmb{b},\pmb{b}\rangle=\det(\pmb{a},\pmb{b},\pmb{b})=0 ⟨a×b,b⟩=det(a,b,b)=0
-
反对称性: a × b = − b × a \pmb{a}\times\pmb{b}=-\pmb{b}\times\pmb{a} a×b=−b×a
行列式的两行互相交换,行列式值更改符号,所以:
⟨ a × b , c ⟩ = det ( a , b , c ) = − det ( b , a , c ) = − ⟨ b × a , c ⟩ = ⟨ − b × a , c ⟩ \langle\pmb{a}\times\pmb{b},\pmb{c}\rangle=\det(\pmb{a},\pmb{b},\pmb{c})=-\det(\pmb{b},\pmb{a},\pmb{c})=-\langle\pmb{b}\times\pmb{a},\pmb{c}\rangle=\langle-\pmb{b}\times\pmb{a},\pmb{c}\rangle ⟨a×b,c⟩=det(a,b,c)=−det(b,a,c)=−⟨b×a,c⟩=⟨−b×a,c⟩
-
循环不变性: ⟨ a × b , c ⟩ = ⟨ b × c , a ⟩ = ⟨ c × a , b ⟩ \langle\pmb{a}\times\pmb{b},\pmb{c}\rangle=\langle\pmb{b}\times\pmb{c},\pmb{a}\rangle=\langle\pmb{c}\times\pmb{a},\pmb{b}\rangle ⟨a×b,c⟩=⟨b×c,a⟩=⟨c×a,b⟩
行列式,交换两行两次,值不变。所以:
det ( a , b , c ) = det ( b , c , a ) = det ( c , a , b ) \det(\pmb{a},\pmb{b},\pmb{c})=\det(\pmb{b},\pmb{c},\pmb{a})=\det(\pmb{c},\pmb{a},\pmb{b}) det(a,b,c)=det(b,c,a)=det(c,a,b)
-
拉格朗日等式: ∥ a × b ∥ 2 = ∥ a ∥ 2 ∥ b ∥ 2 − ⟨ a , b ⟩ 2 \begin{Vmatrix}\pmb{a}\times\pmb{b}\end{Vmatrix}^2=\begin{Vmatrix}\pmb{a}\end{Vmatrix}^2\begin{Vmatrix}\pmb{b}\end{Vmatrix}^2-\langle\pmb{a},\pmb{b}\rangle^2 a×b 2= a 2 b 2−⟨a,b⟩2
设 p = a × b \pmb{p}=\pmb{a}\times\pmb{b} p=a×b ,使用行列式可乘公式和上面的正交性:
⟨ a × b , p ⟩ 2 = ∣ a b p ∣ 2 = ∣ a T b T p T ∣ ∣ a b p ∣ = ∣ ∥ a ∥ 2 ⟨ a , b ⟩ 0 ⟨ b , a ⟩ ∥ b ∥ 2 0 0 0 ∥ p ∥ 2 ∣ = ∥ p ∥ 2 ( ∥ a ∥ 2 ∥ b ∥ 2 − ⟨ a , b ⟩ 2 ) \begin{split}\langle\pmb{a}\times\pmb{b},\pmb{p}\rangle^2 &= |\pmb{a}\quad\pmb{b}\quad\pmb{p}|^2=\begin{vmatrix}\pmb{a}^T\\\pmb{b}^T\\\pmb{p}^T\end{vmatrix}\begin{vmatrix}\pmb{a}&\pmb{b}&\pmb{p}\end{vmatrix}\\ &= \begin{vmatrix}\begin{Vmatrix}\pmb{a}\end{Vmatrix}^2&\langle\pmb{a},\pmb{b}\rangle&0\\\langle\pmb{b},\pmb{a}\rangle&\begin{Vmatrix}\pmb{b}\end{Vmatrix}^2&0\\0&0&\begin{Vmatrix}\pmb{p}\end{Vmatrix}^2\end{vmatrix}\\ &= \begin{Vmatrix}\pmb{p}\end{Vmatrix}^2(\begin{Vmatrix}\pmb{a}\end{Vmatrix}^2\begin{Vmatrix}\pmb{b}\end{Vmatrix}^2-\langle\pmb{a},\pmb{b}\rangle^2)\end{split} ⟨a×b,p⟩2=∣abp∣2= aTbTpT abp = a 2⟨b,a⟩0⟨a,b⟩ b 2000 p 2 = p 2( a 2 b 2−⟨a,b⟩2)
又因为 ⟨ a × b , p ⟩ = ∥ a × b ∥ 2 = ∥ p ∥ 2 \langle\pmb{a}\times\pmb{b},\pmb{p}\rangle=\begin{Vmatrix}\pmb{a}\times\pmb{b}\end{Vmatrix}^2=\begin{Vmatrix}\pmb{p}\end{Vmatrix}^2 ⟨a×b,p⟩= a×b 2= p 2
如果,将 ⟨ a , b ⟩ = ∥ a ∥ ∥ b ∥ cos θ \langle\pmb{a},\pmb{b}\rangle=\begin{Vmatrix}\pmb{a}\end{Vmatrix}\begin{Vmatrix}\pmb{b}\end{Vmatrix}\cos\theta ⟨a,b⟩= a b cosθ 代入拉格朗日等式,可得:
∥ a × b ∥ 2 = ∥ a ∥ 2 ∥ b ∥ 2 ( 1 − cos 2 θ ) = ∥ a ∥ 2 ∥ b ∥ 2 sin 2 θ \begin{Vmatrix}\pmb{a}\times\pmb{b}\end{Vmatrix}^2=\begin{Vmatrix}\pmb{a}\end{Vmatrix}^2\begin{Vmatrix}\pmb{b}\end{Vmatrix}^2(1-\cos^2\theta)=\begin{Vmatrix}\pmb{a}\end{Vmatrix}^2\begin{Vmatrix}\pmb{b}\end{Vmatrix}^2\sin^2\theta a×b 2= a 2 b 2(1−cos2θ)= a 2 b 2sin2θ
即得: ∥ a × b ∥ = ∥ a ∥ ∥ b ∥ ∣ sin θ ∣ \begin{Vmatrix}\pmb{a}\times\pmb{b}\end{Vmatrix}=\begin{Vmatrix}\pmb{a}\end{Vmatrix}\begin{Vmatrix}\pmb{b}\end{Vmatrix}|\sin\theta| a×b = a b ∣sinθ∣ 。
参考文献
[1]. 线代启示录:内积与外积是怎么来的?
[2]. 维基百科:点积
[4]. 维基百科:哈密顿力学
[5]. 维基百科:威廉·哈密顿
[6]. 维基百科:History of quaternions
[7]. 维基百科:William Kingdon Clifford
[8]. 线代启示录:关于外积与行列式的关系