Пример #1
0
 def test_partition_backtrack_subgroup_leon_paper(self):
     cf = Permutation.read_cycle_form
     a = cf([[2,3],[4,6],[5,8],[9,11]], 13)
     b = cf([[1,2,4,7,9,3,5,6,8,10,11,12,13]], 13)
     G = PermGroup([a,b])
     fam_subgroup = SubgroupFamily(G)
     prop_subgroup = SubgroupProperty(G)
     
     stab = Partition([[1,3,5,7,9,11],[2,4,6,8,10,12,13]])
     fam_part_stab = PartitionStabaliserFamily(stab)        
     prop_part_stab = PartitionStabaliserProperty(stab)
     
     size = 13
     fam = Refinement([fam_subgroup, fam_part_stab])
     prop = CosetProperty([prop_subgroup, prop_part_stab])
     pbw = PBW(prop, fam, size)     
     
     gens = pbw.find_partition_backtrack_subgroup()
     cand_G = PermGroup(gens)
     leon_gens = []
     leon_gens.append(cf([[2,12],[4,10],[5,7],[6,8]],13))
     leon_gens.append(cf([[2,8],[3,5],[4,6],[10,12]],13))
     leon_gens.append(cf([[1,9],[2,4],[6,8],[10,12]],13))
     leon_G = PermGroup(leon_gens)
     third_source = []
     for ele in G._list_elements():
         if prop.check(ele):
             third_source.append(ele)
     self.assertEqual(cand_G.order(), leon_G.order())
     for perm in leon_gens:
         self.assertTrue(perm in G)
         self.assertTrue(perm in cand_G)
Пример #2
0
 def test_order(self):
     cf = lambda x : Permutation.read_cycle_form(x,6)
     g1 = cf([[1,4,5,2,3]])
     g2 = cf([[1,2],[3,4]])
     g3 = cf([[1,2],[6,5]])
     G = PermGroup([g1,g2,g3])
     self.assertEqual(G.order(), 360)