命名组#
- sympy.combinatorics.named_groups.SymmetricGroup(n)[源代码]#
在上生成对称组
n
元素作为置换群。解释
发电机被拿走了
n
-循环(0 1 2 ... n-1)
以及换位(0 1)
(在循环符号中)。(参见 [1] ). 组生成后,将设置其一些基本属性。实例
>>> from sympy.combinatorics.named_groups import SymmetricGroup >>> G = SymmetricGroup(4) >>> G.is_group True >>> G.order() 24 >>> list(G.generate_schreier_sims(af=True)) [[0, 1, 2, 3], [1, 2, 3, 0], [2, 3, 0, 1], [3, 1, 2, 0], [0, 2, 3, 1], [1, 3, 0, 2], [2, 0, 1, 3], [3, 2, 0, 1], [0, 3, 1, 2], [1, 0, 2, 3], [2, 1, 3, 0], [3, 0, 1, 2], [0, 1, 3, 2], [1, 2, 0, 3], [2, 3, 1, 0], [3, 1, 0, 2], [0, 2, 1, 3], [1, 3, 2, 0], [2, 0, 3, 1], [3, 2, 1, 0], [0, 3, 2, 1], [1, 0, 3, 2], [2, 1, 0, 3], [3, 0, 2, 1]]
工具书类
[R57]https://en.wikipedia.org/wiki/Symmetric_组#生成器_和_关系
- sympy.combinatorics.named_groups.CyclicGroup(n)[源代码]#
生成顺序的循环组
n
作为一个置换群。解释
发电机是
n
-循环(0 1 2 ... n-1)
(在循环符号中)。组生成后,将设置其一些基本属性。实例
>>> from sympy.combinatorics.named_groups import CyclicGroup >>> G = CyclicGroup(6) >>> G.is_group True >>> G.order() 6 >>> list(G.generate_schreier_sims(af=True)) [[0, 1, 2, 3, 4, 5], [1, 2, 3, 4, 5, 0], [2, 3, 4, 5, 0, 1], [3, 4, 5, 0, 1, 2], [4, 5, 0, 1, 2, 3], [5, 0, 1, 2, 3, 4]]
- sympy.combinatorics.named_groups.DihedralGroup(n)[源代码]#
生成二面体群 \(D_n\) 作为一个置换群。
解释
二面体群 \(D_n\) 是正则的对称群
n
-gon. The generators taken are then
-cyclea = (0 1 2 ... n-1)
(a rotation of then
-gon) andb = (0 n-1)(1 n-2)...
(反映了n
-循环旋转。很容易看出这些满足a**n = b**2 = 1
和bab = ~a
所以它们确实产生了 \(D_n\) (见 [1] ). 组生成后,将设置其一些基本属性。实例
>>> from sympy.combinatorics.named_groups import DihedralGroup >>> G = DihedralGroup(5) >>> G.is_group True >>> a = list(G.generate_dimino()) >>> [perm.cyclic_form for perm in a] [[], [[0, 1, 2, 3, 4]], [[0, 2, 4, 1, 3]], [[0, 3, 1, 4, 2]], [[0, 4, 3, 2, 1]], [[0, 4], [1, 3]], [[1, 4], [2, 3]], [[0, 1], [2, 4]], [[0, 2], [3, 4]], [[0, 3], [1, 2]]]
工具书类
- sympy.combinatorics.named_groups.AlternatingGroup(n)[源代码]#
在上生成交替组
n
元素作为置换群。解释
为了
n > 2
,所用的发电机是(0 1 2), (0 1 2 ... n-1)
对于n
奇数和(0 1 2), (1 2 ... n-1)
对于n
偶数(参见 [1] ,第31页,附录6.9.)。组生成后,将设置其一些基本属性。案件n = 1, 2
单独处理。实例
>>> from sympy.combinatorics.named_groups import AlternatingGroup >>> G = AlternatingGroup(4) >>> G.is_group True >>> a = list(G.generate_dimino()) >>> len(a) 12 >>> all(perm.is_even for perm in a) True
工具书类
[R59]阿姆斯特朗M.“群与对称”