如果这个问题在相关网站上更合适,请告诉我,我很乐意移动它。
我在 ℤ<sup>11 中有 165 个顶点,所有这些顶点与原点的距离为 √8,并且是它们对应的凸包上的极值点。 CGAL能够在我的笔记本电脑上使用不到 1 GB 的 RAM 在 133 分钟内计算出他们的d维三角剖分。
Magma非常快地管理了一个类似的 66 顶点情况,而且,对于我的应用程序而言,至关重要的是,它返回一个实际的多面体而不是三角剖分。因此,我可以将每个d维面视为可以由任意数量的顶点限定的单个对象。
此外,虽然对我的应用程序来说不太重要,但我也可以Graph : TorPol -> GrphUnd
用来计算有关这些面如何连接的所有拓扑信息,然后AutomorphismGroup : Grph -> GrpPerm, ...
找到该单元结构的相应自同构群。
不幸的是,当应用于原始多面体时,MagmaAutomorphismGroup : TorPol -> GrpMat
只返回GL d (ℤ)的子群,而不是完全自同构群G,这是我真正希望计算的。作为一个矩阵群,G ∉ GL 11 (ℤ),而是 ∈ GL 11 (),其中表示代数数。一般来说,我不需要有理数的完整代数闭包 ℚ̅,而只需要一些域扩展。但是,我可以使用G的任何非平凡强大的表示。
通过两天的计算,Magma 可以管理 165 个顶点的情况,但只能提供有关多面体原始 165 个顶点、10 个面和体积的信息。但是,尝试枚举d面,对于任何 2 ≤ d < 10,会很快消耗我可以使用的 256 GB RAM。
另一方面,CGAL 的三角剖分只计算d -simplices的集合,所有这些集合都有d + 1 个顶点。从这样的三角测量中得出相同的面部信息似乎是可能的,但我还没有想到一种简单的方法来编码。
我在 CGAL 中遗漏了一些明显的东西吗?您对计算多面体的面部信息或找到我的点集的完整自同构群的替代方法有什么建议吗?