问题标签 [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.
c++ - 使用向量的向量的 N 维矩阵类
我正在尝试实现一个自定义类,该类使用向量的向量处理 n 维矩阵,概括 1d、2d 和 3d 定义:
这是我实现这个类的尝试。
我的意图是,例如,
创建一个双精度的 3 维矩阵。
上面的递归定义显然失败了,因为它没有基本情况,所以N_DIM
只是无限期地减少(直到编译器停止)。我怎样才能以不遇到这个问题的方式实现这个类?
python - 在 D 维超球面上生成尽可能远的 N 个点
我正在尝试编写代码以在 D 维超球面上尽可能地生成 N 个点。到目前为止,我的方法是取点数并希望它小于 D 或 2*D,通常会这样。然后我在每个索引处创建 N 个向量,除了在索引 n 处,其中 n 介于 1 和 N/2 之间,然后将其乘以 -1 然后附加它,但我认为这只会生成等距的点球体的一部分。这是我的代码
python - Python中N维向量的正交性
给定一个多维向量,例如 5D 向量:(0.33, 0.48, 0.56, 0.486, 0.33),如何在 Python 中编写代码来计算与该向量的正交向量。
geometry - 离(可能重叠的)球体最远的点
我正在寻找一种相当有效的算法(以及可能相关的数据结构)以在相当低的维度(d<10;通常 d=2 或 3)中完成以下任务:
给定一组(可能重叠!)球体和一个固定的边界框,我希望能够:
- 查询所述边界框中离任何球体
最远的点。
- 如果有多个这样的点,任意选择就可以了。
- 球体内的一点距离为零(也就是说,这些是球而不是空心球。)
- 如果每个点都在至少一个球内,那么在此处或 2.1. 处出错,或返回任意点都可以。
- 理想情况下,我正在寻找一个精确的(最多数值误差)解决方案;具有误差界限的收敛近似是可行的。
- 将新球体添加到集合中。
- 如果每个点现在至少在一个范围内,则在此处或 1.3 处出错。很好。
做一些初始预处理很好。
(请注意,球体可以重叠,并且可以具有不同的半径。)
(固定边界框,固定边界球,或者只是一个隐式凸包。任何一个都是可行的,以最简单的为准。)
乍一看,这与最大空球问题看似相似(您可以使用 Veronoi 图和一些处理来完成上述问题),但是从“要避免的点”到“要避免的球”的变化阻止了它的工作而且我还没有找到一个简单的扩展。
另一种似乎可行的方法是重复运行最大空球体问题,从每个球体中心点要避免的点开始,每次迭代将所有球体上的最近点添加到点集的当前解决方案中避免,但是这很昂贵并且没有明显的错误界限。
同上,我看着这个问题,然后说“这看起来像是你应该能够按摩 BSP 树去做的事情”,但我见过的大多数 BSP 算法倾向于更多地关注最近点,而不是最远点.
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中是否没有办法让退化循环只循环一个常数?
python - 对 N 维 numpy 数组执行过滤
我有两个 N 维数组,两个数组的维数相同。
- a = (n,n,52)
- 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 维数组。
c++ - 遍历n维向量c ++
我想编写自己的代码来迭代一个 n 维向量(其中维度是已知的)。这是代码:
我收到一个错误:
有人可以帮我纠正它或给我一个更好的方法来打印矢量吗?在此先感谢您的时间。
python - 如何在低范围和高范围之间的 N 维空间或数据集中均匀均匀地生成不重叠的随机点
我试图根据每个 M 的最小值作为低范围和每个 M 的最大值作为高范围在 NxM 数据集上找到随机点。
这是代码:
但问题是大多数随机点位于数据集空间的边界或边缘,而不是均匀分布
这是一个例子的图: 随机点是黑色的
我也尝试过做 PCA,然后通过对范围做 inverse_transform 来应用高低范围,但有点预期,随机点分布不均匀
如何解决这个问题,使随机生成的点分布更均匀,而不是堆积在两条边上,也不重叠?
我需要这样:
PS:
这两个图像都是形状为 (46,2730) 的数据集的 PCA 表示,即 46 行和 2730 维
我正在考虑使用这个问题的第二个答案:用于在 N 球上生成均匀分布的随机点的算法 但我不确定如何计算 N 维数据集的半径(R),或者即使它有意义所以我可以在上面的链接上使用第二个答案。
请帮忙!
python - 在 pandas 数据框中找到目标值的最佳参数
我有一些接受参数x1, x2... xn
并输出值的代码y
。我想找到最大化的参数y
。我随机选择了 1000 次参数,计算了目标值并将数据写入 pandas 数据帧。所以我的数据框有 1000 行和n+1
列,n
用于参数,1 用于目标值。接下来是什么?在微积分中,我会导出我想要最大化的函数并寻找导数零点。问题是我没有函数的解析表达式,只有计算它的代码。显然,这不仅仅是返回具有最大值的参数行,y
因为不同的参数组合可能会产生更高的值y
。