《机器学习数学基础》第1章1.4节介绍了内积、点积的有关概念,特别辨析了内积空间、欧几里得空间;第4章4.1.1节介绍了叉积的有关概念;4.1.2节介绍了张量积(也称外积)的概念。
以上这些内容,在不同资料中,所用术语的含义会有所差别,读者阅读的时候,不妨注意,一般资料中,都是在欧几里得空间探讨有关问题,并且是在三维的欧氏空间中,其实质所指即相同。但是,如果不是在欧氏空间中,各概念、术语则不能混用。
下面从数学史的角度,参考有关文献,阐述
再次强调,以下讨论,是在三维欧几里得空间。
而对点积和叉积的探讨,不得不从四元数开始。
威廉·卢云·哈密顿爵士(英語:Sir William Rowan Hamilton,1805年8月4日-1865年9月2日),爱尔兰数学家、物理学家和天文学家。
“哈密顿”这个名称,在物理学中经常会见到,因为哈密顿在1833年建立了经典力学的重新表述(与之对应的另外一个表述是拉格朗日力学)$^{[4]}$ ,并且此成果也被应用在量子力学中。
在数学方面,哈密顿最著名的贡献在于发现了四元数,在如今的计算机图形学、控制理论、信号处理、轨道力学等领域,都有四元数的应用。
此外,哈密顿还是语言天才,参考文献 [5] 中列出了他所懂的语言,抄录如下:
哈密顿哈密顿还精通多種語言。除了歐洲語言之外,他還懂得波斯語、希臘語、拉丁語、希伯來文、古代巴勒底的巴比倫文、印度梵語、佛教原典所用的巴利語、義大利語、法語、阿拉伯語、孟加拉語、巴基斯坦語、馬來語、梵文和中文等。
在复数
在三维欧几里得空间中,每个点可以用一个有序数
石碑上的内容如下:
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 = ijk = −1$ & cut it on a stone of this bridge.
每个四元数(quaternion)都是
其中,$i^2=j^2=k^2=ijk=-1$ ,$a,b,c,d$ 是实数。
四元数加法,与向量加法类似:
根据四元数定义中规定的
-
$ijk = -1$ ,右乘$k$ ,得:$ijk^2=ij(-1)=-ij=-k$ ,即$ij=k$ 。 -
$ijk = -1$ ,左乘$i$ ,得:$i^2jk=(-1)jk=-jk=-i$ ,即$jk=i$ 。 - 根据
$jk=i$ ,左乘$j$ ,得:$j^2k=ji$ ,即$-k=ji$ 。 - ......
可以得到如下乘法表:
. | ||||
---|---|---|---|---|
从上表中会发现,四元数的乘法显然不满足交换律,比如
两个四元数相乘:
标量与四元数相乘:
四元数的加法运算和标量乘法运算,符合向量空间的加法和乘法封闭,以及向量空间的8条运算法则(参阅《机器学习数学基础》第1章1.2.1节),故四元数的集合可视为一个定义于实数的四维向量空间:
此向量空间的基为
设
-
四元数的共轭定义为:$q^*=a-bi-cj-dk$ 。
-
绝对值(模,长度,norm):$|q|=\sqrt{qq^*}=\sqrt{q^q}=\sqrt{a^2+b^2+c^2+d^2}$ (此处使用了 $qq^=q^*q$ 结论,证明见后续内容 )
-
$q_1,q_2\in\mathbb{H}$ ,则 $(q_1q_2)^*=q_2^q_1^$ ,且$|q_1q_2|=|q_1||q_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} $$
-
若
$q\ne 0$ ,定义逆元:$q^{-1}=\frac{q^*}{|q|^2}$验证
$$ q^{-1}q=qq^{-1}=1 $$
若
$|q|=1$ ,即$q$ 是单位四元数,则$q^{-1}=q^*$ 。
令
其中
1878年,英国数学家 William Kingdon Clifford$^{[7]}$ 使用上述表示方式,计算两个四元数的乘积:
推导
因为:
代入(1.1)式,得:
(1.2)式中,即有两个向量的点积和叉积。
很可惜,Clifford提出了点积和叉积之后,未及推广,英年早逝。
1901年,美国物理学家吉布斯(Josiah Willard Gibbs)的学生将他的课堂讲义整理成书,名为《向量分析》(Vector Analysis),通过这个著名的教科书,点积和叉积得以推广。
《机器学习数学基础》第4章4.1.1节中定义叉积,使用的是最常规的几何方法,下面根据参考文献 [8],从行列式角度来理解叉积。
设
又因为:
所以:
-
数量乘法结合律:$(k\pmb{a})\times\pmb{b}=\pmb{a}\times(k\pmb{b})=k(\pmb{a}\times\pmb{b})$
$$ \det(k\pmb{a},\pmb{b},\pmb{c})=\det(\pmb{a},k\pmb{b},\pmb{c})=k\det(\pmb{a},\pmb{b},\pmb{c}) $$
根据(2.1)式,得:
$$ \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 $$
$\pmb{c}$ 为任一向量 -
加法分配律:$\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}$
$$ \det(\pmb{a},\pmb{x}+\pmb{y},\pmb{c})=\det(\pmb{a},\pmb{x},\pmb{c})+\det(\pmb{a},\pmb{y},\pmb{c}) $$
$$ \det(\pmb{x}+\pmb{y},\pmb{b},\pmb{c})=\det(\pmb{x},\pmb{b},\pmb{c})+\det(\pmb{y},\pmb{b},\pmb{c}) $$
利用前面的性质,得证。
-
正交:$\langle\pmb{a}\times\pmb{b},\pmb{a}\rangle=0$ 且
$\langle\pmb{a}\times\pmb{b},\pmb{b}\rangle=0$ ,即$\pmb{a}\times\pmb{b}\bot\pmb{a}$ 且$\pmb{a}\times\pmb{b}\bot\pmb{b}$ 若行列式中有相同的两行,则行列式值等于零。所以:
$$ \langle\pmb{a}\times\pmb{b},\pmb{a}\rangle=\det(\pmb{a},\pmb{b},\pmb{a})=0 $$
$$ \langle\pmb{a}\times\pmb{b},\pmb{b}\rangle=\det(\pmb{a},\pmb{b},\pmb{b})=0 $$
-
反对称性:$\pmb{a}\times\pmb{b}=-\pmb{b}\times\pmb{a}$
行列式的两行互相交换,行列式值更改符号,所以:
$$ \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 $$
-
循环不变性:$\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$
行列式,交换两行两次,值不变。所以:
$$ \det(\pmb{a},\pmb{b},\pmb{c})=\det(\pmb{b},\pmb{c},\pmb{a})=\det(\pmb{c},\pmb{a},\pmb{b}) $$
-
拉格朗日等式:$\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$
设
$\pmb{p}=\pmb{a}\times\pmb{b}$ ,使用行列式可乘公式和上面的正交性:$$ \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} $$
又因为 $\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$
如果,将 $\langle\pmb{a},\pmb{b}\rangle=\begin{Vmatrix}\pmb{a}\end{Vmatrix}\begin{Vmatrix}\pmb{b}\end{Vmatrix}\cos\theta$ 代入拉格朗日等式,可得:
即得:$\begin{Vmatrix}\pmb{a}\times\pmb{b}\end{Vmatrix}=\begin{Vmatrix}\pmb{a}\end{Vmatrix}\begin{Vmatrix}\pmb{b}\end{Vmatrix}|\sin\theta|$ 。
[1]. 线代启示录:内积与外积是怎么来的?
[2]. 维基百科:点积
[4]. 维基百科:哈密顿力学
[5]. 维基百科:威廉·哈密顿
[6]. 维基百科:History of quaternions
[7]. 维基百科:William Kingdon Clifford
[8]. 线代启示录:关于外积与行列式的关系