第13行:
第13行:
从代数角度看,先对两个数字序列中的每组对应元素求[[积]],再对所有积求和,结果即为点积。从几何角度看,点积则是两个[[向量]]的[[向量#大小|长度]]与它们夹角[[余弦]]的积。这两种定义在笛卡尔坐标系中等价。
从代数角度看,先对两个数字序列中的每组对应元素求[[积]],再对所有积求和,结果即为点积。从几何角度看,点积则是两个[[向量]]的[[向量#大小|长度]]与它们夹角[[余弦]]的积。这两种定义在笛卡尔坐标系中等价。
'''点积'''的名称源自表示点乘运算的点号(<math>a\cdot b</math>),'''标量积'''的叫法则是在强调其运算结果为[[标量]]而非[[向量]]。向量的另一种乘法是'''[[叉积|叉乘]]'''(<math>a \times b </math>),其结果为向量,称为'''叉积'''或'''向量积'''。
'''点积'''的名称源自表示点乘运算的[[⋅| 点号]] (<math>a\cdot b</math>),'''标量积'''的叫法则是在强调其运算结果为[[标量]]而非[[向量]]。向量的另一种乘法是'''[[叉积|叉乘]]'''(<math>a \times b </math>),其结果为向量,称为'''叉积'''或'''向量积'''。
點积是'''-{zh-hans:内积;zh-hant:內積}-'''的一种特殊形式。
點积是'''-{zh-hans:内积;zh-hant:內積}-'''的一种特殊形式。
“内积”重定向至此,关于
外代数 上的内积,参见
内乘 。
线性代数
A
=
[
1
2
3
4
]
{\displaystyle \mathbf {A} ={\begin{bmatrix}1&2\\3&4\end{bmatrix}}}
向量 · 向量空间 · 基底 · 行列式 · 矩阵
在数学 中,点积 (德語:Skalarprodukt 、英語:Dot Product )又称数量积 或标量积 (德語:Skalarprodukt 、英語:Scalar Product ),是一种接受两个等长的数字序列(通常是坐标 向量 )、返回单个数字的代数 运算 。在欧几里得几何 中,两个笛卡尔坐标 向量的点积常称为内积 (德語:inneres Produkt 、英語:Inner Product ),见内积空间 。
从代数角度看,先对两个数字序列中的每组对应元素求积 ,再对所有积求和,结果即为点积。从几何角度看,点积则是两个向量 的长度 与它们夹角余弦 的积。这两种定义在笛卡尔坐标系中等价。
点积 的名称源自表示点乘运算的点号 (
a
⋅
b
{\displaystyle a\cdot b}
),标量积 的叫法则是在强调其运算结果为标量 而非向量 。向量的另一种乘法是叉乘 (
a
×
b
{\displaystyle a\times b}
),其结果为向量,称为叉积 或向量积 。
點积是内积 的一种特殊形式。
定义
点积有两种定义方式:代数方式和几何方式。通过在欧氏空间中 引入笛卡尔坐标系 ,向量之间的点积 既可以由向量坐标的代数运算得出,也可以通过引入两个向量的长度 和角度 等几何概念来求解。
代数定义
两个向量
a
→
=
[
a
1
,
a
2
,
⋯
,
a
n
]
{\displaystyle {\vec {a}}=[a_{1},a_{2},\cdots ,a_{n}]}
和
b
→
=
[
b
1
,
b
2
,
⋯
,
b
n
]
{\displaystyle {\vec {b}}=[b_{1},b_{2},\cdots ,b_{n}]}
的点积定义为:
a
→
⋅
b
→
=
∑
i
=
1
n
a
i
b
i
=
a
1
b
1
+
a
2
b
2
+
⋯
+
a
n
b
n
{\displaystyle {\vec {a}}\cdot {\vec {b}}=\sum _{i=1}^{n}a_{i}b_{i}=a_{1}b_{1}+a_{2}b_{2}+\cdots +a_{n}b_{n}}
这裡的Σ是求和符号 ,而n 是向量空間 的維數。
例如,两个三维向量
[
1
,
3
,
−
5
]
{\displaystyle \left[1,3,-5\right]}
和
[
4
,
−
2
,
−
1
]
{\displaystyle \left[4,-2,-1\right]}
的点积是
[
1
,
3
,
−
5
]
⋅
[
4
,
−
2
,
−
1
]
=
(
1
)
(
4
)
+
(
3
)
(
−
2
)
+
(
−
5
)
(
−
1
)
=
4
−
6
+
5
=
3
{\displaystyle {\begin{aligned}\ [1,3,-5]\cdot [4,-2,-1]&=(1)(4)+(3)(-2)+(-5)(-1)\\&=4-6+5\\&=3\end{aligned}}}
点积还可以写为:
a
→
⋅
b
→
=
a
→
b
→
T
{\displaystyle {\vec {a}}\cdot {\vec {b}}={\vec {a}}{\vec {b}}^{T}}
。
这裡,
b
→
T
{\displaystyle {\vec {b}}^{T}}
是行向量
b
→
{\displaystyle {\vec {b}}}
的转置 。
使用上面的例子,一个1×3矩阵(行向量 )乘以一个3×1矩阵(列向量 )的行列式就是结果(通过矩阵乘法得到1×1矩陣):
[
1
3
−
5
]
[
4
−
2
−
1
]
=
[
3
]
=
3
{\displaystyle {\begin{bmatrix}1&3&-5\end{bmatrix}}{\begin{bmatrix}4\\-2\\-1\end{bmatrix}}={\begin{bmatrix}3\end{bmatrix}}=3}
。
几何定义
在欧几里得空间中,点积可以直观地定义为
a
→
⋅
b
→
=
|
a
→
|
|
b
→
|
cos
θ
{\displaystyle {\vec {a}}\cdot {\vec {b}}=|{\vec {a}}|\,|{\vec {b}}|\cos \theta \;}
这里 |
x
→
{\displaystyle {\vec {x}}}
| 表示
x
→
{\displaystyle {\vec {x}}}
的模 (长度),
θ
{\displaystyle \theta }
表示两个向量之间的角度 。
注意 :点积的形式定义 和这个定义不同;在形式定义中,
a
→
{\displaystyle {\vec {a}}}
和
b
→
{\displaystyle {\vec {b}}}
的夹角是通过上述等式定义的。
这样,两个互相垂直的向量的点积总是零。若
a
→
{\displaystyle {\vec {a}}}
和
b
→
{\displaystyle {\vec {b}}}
都是单位向量 (长度为1),它们的点积就是它们的夹角的余弦 。那么,给定两个向量,它们之间的夹角可以通过下列公式得到:
cos
θ
=
a
⋅
b
|
a
→
|
|
b
→
|
{\displaystyle \cos {\theta }={\frac {\mathbf {a\cdot b} }{|{\vec {a}}|\,|{\vec {b}}|}}}
这个运算可以简单地理解为:在点积运算中,第一个向量投影到第二个向量上(这裡,向量的顺序是不重要的,点积运算是可交换的),然后通过除以它们的标量长度来“标准化”。这样,这个分数一定是小于等于1的,可以简单地转化成一个角度值。
标量投影
A ·B = |A | |B | cos(θ). |A | cos(θ)是A 到B 的投影。
欧氏空间中向量
A
{\displaystyle \mathbf {A} }
在向量
B
{\displaystyle \mathbf {B} }
上的标量投影 是指
A
B
=
|
A
|
cos
θ
{\displaystyle A_{B}=|\mathbf {A} |\cos \theta }
这里
θ
{\displaystyle \theta }
是
A
{\displaystyle \mathbf {A} }
和
B
{\displaystyle \mathbf {B} }
的夹角。从点积的几何定义
A
⋅
B
=
|
A
|
|
B
|
cos
θ
{\displaystyle \mathbf {A} \cdot \mathbf {B} =|\mathbf {A} ||\mathbf {B} |\cos \theta }
不难得出,两个向量的点积:
A
⋅
B
{\displaystyle \mathbf {A} \cdot \mathbf {B} }
可以理解为向量
A
{\displaystyle \mathbf {A} }
在向量
B
{\displaystyle \mathbf {B} }
上的投影再乘以
B
{\displaystyle \mathbf {B} }
的长度。
A
⋅
B
=
A
B
|
B
|
=
B
A
|
A
|
{\displaystyle \mathbf {A} \cdot \mathbf {B} =A_{B}|\mathbf {B} |=B_{A}|\mathbf {A} |}
两种定义的等价性
点积的两种定义中,只需给定一种定义,另外一种定义就可以推出。
由几何定义推出代数定义
设
e
1
,
.
.
.
,
e
n
{\displaystyle e_{1},...,e_{n}}
是
R
n
{\displaystyle \mathbb {R} ^{n}}
空间的一组标准正交基,可以得出:
A
=
[
a
1
,
…
,
a
n
]
=
∑
i
a
i
e
i
B
=
[
b
1
,
…
,
b
n
]
=
∑
i
b
i
e
i
.
{\displaystyle {\begin{aligned}\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{aligned}}}
上文中已经得知两个向量点积的几何定义实际上就是一个向量在另外一个向量上的投影,故
A
{\displaystyle \mathbf {A} }
在任一标准基
e
n
{\displaystyle e_{n}}
的点积
A
⋅
e
i
{\displaystyle \mathbf {A} \cdot \mathbf {e} _{i}}
就是
A
{\displaystyle \mathbf {A} }
在此标准基向量上的投影,而根据向量自身的定义,这个投影即为
a
i
{\displaystyle a_{i}}
。因此:
A
⋅
B
=
A
⋅
∑
i
b
i
e
i
=
∑
i
b
i
(
A
⋅
e
i
)
=
∑
i
b
i
a
i
{\displaystyle \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_{i}a_{i}}
由代数定义推出几何定义
应用余弦定理 。
注意 :这个证明采用三维向量,但可以推广到
n
{\displaystyle n}
维的情形。
考虑向量
v
→
=
v
1
i
→
+
v
2
j
→
+
v
3
k
→
{\displaystyle {\vec {v}}=v_{1}{\vec {i}}+v_{2}{\vec {j}}+v_{3}{\vec {k}}\;}
.
重復使用勾股定理 得到
|
v
→
|
2
=
v
1
2
+
v
2
2
+
v
3
2
{\displaystyle |{\vec {v}}|^{2}=v_{1}^{2}+v_{2}^{2}+v_{3}^{2}\;}
.
而由代数定义
v
→
⋅
v
→
=
v
1
2
+
v
2
2
+
v
3
2
{\displaystyle {\vec {v}}\cdot {\vec {v}}=v_{1}^{2}+v_{2}^{2}+v_{3}^{2}\;}
,
所以,根据向量点积的代数定义,向量
v
→
{\displaystyle {\vec {v}}}
和自身的点积就是其长度的平方。
引理1
v
→
⋅
v
→
=
|
v
→
|
2
{\displaystyle {\vec {v}}\cdot {\vec {v}}=|{\vec {v}}|^{2}\;}
现在,考虑两个从原点出发的向量
a
→
{\displaystyle {\vec {a}}}
和
b
→
{\displaystyle {\vec {b}}}
,夹角
θ
{\displaystyle \theta }
。第三个向量
c
→
{\displaystyle {\vec {c}}}
定义为
c
→
≡
a
→
−
b
→
{\displaystyle {\vec {c}}\equiv {\vec {a}}-{\vec {b}}\;}
,
构造以
a
→
{\displaystyle {\vec {a}}}
,
b
→
{\displaystyle {\vec {b}}}
,
c
→
{\displaystyle {\vec {c}}}
为边的三角形,采用余弦定理 ,有
|
c
→
|
2
=
|
a
→
|
2
+
|
b
→
|
2
−
2
|
a
→
|
|
b
→
|
cos
θ
{\displaystyle |{\vec {c}}|^{2}=|{\vec {a}}|^{2}+|{\vec {b}}|^{2}-2|{\vec {a}}||{\vec {b}}|\cos \theta \;}
.
根据引理1,用点积代替向量长度的平方,有
c
→
⋅
c
→
=
a
→
⋅
a
→
+
b
→
⋅
b
→
−
2
|
a
→
|
|
b
→
|
cos
θ
{\displaystyle {\vec {c}}\cdot {\vec {c}}={\vec {a}}\cdot {\vec {a}}+{\vec {b}}\cdot {\vec {b}}-2|{\vec {a}}||{\vec {b}}|\cos \theta \;}
. (1)
同时,根据定义
c
→
{\displaystyle {\vec {c}}}
≡
a
→
{\displaystyle {\vec {a}}}
-
b
→
{\displaystyle {\vec {b}}}
,有
c
→
⋅
c
→
=
(
a
→
−
b
→
)
⋅
(
a
→
−
b
→
)
{\displaystyle {\vec {c}}\cdot {\vec {c}}=({\vec {a}}-{\vec {b}})\cdot ({\vec {a}}-{\vec {b}})\;}
,
根据分配律 ,得
c
→
⋅
c
→
=
a
→
⋅
a
→
+
b
→
⋅
b
→
−
2
(
a
→
⋅
b
→
)
{\displaystyle {\vec {c}}\cdot {\vec {c}}={\vec {a}}\cdot {\vec {a}}+{\vec {b}}\cdot {\vec {b}}-2({\vec {a}}\cdot {\vec {b}})\;}
. (2)
连接等式(1) 和(2) 有
a
→
⋅
a
→
+
b
→
⋅
b
→
−
2
(
a
→
⋅
b
→
)
=
a
→
⋅
a
→
+
b
→
⋅
b
→
−
2
|
a
→
|
|
b
→
|
cos
θ
{\displaystyle {\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 \;}
.
简化等式即得
a
→
⋅
b
→
=
|
a
→
|
|
b
→
|
cos
θ
{\displaystyle {\vec {a}}\cdot {\vec {b}}=|{\vec {a}}||{\vec {b}}|\cos \theta \;}
,
以上即为向量点积的几何定义。
需要注意的是,点积的几何解释通常只适用于
R
n
{\displaystyle \mathbb {R} ^{n}}
(
n
≤
3
{\displaystyle n\leq 3}
)。在高维空间,其他的域或模 中,点积只有一个定义,那就是
⟨
a
→
,
b
→
⟩
=
∑
i
=
1
n
a
i
b
i
{\displaystyle \left\langle {\vec {a}},{\vec {b}}\right\rangle =\sum _{i=1}^{n}a_{i}b_{i}}
点积可以用来计算合力 和功 。若
b
→
{\displaystyle {\vec {b}}}
为单向量,则点积即为
a
→
{\displaystyle {\vec {a}}}
在方向
b
→
{\displaystyle {\vec {b}}}
的投影,即给出了力 在这个方向上的分解。功即是力和位移 的点积。
性质
点积具有以下性质。
满足交换律 :
a
→
⋅
b
→
=
b
→
⋅
a
→
{\displaystyle {\vec {a}}\cdot {\vec {b}}={\vec {b}}\cdot {\vec {a}}}
,
从定义即可证明(
θ
{\displaystyle \theta }
为
a
{\displaystyle a}
与
b
{\displaystyle b}
的夹角):
a
→
⋅
b
→
=
‖
a
→
‖
‖
b
→
‖
cos
θ
=
‖
b
→
‖
‖
a
→
‖
cos
θ
=
b
→
⋅
a
→
{\displaystyle {\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}}}
对向量加法满足分配律 :
a
→
⋅
(
b
→
+
c
→
)
=
a
→
⋅
b
→
+
a
→
⋅
c
→
{\displaystyle {\vec {a}}\cdot ({\vec {b}}+{\vec {c}})={\vec {a}}\cdot {\vec {b}}+{\vec {a}}\cdot {\vec {c}}}
点积是双线性算子 :
a
→
⋅
(
r
b
→
+
c
→
)
=
r
(
a
→
⋅
b
→
)
+
(
a
→
⋅
c
→
)
{\displaystyle {\vec {a}}\cdot (r{\vec {b}}+{\vec {c}})=r({\vec {a}}\cdot {\vec {b}})+({\vec {a}}\cdot {\vec {c}})}
在乘以标量 时满足:
(
c
1
a
→
)
⋅
(
c
2
b
→
)
=
(
c
1
c
2
)
(
a
→
⋅
b
→
)
{\displaystyle (c_{1}{\vec {a}})\cdot (c_{2}{\vec {b}})=(c_{1}c_{2})({\vec {a}}\cdot {\vec {b}})}
不满足结合律 。因为标量(
a
→
⋅
b
→
{\displaystyle {\vec {a}}\cdot {\vec {b}}}
)与向量(
c
→
{\displaystyle {\vec {c}}}
)的点积没有定义,所以结合律相关的表达式
(
a
→
⋅
b
→
)
⋅
c
→
{\displaystyle ({\vec {a}}\cdot {\vec {b}})\cdot {\vec {c}}}
和
a
→
⋅
(
b
→
⋅
c
→
)
{\displaystyle {\vec {a}}\cdot ({\vec {b}}\cdot {\vec {c}})}
都没有良好的定义
两个非零向量
a
→
{\displaystyle {\vec {a}}}
和
b
→
{\displaystyle {\vec {b}}}
是正交 的,当且仅当
a
→
⋅
b
→
=
0
{\displaystyle {\vec {a}}\cdot {\vec {b}}=0}
如果
b
→
{\displaystyle {\vec {b}}}
是单位向量 ,则点积给出
a
→
{\displaystyle {\vec {a}}}
在方向
b
→
{\displaystyle {\vec {b}}}
上投影的大小,如果方向相反则带有负号。分解向量对求向量的和经常是有用的,比如在力学 中计算合力 。
不像普通数的乘法服从消去律 ,如果
a
b
=
a
c
{\displaystyle ab=ac}
,则
b
{\displaystyle b}
总是等于
c
{\displaystyle c}
,除非
a
{\displaystyle a}
等于零。而对于点积:
如果
a
→
⋅
b
→
=
a
→
⋅
c
→
{\displaystyle {\vec {a}}\cdot {\vec {b}}={\vec {a}}\cdot {\vec {c}}}
并且
a
→
≠
0
{\displaystyle {\vec {a}}\neq 0}
:
则根据分配律 可以得出:
a
→
⋅
(
b
→
−
c
→
)
=
0
{\displaystyle {\vec {a}}\cdot \left({\vec {b}}-{\vec {c}}\right)=0}
;进而:
如果
a
→
{\displaystyle {\vec {a}}}
垂直于
(
b
→
−
c
→
)
{\displaystyle \left({\vec {b}}-{\vec {c}}\right)}
,则
(
b
→
−
c
→
)
{\displaystyle \left({\vec {b}}-{\vec {c}}\right)}
可能
≠
0
{\displaystyle \neq 0}
,因而
b
→
{\displaystyle {\vec {b}}}
可能
≠
c
→
{\displaystyle \neq {\vec {c}}}
;否则
b
→
=
c
→
{\displaystyle {\vec {b}}={\vec {c}}}
。
推广
矩阵
矩阵 具有弗罗比尼乌斯内积 ,可以类比于向量的内积。它被定义为两个相同大小的矩阵A 和B 的对应元素的内积之和。
复矩阵情况下:
A
:
B
=
∑
i
∑
j
A
i
j
B
i
j
¯
=
t
r
(
B
H
A
)
=
t
r
(
A
B
H
)
.
{\displaystyle \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} }).}
实矩阵情况下:
A
:
B
=
∑
i
∑
j
A
i
j
B
i
j
=
t
r
(
B
T
A
)
=
t
r
(
A
B
T
)
=
t
r
(
A
T
B
)
=
t
r
(
B
A
T
)
.
{\displaystyle \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} }).}
应用
物理学 中力学 的力做功的问题,经常用到点积计算。
计算机图形学 常用来进行方向性判断,如两向量点积大于0,则它们的方向朝向相近;如果小于0,则方向相反。
向量内积是人工智能 领域中的神经网络 技术的数学基础之一。
此方法被用于动画渲染 (Animation-Rendering)。
广义定义
在一个向量空间
V
{\displaystyle V}
中,定義在
V
×
V
{\displaystyle V\times V}
上的正定对称双线性形式 函數即是
V
{\displaystyle V}
的內積,而添加有一个数量积的向量空间即是内积空间 。
参见