向量的 Dot Product(点乘)、Outer Product(外积) 和 Cross Product(叉乘) 是三种不同的运算方式,每一种都有特定的数学意义和应用场景。它们的主要区别:
1. 点乘(Dot Product)
定义:
点乘是两个向量之间的运算,结果是一个标量。
a ⋅ b = ∥ a ∥ ∥ b ∥ cos θ \mathbf{a} \cdot \mathbf{b} = \|\mathbf{a}\| \|\mathbf{b}\| \cos\theta a⋅b=∥a∥∥b∥cosθ
其中:
- ∥ a ∥ \|\mathbf{a}\| ∥a∥ 和 ∥ b ∥ \|\mathbf{b}\| ∥b∥ 是向量的模长。
- θ \theta θ 是两个向量之间的夹角。
矩阵形式:
点乘可以通过矩阵表示为:
a ⋅ b = a ⊤ b \mathbf{a} \cdot \mathbf{b} = \mathbf{a}^\top \mathbf{b} a⋅b=a⊤b
结果维度:
结果是一个标量(单一数值)。
几何意义:
- 表示 a \mathbf{a} a 在 b \mathbf{b} b 方向上的投影长度乘以 ∥ b ∥ \|\mathbf{b}\| ∥b∥。
- 反映了两个向量之间的相似性,点乘越大,两个向量的夹角越小。
- 如果 a ⋅ b = 0 \mathbf{a} \cdot \mathbf{b} = 0 a⋅b=0,说明两向量正交。
应用:
- 判断两个向量是否正交( a ⋅ b = 0 \mathbf{a} \cdot \mathbf{b} = 0 a⋅b=0)。
- 计算向量的投影。
- 用于计算角度或相似性。
- 在物理学中用于功和能量的计算。
2. 外积(Outer Product)
定义:
外积是两个向量之间的运算,结果是一个矩阵。
a ⊗ b = a b ⊤ \mathbf{a} \otimes \mathbf{b} = \mathbf{a} \mathbf{b}^\top a⊗b=ab⊤
其中:
- a \mathbf{a} a 是 m × 1 m \times 1 m×1 列向量。
- b \mathbf{b} b 是 n × 1 n \times 1 n×1 列向量。
- 结果是 m × n m \times n m×n 的矩阵。
矩阵形式:
外积直接构造一个矩阵:
a ⊗ b = [ a 1 a 2 a 3 ] [ b 1 b 2 b 3 ] = [ a 1 b 1 a 1 b 2 a 1 b 3 a 2 b 1 a 2 b 2 a 2 b 3 a 3 b 1 a 3 b 2 a 3 b 3 ] \mathbf{a} \otimes \mathbf{b} = \begin{bmatrix} a_1 \\ a_2 \\ a_3 \end{bmatrix} \begin{bmatrix} b_1 & b_2 & b_3 \end{bmatrix} = \begin{bmatrix} a_1 b_1 & a_1 b_2 & a_1 b_3 \\ a_2 b_1 & a_2 b_2 & a_2 b_3 \\ a_3 b_1 & a_3 b_2 & a_3 b_3 \end{bmatrix} a⊗b= a1a2a3 [b1b2b3]= a1b1a2b1a3b1a1b2a2b2a3b2a1b3a2b3a3b3
结果维度:
结果是一个矩阵。
几何意义:
- 外积描述了如何将一个向量扩展成一个张量或矩阵。
- 没有直接的几何意义,但在构造线性变换中非常有用。
应用:
- 在机器学习中用于构造特征矩阵或协方差矩阵。
- 用于张量代数和多维数据表示。
3. 叉乘(Cross Product)
定义:
叉乘是两个向量之间的运算,结果是一个新的向量,垂直于输入的两个向量。
a × b = ∥ a ∥ ∥ b ∥ sin θ n \mathbf{a} \times \mathbf{b} = \|\mathbf{a}\| \|\mathbf{b}\| \sin\theta \, \mathbf{n} a×b=∥a∥∥b∥sinθn
其中:
- ∥ a ∥ \|\mathbf{a}\| ∥a∥ 和 ∥ b ∥ \|\mathbf{b}\| ∥b∥ 是向量的模长。
- θ \theta θ 是两个向量之间的夹角。
- n \mathbf{n} n 是垂直于 a \mathbf{a} a 和 b \mathbf{b} b 的单位向量。
矩阵形式:
叉乘可以用反对称矩阵表示:
a × b = [ a ] × b , [ a ] × = [ 0 − a 3 a 2 a 3 0 − a 1 − a 2 a 1 0 ] \mathbf{a} \times \mathbf{b} = [\mathbf{a}]_\times \mathbf{b}, \quad [\mathbf{a}]_\times = \begin{bmatrix} 0 & -a_3 & a_2 \\ a_3 & 0 & -a_1 \\ -a_2 & a_1 & 0 \end{bmatrix} a×b=[a]×b,[a]×= 0a3−a2−a30a1a2−a10
- [ a ] × [\mathbf{a}]_\times [a]×被称为叉乘矩阵(反对称矩阵)。
结果维度:
结果是一个向量。
几何意义:
- 结果向量的模长等于输入向量构成的平行四边形的面积。
- 结果向量的方向垂直于 a \mathbf{a} a 和 b \mathbf{b} b 的平面。
应用:
- 计算两个向量张成的平行四边形面积。
- 用于物理学中的力矩、角速度等计算。
- 计算法向量。
区别总结
运算 | 公式 | 结果 | 维度 | 几何意义 | 常见应用 |
---|---|---|---|---|---|
点乘 | a ⋅ b \mathbf{a} \cdot \mathbf{b} a⋅b | 标量 | 单个数值 | 向量方向投影、角度关系 | 计算夹角、投影、相似性计算、能量计算 |
外积 | a ⊗ b \mathbf{a} \otimes \mathbf{b} a⊗b | 矩阵 | m × n m \times n m×n | 无直接几何意义,张量扩展 | 构造矩阵、张量表示、特征矩阵、协方差矩阵 |
叉乘 | a × b \mathbf{a} \times \mathbf{b} a×b | 向量 | 向量 | 平行四边形面积、方向垂直 | 面积计算、法向量、物理力学计算 |
这三种运算形式各有用途,具体选择取决于问题的数学背景和需求。