伽罗瓦群¶
构造对称群的传递子群,这在伽罗瓦理论中很有用。
除了构造 PermutationGroup
类的实例来表示小 \(n\) 的 \(S_n\) 的传递子群外,此模块还为这些群提供了 名称。
在某些应用中,可能更倾向于知道一个群的名称,而不是接收一个 PermutationGroup
类的实例,然后还需要通过检查各种属性来确定它是哪个群,这需要额外的工作。
名称是本模块中定义的 Enum
类的实例。有了名称后,可以使用名称的 get_perm_group
方法来检索一个 PermutationGroup
。
本模块中用于组的名称取自 [1]。
引用
Cohen, H. 计算代数数论课程.
- sympy.combinatorics.galois.M20()[源代码][源代码]¶
返回元循环群 M20 的表示,这是 S5 的一个传递子群,也是多项式度数为 5 的可能伽罗瓦群之一。
注释
参见 [1],第 323 页。
- sympy.combinatorics.galois.A4_in_S6()[源代码][源代码]¶
返回 A4 作为 S6 的传递子群的表示。
注释
这是使用
find_transitive_subgroups_of_S6()
计算的。
- sympy.combinatorics.galois.S4m()[源代码][源代码]¶
返回 S6 的 S4- 传递子群的表示。
注释
这是使用
find_transitive_subgroups_of_S6()
计算的。
- sympy.combinatorics.galois.S4p()[源代码][源代码]¶
返回 S6 的 S4+ 传递子群的表示。
注释
这是使用
find_transitive_subgroups_of_S6()
计算的。
- sympy.combinatorics.galois.A4xC2()[源代码][源代码]¶
返回 S6 中 (A4 x C2) 传递子群的表示。
注释
这是使用
find_transitive_subgroups_of_S6()
计算的。
- sympy.combinatorics.galois.S4xC2()[源代码][源代码]¶
返回 S6 的 (S4 x C2) 传递子群的表示。
注释
这是使用
find_transitive_subgroups_of_S6()
计算的。
- sympy.combinatorics.galois.G18()[源代码][源代码]¶
返回群 G18 的表示,这是 S6 的一个传递子群,与 C3^2 和 C2 的半直积同构。
注释
这是使用
find_transitive_subgroups_of_S6()
计算的。
- sympy.combinatorics.galois.G36m()[源代码][源代码]¶
返回群 G36- 的表示,这是 S6 的一个传递子群,同构于 C3^2 与 C2^2 的半直积。
注释
这是使用
find_transitive_subgroups_of_S6()
计算的。
- sympy.combinatorics.galois.G36p()[源代码][源代码]¶
返回群 G36+ 的表示,这是 S6 的一个传递子群,同构于 C3^2 与 C4 的半直积。
注释
这是使用
find_transitive_subgroups_of_S6()
计算的。
- sympy.combinatorics.galois.G72()[源代码][源代码]¶
返回群 G72 的表示,这是 S6 的一个传递子群,同构于 C3^2 与 D4 的半直积。
注释
参见 [1], 第325页。
- sympy.combinatorics.galois.PSL2F5()[源代码][源代码]¶
返回群 \(PSL_2(\mathbb{F}_5)\) 的表示,作为 S6 的传递子群,同构于 \(A_5\)。
注释
这是使用
find_transitive_subgroups_of_S6()
计算的。
- sympy.combinatorics.galois.PGL2F5()[源代码][源代码]¶
返回群 \(PGL_2(\mathbb{F}_5)\) 的表示,作为 S6 的传递子群,同构于 \(S_5\)。
注释
参见 [1], 第325页。
- sympy.combinatorics.galois.find_transitive_subgroups_of_S6(
- *targets,
- print_report=False,
搜索 \(S_6\) 的某些传递子群。
对称群 \(S_6\) 有 16 个不同的传递子群,直到共轭为止。有些比其他的更容易构造。例如,二面体群 \(D_6\) 可以立即找到,但如何实现 \(S_4\) 或 \(S_5\) 在 \(S_6\) 中的 传递性 则完全不明显。
在某些情况下,存在已知的构造可以使用。例如,\(S_5\) 同构于 \(PGL_2(\mathbb{F}_5)\),它在射影直线 \(P^1(\mathbb{F}_5)\) 上以自然的方式作用,这是一个阶为6的集合。
然而,在没有这种特殊构造的情况下,我们可以简单地搜索生成器。例如,\(A_4\) 和 \(S_4\) 的传递实例可以通过这种方式在 \(S_6\) 中找到。
一旦我们开始进行此类搜索,那么通过简单的搜索找到那些像 \(S_5\) 这样具有特殊构造的群组可能会更容易(尽管可能不那么优雅)。
此函数在 \(S_6\) 中定位以下子群的传递实例的生成器:
\(A_4\)
\(S_4^-\) (\(S_4\) 不包含在 \(A_6\) 内)
\(S_4^+\) (\(S_4\) 包含于 \(A_6\) 中)
\(A_4 imes C_2\)
\(S_4 imes C_2\)
\(G_{18} = C_3^2 times C_2\)
\(G_{36}^- = C_3^2 times C_2^2\)
\(G_{36}^+ = C_3^2 times C_4\)
\(G_{72} = C_3^2 times D_4\)
\(A_5\)
\(S_5\)
注意:这些组中的每一个在这个模块中都有一个专门的功能,该功能使用通过此搜索过程找到的生成器立即返回该组。
搜索过程作为这些生成器如何被找到的记录。此外,由于置换群元素生成的随机性,可以再次调用它,以便(可能)为相同的群获得不同的生成器。
- 参数:
- 目标 :
S6TransitiveSubgroups
值的列表列表 你想要查找的群组。
- print_reportbool (默认 False)
如果为真,则将每个组找到的生成器打印到标准输出。
- 目标 :
- 返回:
- dict
将 targets 中的每个名称映射到找到的
PermutationGroup
参考文献