问题标签 [n-dimensional]
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.
python - N维数组变成单个数组?
我有一个列表数组,我想将其转换为一维数组。我可以用 2 个“for”循环来做到这一点,但一个禁令是我必须这样做,因为它是 N 维数组。
python - 将 6 值 1 维 numpy.ndarray 变成 6 维
我有一个 numpy ndarray,在 1 暗淡中有 6 个值。这 6 个值代表 6 个维度中的一个点。如何将其转换为 numpy 以获得 6d 数组?
背景故事:我的神经网络需要这个 6d 布局。训练使用 6d 数据进行。为了做出预测,我未能重塑数据。
multidimensional-array - 在 octave 上矢量化多维数组填充
这是我的实际代码:
在这个例子中,所有向量的长度都是 10,但在实际代码中,它们可以是 1 到 100。如何删除所有这些循环?
numpy - 在 Numpy 数组上使用 Pycuda 的 GPU 数组乘法
我试图通过制作类似的 GPU 数组并执行操作来实现两个 numpy 数组的元素乘法。但是,生成的执行时间比原始的 numpy pointwise multiplication 慢得多。我希望使用 GPU 获得良好的加速。zz0 是 complex128 类型,(64,256,16) 形状 numpy 数组,xx0 是 float64 类型,(16,151) 形状 numpy 数组。有人可以帮我弄清楚我在实施方面做错了什么:
python - numpy数组中的几个元素
我有具有不同值的一维 numpy 数组(arr0)。我想创建一个新的元素数组,其中每个元素是一个元素与其最接近的元素的一对(索引和/或值),考虑到这对的差异(距离)的绝对值低于一组临界点。
在每一步(耦合)我想删除已经耦合的元素。
c++ - 在n维中查找矩形的坐标
C ++中计算n维矩形(超矩形)坐标的最佳方法是什么?
我在一维向量中有矩形的尺寸定义,例如:
例如,在二维维度中,向量是
我正在寻找的角落坐标是
我们如何为 n 维的超矩形做到这一点?
math - 如何在更高维度的超球面上均匀分布点?
我有兴趣在 3 维或更高维的球体表面上均匀分布 N 个点。
更具体:
- 给定点数 N 和维度数 D(其中 D > 1,N > 1)
- 每个点到原点的距离必须为 1
- 任意两点之间的最小距离应尽可能大
- 每个点到它最近的邻居的距离不一定对每个点都相同(实际上它不可能相同,除非点的数量形成柏拉图立体的顶点或如果 N <= D )。
我对以下内容不感兴趣:
- 在超球面上创建均匀随机分布,因为我希望任意两点之间的最小距离尽可能大,而不是随机分布。
- 粒子排斥模拟类型的方法,因为它们很难实现并且需要很长时间才能运行大 N(理想情况下,该方法应该是确定性的并且在 O(n) 中)。
满足这些标准的一种方法称为斐波那契格,但我只能找到 2d 和 3d 中的代码实现。
斐波那契格子(也称为斐波那契螺旋线)背后的方法是生成一条围绕球体表面盘旋的 1d 线,使得该线所覆盖的表面积在每一圈都大致相同。然后,您可以将 N 个点均匀分布在螺旋上,它们将大致均匀分布在球体表面。
在这个答案中,有一个 3 维的 python 实现,它生成以下内容:
我想知道斐波那契螺旋是否可以扩展到高于 3 的维度,并在数学堆栈交换中发布了一个问题。令我惊讶的是,我收到了两个惊人的答案,据我所知(因为我不完全理解所显示的数学)表明确实可以将此方法扩展到 N 维。
不幸的是,我对能够将任一答案转换为(伪)代码的数学了解不够。我是一位经验丰富的计算机程序员,但我的数学背景仅此而已。
我将复制我认为是以下答案之一的最重要部分(不幸的是,SO不支持mathjax,所以我不得不复制为图像)
我遇到的上述困难:
- 如何求解用于 ψn 的反函数?
- 给出的示例是 d = 3。如何为任意 d 生成公式?
了解所涉及数学的任何人都能够在链接斐波那契格子问题的任一答案的伪代码实现方面取得进展吗?我知道完整的实现可能非常困难,所以我很高兴部分实现能够引导我走得足够远,能够自己完成其余部分。
为了更容易,我已经编写了一个函数,该函数采用 N 维的球坐标并将它们转换为笛卡尔坐标,因此实现可以输出任何一个,因为我可以轻松转换。
此外,我看到一个答案对每个附加维度使用下一个素数。我可以很容易地编写一个函数来输出每个连续的素数,所以你可以假设它已经实现了。
如果未能在 N 维中实现斐波那契晶格,我很乐意接受满足上述约束的不同方法。
python - Python n 维数组组合
假设任意数量的任意长度的数组。我想从数组中的值构造所有组合的 n 维数组。或者更好的是,所有组合的列表。
但是,我还想要每个组合中的前一个“对角线”元素,除非这样的元素不存在,在这种情况下,不存在的值被设置为 -inf。
举个例子。以下简单的二维案例:
从中我会得到所有的组合
或以二维数组/矩阵形式
现在我还想要一个新列,其中包含每个元素的先前“对角线”元素(在这种情况下只有 1 个真正的这种情况)。前面的“对角线”元素是指索引 i-1、j-1、k-1、...、n-1 处的元素。在边缘,我们采用所有可能的先前值。
编辑:这里是 2D 案例的代码,对于一般的 n 案例没有多大用处。
所以
和
octave - n维插值
我正在尝试使用函数并探测一个简单的 2D 示例 ,与矩阵网格值相比,interpn
我无法重现插值,即.FUN(xi,yi)
FUN(1,11) != 4
python-3.x - Python:如何连续反映两条n维线中的许多n维点
Python:如何在两行一个接一个地反映几个(如果不是很多)n维点,每个点由两个n维坐标定义。
给定几个 n 维点,
以及两条反射线中的每条线的两个 n 维点,
在第一行和第二行中反射未定义线的点,在本例中为 P1 和 P2,并返回每个双反射点的坐标。
我对这种数学还很陌生,并且无法得到任何可以实现这一目标的工作。考虑到每个轴的旋转角度,我开始尝试实现 n 维旋转,但很快意识到这对于我的项目范围来说太难了。我切换到通过迭代每个点并找到它与反射线的交点来尝试 nd 反射,这样我就可以将交点和给定点之间的假想线延伸到线的另一侧以创建新的反射点. 我认为这不是解决问题的最有效方法,并且在网上找不到太多关于找到交叉点坐标而不是距离的信息,这就是我问这个的原因 - 看看是否有人可以帮助提供一个多合一的解决方案。
我正在使用 Python 3.7 并且可以使用任何包,尽管流行的包更可取——尽管效率是最重要的。
任何提示表示赞赏,谢谢!