标签: hypercube

C++如何生成n维元组的笛卡尔积的集合

我希望生成一些数据来表示代表n维n维立方体的点云的坐标.这些点应该均匀地分布在整个n空间中,并且应该能够在它们之间以用户定义的间隔生成.该数据将存储在一个数组中.

c++ tuples cartesian-product n-dimensional hypercube

5
推荐指数
1
解决办法
3197
查看次数

Python - n维立方体的角坐标

我试图从每个维度的分钟和最大值列表中获取n维立方体的坐标.我能够使用for循环获得角落,但我想推广任意数量的维度.

例如:

mins = [-1,-2,-3]
maxes = [1,2,3]
Run Code Online (Sandbox Code Playgroud)

会给出坐标:

(-1, -2, -3), (-1, -2, 3), (-1, 2, -3), (-1, 2, 3),
(1, 2, 3), (1, 2, -3), (1, -2, 3), (1, -2, -3)
Run Code Online (Sandbox Code Playgroud)

这基本上是通过两个列表找到所有路径,从每个索引的一个列表中选择一个值.我已经看到算法给出路径数或最快路径,但我没有找到一个枚举所有可能路径的算法.

我假设itertools会进入解决方案,但无法弄清楚如何使用产品,排列和组合来提供所需的结果.最接近的是:

list(itertools.product((xmin, xmax), (ymin, ymax), (zmin, zmax)))
Run Code Online (Sandbox Code Playgroud)

python python-itertools hypercube

3
推荐指数
1
解决办法
1209
查看次数

如何使用MPI_CART将进程映射到超立方体

我正在尝试使用MPI为2 ^ n处理器实现bitonic排序.

为了方便起见,我想使用n维超立方体来做到这一点.使用MPI_Cart_Create我可以创建自组织维度.这样做可以最大限度地提高我的工艺效率,并减少我必须吐出的LOC数量才能完成.

谷歌搜索和文学总是说同样的事情:

注意,n维超立方体是n维环面,每个坐标方向有2个处理.因此,不需要对超立方体结构的特殊支持.

我还没有看到任何单个例子+ n维三环,每个坐标方向有2个进程对我来说似乎不过是个谜.有人要建议吗?

谢谢,

sorting mpi cartesian hypercube

2
推荐指数
1
解决办法
2715
查看次数