问题标签 [finite-group-theory]

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 回答
57 浏览

prolog - 证明 H 相交 K 是 Prolog 中的子群(H 和 K 是子群)

我正在开发一个群论证明器。现在,我有兴趣证明如果 H 和 K 是子群,那么 H 与 K 相交是子群。我的证明基于构建一个关系(==H),使得

h (==H) g 当且仅当 hg^{-1} 属于 H。证明这是一个等价关系(自反、对称、传递)等价于证明 H 是一个子群。

我已经完成了以下代码,当我尝试证明 H intersect K 是一个子组时,我失败了。我是 Prolog 的新手,所以也许我遇到了一些基本错误。在数学证明中不需要说等价关系的显式形式,因此我省略了它。

在程序中,我将 hg 和 kg 表示为 H 和 K。H 相交 K 是 hkg。

目前,它没有通过反身性测试(第一次测试)。你能告诉我这个程序有什么问题吗?如果您需要更多说明,请随时询问。

0 投票
1 回答
86 浏览

mesh - 在 CGAL 中,可以将超过三个维度的三角剖分转换为多面体吗?

如果这个问题在相关网站上更合适,请告诉我,我很乐意移动它。


我在 ℤ<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 中遗漏了一些明显的东西吗?您对计算多面体的面部信息或找到我的点集的完整自同构群的替代方法有什么建议吗?

0 投票
1 回答
61 浏览

algorithm - 生成所有长度为 N(N 为素数)的单词,不包括同构单词

我想有效地生成所有长度为N的单词(N 是素数),不包括同构单词。

如果具有N个元素的有限循环群存在将单词 A 转换为单词 B 的自同构,则单词A单词B

V - 是K个元素的字母表。

例如V = {a,b}

N为 7

那么,例如单词 A = {a,a,a,b,b,a,a} 与单词 B = {a,b,a,a,a,a,b} 和单词 C= { a,a,b,a,a,b,a} 因为有限循环群 S= {0, 1, 2, 3, 4, 5, 6} 具有自同构 {0, 4, 1, 5, 2, 6, 3} 和 {0, 5, 3, 1, 6, 4, 2}

最简单的算法是

  • 找到所有可能的词
  • 找到具有 N 个元素(N 素数)的有限循环群的所有自同构
  • 排除同构词

不幸的是,这种方式在算法上效率不高。

0 投票
0 回答
31 浏览

python - 如何在 sympy 中定义非平凡张量对称性?(看不懂文档)

我正在尝试为具有三个索引 i、mu、nu 的张量 A^i_\mu\nu ( A(i, -mu, -nu)) 定义一个 sympy tensor.tensor.TensorSymmetry。索引 mu 和 nu 位于同一个包中,i 位于不同的包中。张量关于 (mu, nu) 是斜对称的,但关于 (mu, i) 或 (nu, i) 没有对称性。

我很难理解如何定义这种张量对称。sympy.combinatorics.tensor_can 的文档非常不透明,我无法理解那里发生了什么,另外,我不熟悉 BSGS 形式,也很难找到一个好的解释。是否有指南或其他东西,或者有人可以举个例子?