问题标签 [vectorization]

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 投票
2 回答
1393 浏览

optimization - 同时分配给矩阵的多个子矩阵。可能通过矢量化索引进行优化

有没有一种聪明的方法来矢量化一个将元素分配给矩阵子矩阵的 for 循环?
最初,我有两个 for 循环:

然后我对内部循环进行矢量化,这样代码现在读取

这将我的 CPU 时间减少了 90% 以上,所以我想知道是否可以对外部循环执行相同的操作,但这似乎有点棘手,因为我在 U 矩阵中分配了 (6x1) 矩阵。我试过

但这失败了,因为 i:i+5 只取出我想要的前 6 个索引。

我也尝试使用 reshape() 函数将矩阵转换为向量,但一次分配给多个元素块似乎仍然很困难。代码中总共有三个这样的 for 循环,所以我想另一种优化是以某种方式并行化它们。但是,如果无法访问并行工具箱,在我看来,如果可能的话,矢量化是一个很好的解决方案。

该代码是数值有限差分法中子程序的一部分,用于求解网格上的 6 个方程组,因此这个问题可能与任何在方程组(尤其是PDE )上进行矩阵计算的人相关。对优化代码的建议将不胜感激!

0 投票
2 回答
61697 浏览

math - 两点的方向

一些高中数学概念已经忘记了,所以我在这里问。

如果我有两个点p1(x1,y1)p2(x2,y2),方向是P1-->p2,那就是p1指向p2。用向量来表示这个方向,是Vector(x2-x1,y2-y1)还是Vector(x1-x2, y1-y2)

顺便说一句,标准化向量的目的是什么?

0 投票
1 回答
854 浏览

matlab - FFT 和改变频率并矢量化 FOR 循环

FFT和改变频率和矢量化循环

问候所有

我可以在下面的代码中使用 fft 和傅立叶级数展开 FOR 循环的组合来增加和减少信号的频率,但是如果信号/数组太大,它会变得非常慢(1x44100 的数组大约需要 2 分钟才能完成) 我确定它与 for 循环有关,但我不确定如何对其进行矢量化以提高性能。请注意,这将用于 3 到 6 分钟长的音频信号。1x44100阵列仅需一秒,大约需要2分钟完成

任何建议

如果有人想查看输出,这是该图的图片,这是正确的 FOR 循环真的很慢

在此处输入图像描述

0 投票
4 回答
442 浏览

c++ - 使用联合将相同的内存分配给类成员变量

我正在尝试矢量化现有的 Vector 类

尝试向量化类成员而不影响访问这些成员变量的其他类

但是由于没有找到成员名称 X,Y,Z 存在编译器错误。是否有另一种获取变量的方法?

作为参考,该vector float类型来自IBM™ Cell Broadband Engine™ Software Development Kit V3.0 for Multicore Acceleration

0 投票
5 回答
2160 浏览

r - 在 R 中并行化矢量化函数的最简单方法是什么?

我有一个非常大的列表X和一个矢量化函数f。我想计算f(X),但如果我用单核来计算,这将需要很长时间。我有(访问)一个 48 核服务器。并行计算的最简单方法是f(X)什么?以下不是正确答案:

上面的代码确实会并行化 的计算f(X),但它会通过f分别应用于 的每个元素来实现X。这忽略了向量化的性质,f因此可能会使事情变慢,而不是更快。我不想将f元素应用于X,而是想分成X大小合理的块并应用于f这些块。

那么,我是否应该手动拆分X为 48 个大小相等的子列表,然后并行应用f到每个子列表,然后手动将结果放在一起?或者是否有为此设计的软件包?

如果有人想知道,我的具体用例在这里

0 投票
4 回答
689564 浏览

r - 是否有用于查找向量中元素索引的 R 函数?

在 R 中,我有一个元素x和一个向量v。我想找到v等于的元素的第一个索引x。我知道这样做的一种方法是:which(x == v)[[1]],但这似乎效率太低了。有没有更直接的方法呢?

x对于奖励积分,如果是向量,是否有有效的函数?也就是说,它应该返回一个索引向量,指示 in 的每个元素的x位置v

0 投票
4 回答
16816 浏览

r - 是否有矢量化并行 max() 和 min()?

我有一个data.frame列“a”和“b”。我想添加名为“高”和“低”的列,其中包含列 a 和 b 中的最高和最低。

有没有办法在不循环数据帧中的行的情况下做到这一点?

编辑:这是针对 OHLC 数据的,因此高低列应包含同一行上 a 和 b 之间的最高和最低元素,而不是在整个列中。对不起,如果这措辞不好。

0 投票
1 回答
805 浏览

matlab - 加速“for”循环或向量化它们

我已经写了一些代码,但是我的程序太慢了。问题如下:

我将构建矩阵“A”来解决 Ax=b 问题

我有一个球体(它可以是任何形状),从某个点可以看出,

我为每个点分配了一个坐标向量 [xyz]。

N 是点数。

请先加载(一)

我不知道我可以清楚地解释吗?

你有什么建议吗?在此先感谢您的任何建议。

geometrySphere 矩阵 A 其中 I 是 3x3 单位矩阵,nij nij 表示二元乘积。 n_ij n_ij

(a) 运行一个函数后是:一个1x200的数组

0 投票
1 回答
811 浏览

python - Python - 如何以矢量形式编写它

0 投票
3 回答
122 浏览

matlab - 如何计算两个向量都具有给定值的位置数?

AB是 2 个向量,其中length(A) = length(B)A和的所有元素B都是01。如何在 1 行中计算两个向量都有值的位置数1