对于两个n维实向量 a = [ a 1 , a 2 , . . . , a n ] \mathbf{a} = [a_1, a_2, ..., a_n] a=[a1,a2,...,an] 和 b = [ b 1 , b 2 , . . . , b n ] \mathbf{b} = [b_1, b_2, ..., b_n] b=[b1,b2,...,bn],它们的点乘(也称为内积)界说为:
a ⋅ b = ∑ i = 1 n a i b i \mathbf{a} \cdot \mathbf{b} = \sum_{i=1}^{n} a_i b_i a⋅b=i=1∑naibi
几何意义:
点乘可以用于盘算两个向量之间的夹角,以及投影的长度。具体来说,点乘即是两个向量的长度与它们夹角的余弦的乘积:
a ⋅ b = ∥ a ∥ ∥ b ∥ cos θ \mathbf{a} \cdot \mathbf{b} = \|\mathbf{a}\| \|\mathbf{b}\| \cos\theta a⋅b=∥a∥∥b∥cosθ
此中 θ \theta θ 是向量 a \mathbf{a} a 和 b \mathbf{b} b 之间的夹角。
性质:
交换律: a ⋅ b = b ⋅ a \mathbf{a} \cdot \mathbf{b} = \mathbf{b} \cdot \mathbf{a} a⋅b=b⋅a
线性性:对任意标量 k k k, a ⋅ ( k b ) = k ( a ⋅ b ) \mathbf{a} \cdot (k\mathbf{b}) = k(\mathbf{a} \cdot \mathbf{b}) a⋅(kb)=k(a⋅b)
分配律: a ⋅ ( b + c ) = a ⋅ b + a ⋅ c \mathbf{a} \cdot (\mathbf{b} + \mathbf{c}) = \mathbf{a} \cdot \mathbf{b} + \mathbf{a} \cdot \mathbf{c} a⋅(b+c)=a⋅b+a⋅c
与矩阵运算的关系:
点乘可以视为矩阵乘法的特殊情况。将向量视为列向量或行向量,有:
行向量与列向量相乘:
a ⋅ b = [ a 1 a 2 ⋯ a n ] [ b 1 b 2 ⋮ b n ] \mathbf{a} \cdot \mathbf{b} = \begin{bmatrix} a_1 & a_2 & \cdots & a_n \end{bmatrix} \begin{bmatrix} b_1 \\ b_2 \\ \vdots \\ b_n \end{bmatrix} a⋅b=[a1a2⋯an] b1b2⋮bn
矩阵情势:
a T b = a ⋅ b \mathbf{a}^\mathrm{T} \mathbf{b} = \mathbf{a} \cdot \mathbf{b} aTb=a⋅b
此中 a T \mathbf{a}^\mathrm{T} aT 表示向量 a \mathbf{a} a 的转置。
二、向量的叉乘(外积)
界说:
叉乘仅在三维空间中界说,对于 a = [ a 1 , a 2 , a 3 ] \mathbf{a} = [a_1, a_2, a_3] a=[a1,a2,a3] 和 b = [ b 1 , b 2 , b 3 ] \mathbf{b} = [b_1, b_2, b_3] b=[b1,b2,b3],它们的叉乘是一个新的向量:
a × b = [ a 2 b 3 − a 3 b 2 a 3 b 1 − a 1 b 3 a 1 b 2 − a 2 b 1 ] \mathbf{a} \times \mathbf{b} = \begin{bmatrix} a_2 b_3 - a_3 b_2 \\ a_3 b_1 - a_1 b_3 \\ a_1 b_2 - a_2 b_1 \end{bmatrix} a×b= a2b3−a3b2a3b1−a1b3a1b2−a2b1
几何意义:
叉乘结果向量垂直于原来的两个向量,且其方向由右手定则确定。叉乘的长度即是两个向量所张成的平行四边形的面积:
∥ a × b ∥ = ∥ a ∥ ∥ b ∥ sin θ \|\mathbf{a} \times \mathbf{b}\| = \|\mathbf{a}\| \|\mathbf{b}\| \sin\theta ∥a×b∥=∥a∥∥b∥sinθ
性质:
反交换律: a × b = − ( b × a ) \mathbf{a} \times \mathbf{b} = -(\mathbf{b} \times \mathbf{a}) a×b=−(b×a)
分配律: a × ( b + c ) = a × b + a × c \mathbf{a} \times (\mathbf{b} + \mathbf{c}) = \mathbf{a} \times \mathbf{b} + \mathbf{a} \times \mathbf{c} a×(b+c)=a×b+a×c
与标量的关系:对于标量 k k k, k ( a × b ) = ( k a ) × b = a × ( k b ) k(\mathbf{a} \times \mathbf{b}) = (k\mathbf{a}) \times \mathbf{b} = \mathbf{a} \times (k\mathbf{b}) k(a×b)=(ka)×b=a×(kb)
与矩阵运算的关系:
叉乘可以用反对称矩阵表示:
利用反对称矩阵:
对于向量 a = [ a 1 , a 2 , a 3 ] \mathbf{a} = [a_1, a_2, a_3] a=[a1,a2,a3],界说对应的反对称矩阵 [ a ] × [\mathbf{a}]_\times [a]×:
[ a ] × = [ 0 − a 3 a 2 a 3 0 − a 1 − a 2 a 1 0 ] [\mathbf{a}]_\times = \begin{bmatrix} 0 & -a_3 & a_2 \\ a_3 & 0 & -a_1 \\ -a_2 & a_1 & 0 \end{bmatrix} [a]×= 0a3−a2−a30a1a2−a10
则有:
a × b = [ a ] × b \mathbf{a} \times \mathbf{b} = [\mathbf{a}]_\times \mathbf{b} a×b=[a]×b
矩阵情势的叉乘:
叉乘可以表示为矩阵乘法,这在刚体动力学和旋转变换中非常有用。
三、综合运用
1. 点乘与矩阵的关系
在机器学习和数据分析中,常常需要盘算大量的点乘运算,可以利用矩阵乘法的高效算法。例如,给定矩阵 A ∈ R m × n \mathbf{A} \in \mathbb{R}^{m \times n} A∈Rm×n 和向量 x ∈ R n \mathbf{x} \in \mathbb{R}^n x∈Rn,则矩阵与向量的乘积 A x \mathbf{A}\mathbf{x} Ax 的第 i i i 个元素就是 A \mathbf{A} A 的第 i i i 行与向量 x \mathbf{x} x 的点乘:
( A x ) i = A i , : ⋅ x (\mathbf{A}\mathbf{x})_i = \mathbf{A}_{i,:} \cdot \mathbf{x} (Ax)i=Ai,:⋅x
2. 叉乘与矩阵的关系
点乘和叉乘可以结合起来界说三重积(混淆积):
a ⋅ ( b × c ) = det [ a 1 a 2 a 3 b 1 b 2 b 3 c 1 c 2 c 3 ] \mathbf{a} \cdot (\mathbf{b} \times \mathbf{c}) = \det \begin{bmatrix} a_1 & a_2 & a_3 \\ b_1 & b_2 & b_3 \\ c_1 & c_2 & c_3 \end{bmatrix} a⋅(b×c)=det a1b1c1a2b2c2a3b3c3
它的几何意义是由三个向量构成的平行六面体的体积。
四、结论