每个学过向量的人必定都学过点积。在中学,点积为 0 向量垂直的结论也是一大解题利器。我们要么将其视为类似加减乘除的运算,完全相信,也可以视其为巧合,完全不信。
本文结合 3b1b 的《线性代数的本质》,浅谈向量定义背后的对偶性。
定义
点积又称数量积,从几何角度来说,点积就是将一个向量在另一个向量上的投影长度与另一个向量长度相乘。
$$ \vec{a}\cdot\vec{b} = ||a||\cdot||b||\cos{\theta} $$
从代数角度来说,点积就是将两个向量对应位置上的数字两两相乘再相加。
$$ \begin{bmatrix} a_1 \\ a_2 \\ \dotsb \\ a_n \end{bmatrix} \cdot \begin{bmatrix} b_1 \\ b_2 \\ \dotsb \\ b_n \end{bmatrix} = a_1\cdot b_1 + \dotsb + a_n\cdot b_n $$
冰山之下
你可能跟我一样,在初学时就有了两个问题:
- 为什么投影的顺序可交换?
- 数字相乘再相加与投影有什么关系?
对我来说,第一个问题不难理解。假如两个向量长度相同,那么它们关于夹角的角平分线对称,它们的投影也对称。而当长度不相同时,虽然没有对称性,但是投影的长度与原向量的长度是成正比的,点积也只是在前面乘一个系数。从代数角度来说,就更只是一个简单的移项。
重点是第二个问题,我此前从未搞清楚这一点,只是将其视为某种我不理解的巧合。事实上,这是因为点积可以被看作是一种 将空间压缩到一维数轴的线性变换。
既然提及线性变换,自然就会想到矩阵,而 将空间压缩到一维 对应的变换矩阵就是 $1 \times n$ 的矩阵。$1 \times n$ 的矩阵是不是就像一个躺倒的 $n$ 维向量?
$$ \begin{bmatrix} a_1 & a_2 &\dotsb &a_n \end{bmatrix} \begin{bmatrix} b_1 \\ b_2 \\ \dotsb \\ b_n \end{bmatrix} = a_1\cdot b_1 + \dotsb + a_n\cdot b_n $$
我们知道,一个线性变换只与基向量的变换有关,那么我们要求这个变换矩阵,就是求变换后基向量的位置。如果在某个线性变换后空间压缩成了一维数轴,那么 基向量就变成了它们在数轴上的投影。而由于对称性,基向量在数轴上的投影就等于数轴上的单位向量向原来的基向量上的投影,这恰好就是数轴上单位向量的横纵坐标。综上所述,变换矩阵在数值上就等于变换后数轴上的单位向量的转置。
至此,你可以选择将向量点积看作是矩阵乘法的另一种写法,但是对我而言它蕴涵了一个深刻的认识,就是 向量是线性变换的载体。如果我们看到一个将空间压缩到一维的线性变换,空间中会存在唯一的向量与之相关。简单来说,向量就代表了一个变换,这种表示比矩阵要更容易记住,因为想象空间中的一个箭头比想象整个空间的变换要容易。
而这种自然而又出乎意料的对应关系就称为 对偶性(duality)。
柯西不等式
$$ (a_1^2+a_2^2+\dotsb+a_n^2)(b_1^2+b_2^2+\dotsb+b_n^2)\geqslant(a_1b_1+a_2b_2+\dotsb+a_nb_n)^2 $$
为什么要把这个看起来奇怪的不等式放在点积的文章当中?因为它是由点积推导出来的。
它的意义是 $||\vec{a}||\cdot||\vec{b}||\geqslant||\vec{a}\cdot \vec{b}||$。由于 $\vec{a}\cdot\vec{b}=||\vec{a}||\cdot||\vec{b}||\cos{\theta}$,$\cos{\theta}\in[-1,1]$,所以上述不等式得证。
显然,等号成立当且仅当两向量共线。