加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

置换群及其运算

(2014-02-04 15:30:34)
标签:

循环群

子群

分类: 【学术】
置换群及其运算

数学上,一个置换群是一个群G,其元素是一个给定集M的置换,而其群作用是G中的置换(可以看作是从M到自身的双射)的复合;其关系经常写作(G,M)。注意所有置换的群是对称群;置换群通常是指对称群的一个子群。n个元素的置换群记为Sn;若M 是任意有限或无限集合,则所有M的置换组成的对称群通常写作Sym(M)。

置换通常写作轮换形式,例如,在轮换指标计算中,给定集合 M = {1,2,3,4},M 的一个置换 g 若为 g(1) = 2, g(2) = 4, g(4) = 1 和 g(3) = 3,可以写作 (1,2,4)(3),或者更常见的写作 (1,2,4),因为 3 保持不变;若对象有单个字母或数字表示,逗号也被省去,所以可以记作(1 2 4)。

一、常见的置换群

M = {1,2}

(1)、(1 2)

M = {1,2,3}

(1)、(1 2)、(1 3)、(2 3)、(1 2 3)、(1 3 2)

M = {1,2,3,4}

(1)、(1 2)、(1 3)、(1 4)、(2 3)、(2 4)、(3 4)、(1 2 3)、(1 3 2)、(1 2 4)、(1 4 2)、(1 3 4)、(1 4 3)、(2 3 4)、(2 4 3)、(1 2 3 4)、(1 2 4 3)、(1 3 2 4)、(1 3 4 2)、(1 4 2 3)、(1 4 3 2)、(1 2)(3 4)、(1 3)(2 4)、(1 4)(2 3)

M = {1,2,3,4,5,6,7}

G = SymmetricGroup(7)
sigd=G("(1,2,7)(3,6,5,4)");这是一个元素
for i in range(1, 30):
    print "the ", "Element sigd^(",i,")", sigd^(i)
下面是运算结果:
       
the  Element sigd^( 1 ) (1,2,7)(3,6,5,4)
the  Element sigd^( 2 ) (1,7,2)(3,5)(4,6)
the  Element sigd^( 3 ) (3,4,5,6)
the  Element sigd^( 4 ) (1,2,7)
the  Element sigd^( 5 ) (1,7,2)(3,6,5,4)
the  Element sigd^( 6 ) (3,5)(4,6)
the  Element sigd^( 7 ) (1,2,7)(3,4,5,6)
the  Element sigd^( 8 ) (1,7,2)
the  Element sigd^( 9 ) (3,6,5,4)
the  Element sigd^( 10 ) (1,2,7)(3,5)(4,6)
the  Element sigd^( 11 ) (1,7,2)(3,4,5,6)
the  Element sigd^( 12 ) ()
the  Element sigd^( 13 ) (1,2,7)(3,6,5,4)
the  Element sigd^( 14 ) (1,7,2)(3,5)(4,6)

这说明,元素sigd可以构成一个12阶的循环群。在这个大群中,有好多个小的循环群存在。如果构造一个巨大的循环群,则其上的离散对数问题是一个困难问题。


二、求子群的方法。


If G is a group and a is an element of the group (try a = G.random_element()), then


a = G.random_element() 

H = G.subgroup([a])

will create H as the cyclic subgroup of G with 生成元 a.

下面是在一个置换群上做一个循环子群


sage: G = SymmetricGroup(5) 

sage: sigma = G("(1,2,3) (4,5)") 

sage: H = G.subgroup([sigma]) 

sage: H.list() 

[(), (4,5), (1,2,3), (1,2,3)(4,5), (1,3,2), (1,3,2)(4,5)]


三、生成包含任意元素的循环群,



sage: n = 20 

sage: CN = CyclicPermutationGroup(n) 

sage: for g in CN:
... 

                  print g.order(), "  ",g ;打印阶数以及元素本身 

1    ()                                                   第一个数字是阶数,后面数据是元素本身

20    (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)

10    (1,3,5,7,9,11,13,15,17,19)(2,4,6,8,10,12,14,16,18,20) 

20    (1,4,7,10,13,16,19,2,5,8,11,14,17,20,3,6,9,12,15,18) 

5    (1,5,9,13,17)(2,6,10,14,18)(3,7,11,15,19)(4,8,12,16,20) 

4    (1,6,11,16)(2,7,12,17)(3,8,13,18)(4,9,14,19)(5,10,15,20) 

10    (1,7,13,19,5,11,17,3,9,15)(2,8,14,20,6,12,18,4,10,16) 

20    (1,8,15,2,9,16,3,10,17,4,11,18,5,12,19,6,13,20,7,14) 

5    (1,9,17,5,13)(2,10,18,6,14)(3,11,19,7,15)(4,12,20,8,16) 

20    (1,10,19,8,17,6,15,4,13,2,11,20,9,18,7,16,5,14,3,12) 

2    (1,11)(2,12)(3,13)(4,14)(5,15)(6,16)(7,17)(8,18)(9,19)(10,20) 

20    (1,12,3,14,5,16,7,18,9,20,11,2,13,4,15,6,17,8,19,10) 

5    (1,13,5,17,9)(2,14,6,18,10)(3,15,7,19,11)(4,16,8,20,12) 

20    (1,14,7,20,13,6,19,12,5,18,11,4,17,10,3,16,9,2,15,8) 

10    (1,15,9,3,17,11,5,19,13,7)(2,16,10,4,18,12,6,20,14,8) 

4    (1,16,11,6)(2,17,12,7)(3,18,13,8)(4,19,14,9)(5,20,15,10) 

5    (1,17,13,9,5)(2,18,14,10,6)(3,19,15,11,7)(4,20,16,12,8) 

20    (1,18,15,12,9,6,3,20,17,14,11,8,5,2,19,16,13,10,7,4) 

10    (1,19,17,15,13,11,9,7,5,3)(2,20,18,16,14,12,10,8,6,4) 

20    (1,20,19,18,17,16,15,14,13,12,11,10,9,8,7,6,5,4,3,2)

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有