点积计算器

点积
下一个

点积将两个向量简化为一个标量,该标量表示它们指向同一方向的程度。它被广泛应用于搜索排名中的余弦相似度计算、物理学中的投影运算以及计算机图形学中的所有光照计算。该工具可对维度匹配(二维、三维或N维)的两个向量计算点积,并显示二者夹角的余弦值。

如何计算点积

  1. 1

    输入两个向量

    将各分量以逗号或空格分隔输入:一个向量输入`3, 4, 5`,另一个输入`1, 2, 1`。

  2. 2

    匹配维度

    两个向量的长度必须相同。若维度不一致,该工具会在计算前予以提示。

  3. 3

    查看结果

    标量点积会连同两向量夹角的余弦值(cos θ)以及以度为单位的角度一并展示。

两个公式

向量 a = (a1, a2, ..., an)b = (b1, b2, ..., bn) 的分量形式:

a . b = a1*b1 + a2*b2 + ... + an*bn

几何形式:

a . b = |a| * |b| * cos(theta)

这两个表达式相等;令二者相等即可得到cos(theta) = (a.b) / (|a| |b|),即余弦相似度公式。

符号所代表的含义

点积 含义
正值 两个向量指向大致相同的方向(角度 < 90°)
0 两个向量相互正交(垂直)
负值 两个向量指向大致相反的方向(角度 > 90°)

计算示例

a = (3, 4), b = (1, 2):

  • 各分量之积:3×1 + 4×2 = 3 + 8 = 11
  • |a| = √(9 + 16) = 5
  • |b| = √(1 + 4) = √5 ≈ 2.236
  • cos(θ) = 11 / (5 × 2.236) = 0.9839
  • θ = arccos(0.9839) ≈ 10.3度

两个向量几乎指向相同方向,因此点积为较大的正值。

常见应用

  • 余弦相似度(推荐系统):两个嵌入向量有多相似?
  • 投影:将一个向量投影到另一个向量上:proj_b(a) = (a . b) / |b|^2 * b
  • 物理学中的功W = F . d,即力与位移的点积。
  • 图形光照:表面法线与光照方向的点积可得到漫反射亮度(朗伯定律)。
  • 正交性检验:快速验证两个基向量是否相互垂直。

小贴士

  • 比较前需标准化处理。 若仅关注方向(相似性),请先将每个向量除以其模长;此时点积即直接等于余弦值。
  • 注意维度关系。 若一个3维向量与一个4维向量相乘,则结果为未定义;应有意进行填充或截断,而非偶然操作。
  • 数值稳定性。 对于非常大的向量,浮点累加运算可能损失精度;当维度超过数千时,应使用双精度或Kahan求和法。

常见问题

点积返回一个标量,用于衡量两个向量的“平行程度”;叉积(仅定义于三维和七维空间)返回一个与这两个向量均垂直的向量,用于衡量它们的“垂直程度”。二者回答的是相反的问题。

是的,对于任意维度N均适用。该分量定义可直接推广;在机器学习中,它被日常用于处理具有数百或数千维向量的数据。

因为几何形式|a| |b| cos(theta)在余弦值为零时其值也为零(出现在90度和270度)。两个非零向量恰好在点积为零时相互正交。

您输入的向量分量会发送到我们的服务器,因为计算在那里进行。这些分量不会被存储,也不会与您的账户关联。

相关工具

此工具还提供其他语言版本