问题标签 [dot-product]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
3055 浏览

c++ - 使用通用算法的 C++ 中的点积

我敢肯定有一个聪明的单线使用 C++ stl 通用算法来实现任何有序容器中元素的点积,例如向量或列表。只是好像不记得了!

花哨的实现将是:

我认为我正在重新发明轮子,并且有更聪明的方法来做到这一点。

0 投票
3 回答
16147 浏览

java - 余弦相似度

我计算了两个文档的 tf/idf 值。以下是 tf/idf 值:

文件如下:

如何使用这些值来计算余弦相似度?

我知道我应该计算点积,然后找到距离并将点积除以它。如何使用我的值计算这个?

还有一个问题:两个文档的字数相同是否重要?

0 投票
2 回答
57866 浏览

python - python中的点积

这个 Python 代码是否真的找到了两个向量的点积?

0 投票
4 回答
3203 浏览

c - 使用 SSE 内在函数将 4 个点积存储到 C 中的连续数组中的最有效方法

我正在使用 SSE 内在函数为 Intel x86 Nehalem 微架构优化一些代码。

我的程序的一部分计算 4 个点积,并将每个结果添加到数组的连续块中的先前值。进一步来说,

请注意,我将使用 4 个临时 xmm 寄存器来保存每个点积的结果。在每个 xmm 寄存器中,相对于其他临时 xmm 寄存器,结果被放入一个唯一的 32 位中,因此最终结果如下所示:

tmp0= R0-零-零-零

tmp1= 零-R1-零-零

tmp2= 零-零-R2-零

tmp3=零-零-零-R3

我将每个 tmp 变量中包含的值合并为一个 xmm 变量,方法是使用以下指令将它们相加:

最后,我将包含点积的所有 4 个结果的寄存器添加到数组的连续部分,以便数组的索引按点积递增,就像这样(C_0n 是数组中当前要更新的 4 个值; C_2 是指向这4个值的地址):

我想知道是否有一种不那么迂回、更有效的方法来获取点积的结果并将它们添加到数组的连续块中。这样,我在其中只有 1 个非零值的寄存器之间进行了 3 次加法。似乎应该有一种更有效的方法来解决这个问题。

我感谢所有帮助。谢谢你。

0 投票
3 回答
2932 浏览

python - 每个元素与数组的每个其他元素的点积

有没有一种简单的方法可以将数组的一个元素的点积彼此相乘?所以给出:

我想得到结果:

即a[0]点a[1],a[0]点a[2],a[1]点a[2]。

我正在使用的数组不是正方形的;这只是一个例子。

谢谢!

0 投票
11 回答
116120 浏览

python - 计算点积的pythonic方法是什么?

我有两个列表,一个名为 A,另一个名为 B。A 中的每个元素都是三元组,B 中的每个元素只是一个数字。我想计算定义为的结果:

结果 = A[0][0] * B[0] + A[1][0] * B[1] + ... + A[n-1][0] * B[n-1]

我知道逻辑很简单,但是如何以 Python 的方式编写呢?

谢谢!

0 投票
4 回答
14712 浏览

python - 加速 numpy.dot

我有一个numpy脚本在以下代码中花费了大约 50% 的运行时间:

s = numpy.dot(v1, v1)

在哪里

v1 = v[1:]

并且是存储在连续内存中v的 4000 元素一维( is )。ndarrayfloat64v.strides(8,)

有什么建议可以加快速度吗?

编辑这是在英特尔硬件上。这是我的输出numpy.show_config()

0 投票
3 回答
13821 浏览

python - numpy:按列点积

给定一个二维numpy数组,我需要计算每一列与其自身的点积,并将结果存储在一维数组中。以下作品:

有没有一种简单的方法可以避免 Python 循环?以上几乎不是世界末日,但如果有一个numpy原语,我想使用它。

编辑在实践中,矩阵有很多行和相对较少的列。因此,我并不太热衷于创建大于O(A.shape[1]). 我也无法A就地修改。

0 投票
3 回答
2595 浏览

c++ - 复杂向量与openMP的点积

我正在使用一个不支持 reduce() 复杂参数的 openMP 版本。我需要一个快速的点积函数,比如

显然,这段代码并没有加快问题的速度,而是减慢了速度。您是否有一个快速的解决方案,而不使用 reduce() 来处理复杂的参数?

0 投票
1 回答
1419 浏览

opengl - 矩阵组件和点积

我有以下 GLSL 代码:

例程RGBtoXYZ具有三个代码块(最后两个已注释)。第一个按预期工作,而其他评论的则不起作用。

问题是我认为它们是等价的。为什么他们不是?