在数学中,点积(;)又称-{zh-hans:数量积;zh-hant:數量積}-或标量积(;),是一种接受两串等长的数字序列(通常是坐标向量)、返回单一常數的代数运算。
在欧几里得几何里,两個笛卡尔坐标向量的点积常称为內積(;)。點积是內積的一种特殊形式:内积是点积的抽象,內积是一种双线性函数,点积是欧几里得空间(内积空间)的度量。
从代数角度看,先求两数字序列中每组对应元素的积,再求所有积之和,结果即为点积。从几何角度看,点积则是两向量的长度与它们夹角余弦的积,这两种定义在笛卡尔坐标系中等价。
点积的名称源自表示点乘运算的点号(\mathbf a \cdot \mathbf b),讀作a dot b,标量积的叫法则是在强调其运算结果为标量而非向量。向量的另一种乘法是叉乘(\mathbf a \times \mathbf b),讀作a cross b,其结果为向量,称为叉积或向量积。
定义
点积有两种定义方式:代数方式和几何方式。通过在欧氏空间中引入笛卡尔坐标系,向量间的点积既可以由向量坐标的代数运算得出,也可以通过引入两向量的长度和角度等几何概念来求解。
代数定义
向量\vec{a}=[a_1, a_2, \cdots, a_n]和\vec{b}=[b_1, b_2, \cdots, b_n]的点积定义为:
:\vec{a}\cdot \vec{b} = \sum_{i=1}^n a_ib_i = a_1b_1 + a_2b_2 + \cdots + a_nb_n
这裡的Σ是求和符号,而n是向量空間的維度。
例如,三维向量\left [ 1,3,-5 \right ]和\left [ 4,-2,-1 \right ]的点积是
:
\begin{align}
\ [1, 3, -5] \cdot [4, -2, -1] &= (1)(4) + (3)(-2) + (-5)(-1) \\
&= 4 - 6 + 5 \\
&= 3
\end{align}
点积还可以写为:
:\vec{a} \cdot \vec{b} = \vec{a}\vec{b}^T。
这裡,\vec{b}^T是列向量\vec{b}的转置。
使用上面的例子,1×3矩阵(列向量)乘以3×1矩阵(行向量)的行列式就是结果(通过矩阵乘法得到1×1矩陣):
:
\begin{bmatrix}
1 & 3 & -5
\end{bmatrix}
\begin{bmatrix}
4 \\ -2 \\ -1
\end{bmatrix} =
\begin{bmatrix}
3
\end{bmatrix} = 3。
几何定义
在欧几里得空间中,点积可直观定义为
: \vec{a} \cdot \vec{b} = |\vec{a}| \, |\vec{b}| \cos \theta \;
这里 |\vec{x}| 表示\vec{x}的模(长度),\theta表示向量间的角度。
注意:点积的形式定义和这定义不同;在形式定义,\vec{a}和\vec{b}的夹角用上述等式定义。
这样,互相垂直的两條向量的点积总是零。若\vec{a}和\vec{b}都是单位向量(长度为1),它们的点积就是它们的夹角的余弦。那么,给定两條向量,它们之间的夹角可以以下公式得到:
: \cos{\theta} = \frac{\mathbf{a \cdot b}}
这个运算可以简单地理解为:在点积运算中,第一向量投影到第二向量上(向量顺序这裡在不重要,点积运算可交换),然后通过除以它们的标量长度来“标准化”。这样,这分数一定是小于等于1的,可以简单转化成角度值。
标量投影
欧氏空间中向量\mathbf A在向量\mathbf B上的标量投影是指對於向量B來說向量A的垂直度到向量B的代表長度
:A_B=|\mathbf A|\cos\theta
这里\theta是\mathbf A和\mathbf B的夹角。从点积的几何定义\mathbf A\cdot\mathbf B=|\mathbf{A}||\mathbf{B}|\cos\theta不难得出,两向量的点积:\mathbf A\cdot\mathbf B可以理解为向量\mathbf A在向量\mathbf B上的投影再乘以\mathbf B的长度。
:\mathbf A\cdot\mathbf B = A_B|\mathbf{B}|=B_A|\mathbf{A}|
两种定义的等价性
点积的两种定义中,只需给定一种定义,另外一种定义就可以推出。
由几何定义推出代数定义
设e_1,...,e_n是\mathbb{R}^n空间的一组标准正交基,可以得出:
:\begin{align}
\mathbf A &= [a_1,\dots,a_n] = \sum_i a_i\mathbf e_i\\
\mathbf B &= [b_1,\dots,b_n] = \sum_i b_i\mathbf e_i.
\end{align}
上文中已经得知两條向量点积的几何定义实际上就是一條向量在另外一條向量上的投影,故\mathbf A在任一标准基e_n的点积\mathbf A\cdot\mathbf e_i就是\mathbf A在此标准基向量上的投影,而根据向量自身的定义,这个投影即为a_i。因此:
:\mathbf A\cdot\mathbf B = \mathbf A\cdot\sum_i b_i\mathbf e_i = \sum_i b_i(\mathbf A\cdot\mathbf e_i) = \sum_i b_ia_i
由代数定义推出几何定义
应用余弦定理。
注意:这个证明采用三维向量,但可以推广到n维的情形。
考虑向量
: \vec{v} = v_1 \vec{i} + v_2 \vec{j} + v_3 \vec{k} \; .
重復使用勾股定理得到
: |\vec{v}|^2 = v_1^2 + v_2^2 + v_3^2 \;.
而由代数定义
: \vec{v} \cdot \vec{v} = v_1^2 + v_2^2 + v_3^2 \;,
所以,根据向量点积的代数定义,向量\vec{v}和自身的点积就是其长度的平方。
; 引理1: \vec{v} \cdot \vec{v} = |\vec{v}|^2 \;
现在,考虑从原点出发的两條向量\vec{a}和\vec{b},夹角\theta。第三條向量\vec{c}定义为
: \vec{c} \equiv \vec{a} - \vec{b} \;,
构造以\vec{a},\vec{b},\vec{c}为边的三角形,采用余弦定理,有
: |\vec{c}|^2 = |\vec{a}|^2 + |\vec{b}|^2 - 2 |\vec{a}||\vec{b}| \cos \theta \;.
根据引理1,用点积代替向量长度的平方,有
:\vec{c} \cdot \vec{c}
= \vec{a} \cdot \vec{a}
- \vec{b} \cdot \vec{b}
- 2 |\vec{a}||\vec{b}| \cos\theta \;. (1)
同时,根据定义\vec{c} ≡ \vec{a} - \vec{b},有
:\vec{c} \cdot \vec{c}
= (\vec{a} - \vec{b}) \cdot (\vec{a} - \vec{b}) \;,
根据分配律,得
: \vec{c} \cdot \vec{c}
= \vec{a} \cdot \vec{a}
- \vec{b} \cdot \vec{b}
-2(\vec{a} \cdot \vec{b}) \;. (2)
连接等式(1)和(2)有
: \vec{a} \cdot \vec{a}
- \vec{b} \cdot \vec{b}
-2(\vec{a} \cdot \vec{b})
= \vec{a} \cdot \vec{a}
- \vec{b} \cdot \vec{b}
- 2 |\vec{a}||\vec{b}| \cos\theta \;.
简化等式即得
: \vec{a} \cdot \vec{b} = |\vec{a}||\vec{b}| \cos\theta \; ,
以上即为向量点积的几何定义。
需要注意的是,点积的几何解释通常只适用于\mathbb{R}^n (n \le 3)。在高维空间,其他的域或模中,点积只有一个定义,那就是
:\left \langle \vec{a}, \vec{b} \right \rangle = \sum_{i=1}^n a_ib_i.
性质
点积有以下性质。
- 满足交换律:
*: \vec{a} \cdot \vec{b} = \vec{b} \cdot \vec{a},
*: 从定义即可证明(\theta 为a与b的夹角):
*: \vec{a} \cdot \vec{b} = \left\| \vec{a} \right\| \left\| \vec{b} \right\| \cos \theta = \left\| \vec{b} \right\| \left\| \vec{a} \right\| \cos \theta = \vec{b} \cdot \vec{a}
- 对向量加法满足分配律:
*: \vec{a} \cdot (\vec{b} + \vec{c}) = \vec{a} \cdot \vec{b} + \vec{a} \cdot \vec{c}
- 点积是双线性算子:
*: \vec{a} \cdot (r\vec{b} + \vec{c}) = r(\vec{a} \cdot \vec{b}) +(\vec{a} \cdot \vec{c})
- 在乘以标量时满足:
*: (c_1\vec{a}) \cdot (c_2\vec{b}) = (c_1c_2) (\vec{a} \cdot \vec{b})
- 不满足结合律。因为标量(\vec{a} \cdot \vec{b})与向量(\vec{c})的点积没有定义,所以结合律相关的表达式 (\vec{a} \cdot \vec{b}) \cdot \vec{c} 和 \vec{a} \cdot (\vec{b} \cdot \vec{c}) 都没有良好的定义
- 两个非零向量\vec{a}和\vec{b}是正交的,当且仅当\vec{a}\cdot\vec{b}=0
如果\vec{b}是单位向量,则点积给出\vec{a}在方向\vec{b}上投影的大小,如果方向相反则带有负号。分解向量对求向量的和经常是有用的,比如在力学中计算合力。
不像普通数的乘法服从消去律,如果ab=ac,则b总是等于c,除非a等于零。而对于点积:
:如果\vec{a}\cdot \vec{b}=\vec{a}\cdot\vec{c}并且\vec{a}\neq 0:
:则根据分配律可以得出:\vec{a}\cdot\left ( \vec{b}-\vec{c} \right )=0;进而:
:如果\vec{a}垂直于\left ( \vec{b}-\vec{c} \right ),则\left ( \vec{b}-\vec{c} \right )可能\neq 0,因而\vec{b}可能\neq\vec{c};否则\vec{b}=\vec{c}。
延伸
矩阵
矩阵具有弗罗比尼乌斯内积,可以类比于向量的内积。它被定义为两个相同大小的矩阵A和B的对应元素的内积之和。
复矩阵情况下:
: \mathbf{A} : \mathbf{B} = \sum_i \sum_j A_{ij} \overline{B_{ij}} = \mathrm{tr} ( \mathbf{B}^\mathrm{H} \mathbf{A} ) = \mathrm{tr} ( \mathbf{A} \mathbf{B}^\mathrm{H} ) .
实矩阵情况下:
: \mathbf{A} : \mathbf{B} = \sum_i \sum_j A_{ij} B_{ij} = \mathrm{tr} ( \mathbf{B}^\mathrm{T} \mathbf{A} ) = \mathrm{tr} ( \mathbf{A} \mathbf{B}^\mathrm{T} ) = \mathrm{tr} ( \mathbf{A}^\mathrm{T} \mathbf{B} ) = \mathrm{tr} ( \mathbf{B} \mathbf{A}^\mathrm{T} ) .
广义定义
在向量空间V中,定義在V\times V上的正定对称双线性形式函數即是V的內積,而添加有数量积的向量空间即是内积空间。
应用
物理学中力学的力做功的问题,经常用到点积计算。如機械功W = \vec{F}\cdot \vec{d},其中\vec{F}為合力向量,\vec{d}為位移向量。
计算机图形学常用来判断方向,如两向量点积大于0,则它们的方向朝向相近;如果小于0,则方向相反。
向量内积是人工智能领域中的神经网络技术的数学基础之一。
此方法用于动画渲染(Animation-Rendering)。
参见
- 向量积
外部連結
[https://mathworld.wolfram.com/DotProduct.html 點積 (MathWorld)]
参考文献
评论 (0)