问题标签 [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.

0 投票
1 回答
44 浏览

c++ - 使用向量的向量的 N 维矩阵类

我正在尝试实现一个自定义类,该类使用向量的向量处理 n 维矩阵,概括 1d、2d 和 3d 定义:

这是我实现这个类的尝试。

我的意图是,例如,

创建一个双精度的 3 维矩阵。

上面的递归定义显然失败了,因为它没有基本情况,所以N_DIM只是无限期地减少(直到编译器停止)。我怎样才能以不遇到这个问题的方式实现这个类?

0 投票
0 回答
55 浏览

python-3.x - 在 python 中使用 numpy 格式化半结构数据

我已经使用熊猫生成了输出。但是,同样需要使用 numpy 来实现。使用 numpy 的目的是它具有更多的动态性。任何人都可以帮助我在numpy中实施吗?

我已经阅读了excel文件并使用转换为数组df = np.array(df)

  1. 需要从excel中删除nan值
  2. 需要将行格式化为 Project 的列

输入文件:

输入文件

输出文件:

输出文件

需要在 NUMPY 中做

0 投票
1 回答
86 浏览

python - 在 D 维超球面上生成尽可能远的 N 个点

我正在尝试编写代码以在 D 维超球面上尽可能地生成 N 个点。到目前为止,我的方法是取点数并希望它小于 D 或 2*D,通常会这样。然后我在每个索引处创建 N 个向量,除了在索引 n 处,其中 n 介于 1 和 N/2 之间,然后将其乘以 -1 然后附加它,但我认为这只会生成等距的点球体的一部分。这是我的代码

0 投票
0 回答
51 浏览

python - Python中N维向量的正交性

给定一个多维向量,例如 5D 向量:(0.33, 0.48, 0.56, 0.486, 0.33),如何在 Python 中编写代码来计算与该向量的正交向量。

0 投票
0 回答
50 浏览

geometry - 离(可能重叠的)球体最远的点

我正在寻找一种相当有效的算法(以及可能相关的数据结构)以在相当低的维度(d<10;通常 d=2 或 3)中完成以下任务:

给定一组(可能重叠!)球体和一个固定的边界框,我希望能够:

  1. 查询所述边界框中离任何球体 最远的点。
    1. 如果有多个这样的点,任意选择就可以了。
    2. 球体内的一点距离为零(也就是说,这些是球而不是空心球。)
    3. 如果每个点都在至少一个球内,那么在此处或 2.1. 处出错,或返回任意点都可以。
    4. 理想情况下,我正在寻找一个精确的(最多数值误差)解决方案;具有误差界限的收敛近似是可行的。
  2. 将新球体添加到集合中。
    1. 如果每个点现在至少在一个范围内,则在此处或 1.3 处出错。很好。

做一些初始预处理很好。

(请注意,球体可以重叠,并且可以具有不同的半径。)

(固定边界框,固定边界球,或者只是一个隐式凸包。任何一个都是可行的,以最简单的为准。)

乍一看,这与最大空球问题看似相似(您可以使用 Veronoi 图和一些处理来完成上述问题),但是从“要避免的点”到“要避免的球”的变化阻止了它的工作而且我还没有找到一个简单的扩展。

另一种似乎可行的方法是重复运行最大空球体问题,从每个球体中心点要避免的点开始,每次迭代将所有球体上的最近点添加到点集的当前解决方案中避免,但是这很昂贵并且没有明显的错误界限。

同上,我看着这个问题,然后说“这看起来像是你应该能够按摩 BSP 树去做的事情”,但我见过的大多数 BSP 算法倾向于更多地关注最近点,而不是最远点.

0 投票
2 回答
64 浏览

python - 在 Python 中,我可以循环单个值吗?

我有 5 个变量的函数。我想通过绘制一个跨越 2 个变量范围并保持其余 3 个不变的表面来可视化函数的行为方式。

在我的例子中,函数是 Black Scholes,它是 S,T,K,r,s 的函数:BS(S,T,K,r,s)

我想绘制 BS(S,T,Kvec,r,svec) 的结果,其中 K 和 s 被向量输入替换。或 BS(Svec,Tvec,K,r,s) 其中 S 和 T 被替换为向量输入。或 BS(S,Tvec,K,r,svec) 其中 T 和 K 被替换为向量输入。

总之,我想让用户传入 2 个向量和 3 个常量,然后让函数适应。

我怎样才能优雅地做到这一点而不编码所有 5 选择 2 案例?

我尝试将所有输入转换为 Numpy 数组,然后进行迭代,但是具有单个值的 numpy 数组是不可迭代的。

我也试过这个:

python中是否没有办法让退化循环只循环一个常数?

0 投票
1 回答
82 浏览

python - 对 N 维 numpy 数组执行过滤

我有两个 N 维数组,两个数组的维数相同。

  1. a = (n,n,52)
  2. b = (n,n,52)

我正在尝试使用变量 b 中的 (n,n) 数组过滤变量a 中的 (n,n) 数组每一个。我正在尝试使用命令

b[a==0 | a>5] = 1

但我收到以下错误

IndexError: boolean index did not match indexed array along dimension 2; dimension is 52 but corresponding boolean dimension is 1

我需要一些帮助来弄清楚如何使用另一个过滤一个 N 维数组。

0 投票
1 回答
114 浏览

c++ - 遍历n维向量c ++

我想编写自己的代码来迭代一个 n 维向量(其中维度是已知的)。这是代码:

我收到一个错误:

有人可以帮我纠正它或给我一个更好的方法来打印矢量吗?在此先感谢您的时间。

0 投票
1 回答
188 浏览

python - 如何在低范围和高范围之间的 N 维空间或数据集中均匀均匀地生成不重叠的随机点

我试图根据每个 M 的最小值作为低范围和每个 M 的最大值作为高范围在 NxM 数据集上找到随机点。

这是代码:

但问题是大多数随机点位于数据集空间的边界或边缘,而不是均匀分布

这是一个例子的图: 随机点是黑色的

我也尝试过做 PCA,然后通过对范围做 inverse_transform 来应用高低范围,但有点预期,随机点分布不均匀

如何解决这个问题,使随机生成的点分布更均匀,而不是堆积在两条边上,也不重叠?

我需要这样:

红色的是交叉的黑点所需的位置

PS:

  1. 这两个图像都是形状为 (46,2730) 的数据集的 PCA 表示,即 46 行和 2730 维

  2. 我正在考虑使用这个问题的第二个答案:用于在 N 球上生成均匀分布的随机点的算法 但我不确定如何计算 N 维数据集的半径(R),或者即使它有意义所以我可以在上面的链接上使用第二个答案。

请帮忙!

0 投票
0 回答
38 浏览

python - 在 pandas 数据框中找到目标值的最佳参数

我有一些接受参数x1, x2... xn并输出值的代码y。我想找到最大化的参数y。我随机选择了 1000 次参数,计算了目标值并将数据写入 pandas 数据帧。所以我的数据框有 1000 行和n+1列,n用于参数,1 用于目标值。接下来是什么?在微积分中,我会导出我想要最大化的函数并寻找导数零点。问题是我没有函数的解析表达式,只有计算它的代码。显然,这不仅仅是返回具有最大值的参数行,y因为不同的参数组合可能会产生更高的值y