问题标签 [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 回答
1004 浏览

c++ - c ++犰狳:“norm_dot”做什么?

这个函数在做什么?它声明它是点积的规范化版本,我认为这意味着

点 1 != 点 2

0 投票
1 回答
2575 浏览

c++ - inner_product 和复向量

看来我在这里做错了什么。你能帮助我吗?目的是将 inner_product 用于复杂向量。

我不明白为什么会出现转换问题,一切似乎都已定义,迭代应该没有问题。

0 投票
1 回答
886 浏览

java - 在Java中计算点积距离

我需要做的是,计算两个客户评分之间的点积距离。客户的评分记录在哈希图中。

哈希图中的键是客户名称,与之相关的是该客户的评分(他对书籍的评分)

我将如何做到这一点?

RatingsAnalysis这是课堂上给出的其他细节

0 投票
2 回答
4319 浏览

python - 使用 Cython 优化 numpy.dot

我想使用 Cython 优化以下代码:

我已经编写并编译了 .pyx 文件,当我运行代码时,我没有看到任何显着的性能改进。根据 Cython 文档,我必须添加 c_types。Cython 生成的 HTML 文件表明瓶颈是点积(这当然是意料之中的)。这是否意味着我必须为点积定义一个 C 函数?如果是,我该怎么做?

编辑:

经过一番研究,我想出了以下代码。改善只是微不足道的。我不确定是否可以做些什么来改进它:

0 投票
1 回答
275 浏览

matlab - Matlab:优化循环中函数调用和余弦符号查找的速度

有问题的代码在这里:

澄清一下,odefun 是 F1.m,我的一个 m 文件。我将它传递给包含这个 while 循环的函数。有点像whileloop(@F1,args)。上面代码块中的第 4 行是欧拉方法。

我使用while循环的原因是因为我想在向量“y”穿过由点定义的平面“normpt”和垂直于平面的向量“normvec”时触发。

是否对这段代码进行了简单的更改,可以显着加快速度?我是否应该尝试学习如何制作 mex 文件(以提高速度)?

编辑:

这是一个可以尝试测试的示例的匆忙尝试。我没有调试过这个。就是给你一个思路:

dt 应该足够小,以至于需要数十万次迭代才能触发。

假设我必须使用欧拉方法。如果您对我为什么告诉您做出这样的假设感到好奇,我有一个带有状态相关噪声的随机微分方程。

0 投票
3 回答
3158 浏览

c - 使用 SSE4 向量化点积计算

我正在尝试使用 SSE4 点积来改进此代码,但我很难找到解决方案。此函数获取参数 qi 和 tj,其中包含每个 80 个单元格的浮点数组,然后计算点积。返回值是一个具有四个点积的向量。所以我要做的是并行计算二十个值的四个点积。

您知道如何改进此代码吗?

0 投票
2 回答
1418 浏览

c# - 如何在Objective-C中获得-1和1之间的点积

在 C# 中,我有以下代码:

这会返回一个介于 -1 和 1 之间的浮点数。我很好奇如何在 Objective-C 中获得同样的功能。我知道你可以像这样计算两个向量的点积:

我不明白 C# 函数如何使结果介于 -1 和 1 之间,因为正常的点积数学可以产生任何数字。

0 投票
2 回答
4193 浏览

python - 使用整数的 Numpy 点积非常慢

抱歉这么多问题。我在 Intel core 2 Duo 上运行 Mac OSX 10.6。我正在为我的研究运行一些基准测试,但我遇到了另一件让我困惑的事情。

如果我跑

python -mtimeit -s 'import numpy as np; a = np.random.randn(1e3,1e3)' 'np.dot(a,a)'

我得到以下输出:10 loops, best of 3: 142 msec per loop

但是,如果我运行

python -mtimeit -s 'import numpy as np; a = np.random.randint(10,size=1e6).reshape(1e3,1e3)' 'np.dot(a,a)'

我得到以下输出:10 loops, best of 3: 7.57 sec per loop

然后我跑了

python -mtimeit -s 'import numpy as np; a = np.random.randn(1e3,1e3)' 'a*a'接着

python -mtimeit -s 'import numpy as np; a = np.random.randint(10,size=1e6).reshape(1e3,1e3)' 'a*a'

两者都以每个循环约 7.6 毫秒的速度运行,因此它不是乘法。添加也有相似的速度,所以这些都不应该影响点积,对吧?那么为什么使用整数计算点积比使用浮点数慢 50 倍以上呢?

0 投票
2 回答
3929 浏览

cuda - 使用 CUBLAS 例程在 GPGPU 上保留点积

我正在编写代码来使用点积的 CUBLAS 例程计算两个向量的点积,但它返回主机内存中的值。我只想使用点积在 GPGPU 上进行进一步计算。如何使值仅驻留在 GPGPU 上并将其用于进一步计算,而无需从 CPU 到 GPGPU 的显式复制?

0 投票
1 回答
2602 浏览

math - 计算两个不同大小向量的余弦相似度

我有2个问题,

  1. 我通过找出每个单词在文档中出现的次数从文档中创建了一个向量。这是制作矢量的正确方法吗?还是我还必须做其他事情?

  2. 使用上述方法,我创建了 16 个不同大小的文档的向量。现在我想应用余弦相似度来找出每个文档的相似度。我遇到的问题是获得两个向量的点积,因为它们的大小不同。我该怎么做?