【向量相乘的算法】在数学和计算机科学中,向量相乘是常见的运算之一,主要用于物理、工程、机器学习等领域。向量相乘主要有两种形式:点积(内积)和叉积(外积)。它们在计算方式、应用场景以及结果性质上都有显著的不同。
一、点积(内积)
点积是两个向量之间的一种乘法运算,其结果是一个标量(单一数值)。点积常用于计算两个向量之间的夹角、投影长度等。
计算公式:
设向量 a = (a₁, a₂, ..., aₙ) 和 b = (b₁, b₂, ..., bₙ),则它们的点积为:
$$
\mathbf{a} \cdot \mathbf{b} = a_1b_1 + a_2b_2 + \dots + a_nb_n
$$
特点:
- 结果是一个标量;
- 满足交换律:$\mathbf{a} \cdot \mathbf{b} = \mathbf{b} \cdot \mathbf{a}$;
- 与向量方向有关,当两向量垂直时,点积为0。
二、叉积(外积)
叉积是两个三维向量之间的乘法运算,其结果是一个新的向量,该向量垂直于原来的两个向量所在的平面。
计算公式:
设向量 a = (a₁, a₂, a₃) 和 b = (b₁, b₂, b₃),则它们的叉积为:
$$
\mathbf{a} \times \mathbf{b} =
\begin{pmatrix}
a_2b_3 - a_3b_2 \\
a_3b_1 - a_1b_3 \\
a_1b_2 - a_2b_1
\end{pmatrix}
$$
特点:
- 结果是一个向量;
- 不满足交换律,$\mathbf{a} \times \mathbf{b} = -(\mathbf{b} \times \mathbf{a})$;
- 仅适用于三维空间;
- 叉积的模长等于两个向量构成的平行四边形的面积。
三、对比总结
类型 | 名称 | 运算对象 | 结果类型 | 是否可交换 | 应用场景 |
点积 | 内积 | 任意维向量 | 标量 | 是 | 角度计算、投影、相似度 |
叉积 | 外积 | 三维向量 | 向量 | 否 | 垂直方向计算、旋转轴、面积计算 |
四、实际应用举例
- 点积:在机器学习中,用于计算两个特征向量的相似性;在物理学中,用于计算力做功。
- 叉积:在3D图形学中,用于计算法线方向;在力学中,用于计算扭矩的方向和大小。
通过理解点积与叉积的区别与联系,可以更高效地处理向量相关的计算问题,并在不同领域中灵活应用这些算法。