Advertisement
mate2code

Times and exp tables of 4-element permutations

Nov 7th, 2016
1,167
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Python 7.03 KB | None | 0 0
  1. # https://en.wikiversity.org/wiki/File:Symmetric_group_4;_Cayley_table;_numbers.svg
  2. # https://en.wikiversity.org/wiki/File:Symmetric_group_S4;_conjugacy_table.svg
  3.  
  4. from itertools import permutations
  5. from sympy.combinatorics import Permutation
  6. from bidict import bidict
  7. from numpy import zeros
  8.  
  9. perms_iter = permutations([0, 1, 2, 3])
  10. perms = bidict()
  11.  
  12. for i, perm in enumerate(perms_iter):
  13.     perms[23-i] = Permutation(perm[::-1])  # create reverse colexicographic order
  14.  
  15. times_table      = zeros([24, 24], dtype=int)
  16. exp_table        = zeros([24, 24], dtype=int)
  17. conjugacy_table1 = zeros([24, 24], dtype=int)
  18. conjugacy_table2 = zeros([24, 24], dtype=int)
  19.  
  20. for i in range(24):
  21.     a = perms[i]
  22.     for j in range(24):
  23.         b = perms[j]
  24.         times_table[i, j]      = perms.inv[a * b]
  25.         exp_table[i, j]        = perms.inv[a ^ b]
  26.         conjugacy_table1[i, j] = perms.inv[~b * a * b]
  27.         conjugacy_table2[i, j] = perms.inv[b * a * ~b]
  28.  
  29. print('times_table:\n')
  30. print(times_table)
  31.  
  32. print('\n\nexp_table:\n')
  33. print(exp_table)
  34.  
  35. print('\n\nconjugacy_table2:\n')
  36. print(conjugacy_table2)
  37.  
  38. print('\n\nconjugacy_table1 is equal to exp_table:\n')
  39. print((conjugacy_table1 == exp_table).all())
  40.  
  41. same_columns = True
  42. for num in range(24):
  43.     invnum = perms.inv[~perms[num]]
  44.     if not (conjugacy_table1[:, num] == conjugacy_table2[:, invnum]).all():
  45.         same_columns = False
  46. print('\n\nconjugacy_table1 and conjugacy_table2 have the same columns:\n')
  47. print(same_columns)
  48.  
  49.  
  50. """
  51. times_table:
  52.  
  53. [[ 0  1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23]
  54. [ 1  0  3  2  5  4  7  6  9  8 11 10 13 12 15 14 17 16 19 18 21 20 23 22]
  55. [ 2  4  0  5  1  3  8 10  6 11  7  9 14 16 12 17 13 15 20 22 18 23 19 21]
  56. [ 3  5  1  4  0  2  9 11  7 10  6  8 15 17 13 16 12 14 21 23 19 22 18 20]
  57. [ 4  2  5  0  3  1 10  8 11  6  9  7 16 14 17 12 15 13 22 20 23 18 21 19]
  58. [ 5  3  4  1  2  0 11  9 10  7  8  6 17 15 16 13 14 12 23 21 22 19 20 18]
  59. [ 6  7 12 13 18 19  0  1 14 15 20 21  2  3  8  9 22 23  4  5 10 11 16 17]
  60. [ 7  6 13 12 19 18  1  0 15 14 21 20  3  2  9  8 23 22  5  4 11 10 17 16]
  61. [ 8 10 14 16 20 22  2  4 12 17 18 23  0  5  6 11 19 21  1  3  7  9 13 15]
  62. [ 9 11 15 17 21 23  3  5 13 16 19 22  1  4  7 10 18 20  0  2  6  8 12 14]
  63. [10  8 16 14 22 20  4  2 17 12 23 18  5  0 11  6 21 19  3  1  9  7 15 13]
  64. [11  9 17 15 23 21  5  3 16 13 22 19  4  1 10  7 20 18  2  0  8  6 14 12]
  65. [12 18  6 19  7 13 14 20  0 21  1 15  8 22  2 23  3  9 10 16  4 17  5 11]
  66. [13 19  7 18  6 12 15 21  1 20  0 14  9 23  3 22  2  8 11 17  5 16  4 10]
  67. [14 20  8 22 10 16 12 18  2 23  4 17  6 19  0 21  5 11  7 13  1 15  3  9]
  68. [15 21  9 23 11 17 13 19  3 22  5 16  7 18  1 20  4 10  6 12  0 14  2  8]
  69. [16 22 10 20  8 14 17 23  4 18  2 12 11 21  5 19  0  6  9 15  3 13  1  7]
  70. [17 23 11 21  9 15 16 22  5 19  3 13 10 20  4 18  1  7  8 14  2 12  0  6]
  71. [18 12 19  6 13  7 20 14 21  0 15  1 22  8 23  2  9  3 16 10 17  4 11  5]
  72. [19 13 18  7 12  6 21 15 20  1 14  0 23  9 22  3  8  2 17 11 16  5 10  4]
  73. [20 14 22  8 16 10 18 12 23  2 17  4 19  6 21  0 11  5 13  7 15  1  9  3]
  74. [21 15 23  9 17 11 19 13 22  3 16  5 18  7 20  1 10  4 12  6 14  0  8  2]
  75. [22 16 20 10 14  8 23 17 18  4 12  2 21 11 19  5  6  0 15  9 13  3  7  1]
  76. [23 17 21 11 15  9 22 16 19  5 13  3 20 10 18  4  7  1 14  8 12  2  6  0]]
  77.  
  78.  
  79. exp_table:
  80.  
  81. [[ 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0]
  82. [ 1  1  5  5  2  2  1  1 21 21 14 14  5  5 21 21  6  6  2  2 14 14  6  6]
  83. [ 2  5  2  1  5  1 14 21 14  1 21  1  6 21  6  5 21  5  6 14  6  2 14  2]
  84. [ 3  4  4  3  3  4 15 20 20 15 15 20 11 19 19 11 11 19  8 12 12  8  8 12]
  85. [ 4  3  3  4  4  3 20 15 15 20 20 15 19 11 11 19 19 11 12  8  8 12 12  8]
  86. [ 5  2  1  2  1  5 21 14  1 14  1 21 21  6  5  6  5 21 14  6  2  6  2 14]
  87. [ 6  6 14 14 21 21  6  6  2  2  5  5 14 14  2  2  1  1 21 21  5  5  1  1]
  88. [ 7  7 16 16 23 23  7  7 23 23 16 16 16 16 23 23  7  7 23 23 16 16  7  7]
  89. [ 8 11 12 15 19 20 12 19  8  3 11  4  8 20 12  4 15  3 11 15 19  3 20  4]
  90. [ 9 10 17 13 22 18 13 18 22  9 17 10 10 22 18 17  9 13  9 17 13 22 10 18]
  91. [10  9 13 17 18 22 18 13  9 22 10 17 22 10 17 18 13  9 17  9 22 13 18 10]
  92. [11  8 15 12 20 19 19 12  3  8  4 11 20  8  4 12  3 15 15 11  3 19  4 20]
  93. [12 19  8 20 11 15  8 11 12  4 19  3 12 15  8  3 20  4 19 20 11  4 15  3]
  94. [13 18 10 22  9 17  9 10 18 17 13 22 17 13 22  9 10 18 22 18 17 10  9 13]
  95. [14 21  6 21  6 14  2  5  6  5  6  2  2  1 14  1 14  2  5  1 21  1 21  5]
  96. [15 20 11 19  8 12  3  4 19 11 12  8  4  3 20 15  8 12  3  4 15 20 11 19]
  97. [16 23  7 23  7 16 23 16  7 16  7 23 23  7 16  7 16 23 16  7 23  7 23 16]
  98. [17 22  9 18 10 13 22 17 13 10 18  9 18  9 10 13 22 17 13 10  9 18 17 22]
  99. [18 13 22 10 17  9 10  9 17 18 22 13 13 17  9 22 18 10 18 22 10 17 13  9]
  100. [19 12 20  8 15 11 11  8  4 12  3 19 15 12  3  8  4 20 20 19  4 11  3 15]
  101. [20 15 19 11 12  8  4  3 11 19  8 12  3  4 15 20 12  8  4  3 20 15 19 11]
  102. [21 14 21  6 14  6  5  2  5  6  2  6  1  2  1 14  2 14  1  5  1 21  5 21]
  103. [22 17 18  9 13 10 17 22 10 13  9 18  9 18 13 10 17 22 10 13 18  9 22 17]
  104. [23 16 23  7 16  7 16 23 16  7 23  7  7 23  7 16 23 16  7 16  7 23 16 23]]
  105.  
  106.  
  107. conjugacy_table2:
  108.  
  109. [[ 0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0  0]
  110. [ 1  1  5  2  5  2  1  1  5  2  5  2 21 14 21 14  6  6 21 14 21 14  6  6]
  111. [ 2  5  2  5  1  1 14 21  6  6 21 14 14 21  6  6 21 14  1  1  5  2  5  2]
  112. [ 3  4  4  3  3  4 15 20 11  8 19 12 20 15 19 12 11  8 15 20 11  8 19 12]
  113. [ 4  3  3  4  4  3 20 15 19 12 11  8 15 20 11  8 19 12 20 15 19 12 11  8]
  114. [ 5  2  1  1  2  5 21 14 21 14  6  6  1  1  5  2  5  2 14 21  6  6 21 14]
  115. [ 6  6 14 21 14 21  6  6 14 21 14 21  2  5  2  5  1  1  2  5  2  5  1  1]
  116. [ 7  7 16 23 16 23  7  7 16 23 16 23 23 16 23 16  7  7 23 16 23 16  7  7]
  117. [ 8 11 12 19 15 20 12 19  8 11 20 15  8 11 12 19 15 20  3  4  4  3  3  4]
  118. [ 9 10 17 22 13 18 13 18 10  9 22 17 22 17 18 13  9 10  9 10 17 22 13 18]
  119. [10  9 13 18 17 22 18 13 22 17 10  9  9 10 17 22 13 18 22 17 18 13  9 10]
  120. [11  8 15 20 12 19 19 12 20 15  8 11  3  4  4  3  3  4  8 11 12 19 15 20]
  121. [12 19  8 11 20 15  8 11 12 19 15 20 12 19  8 11 20 15  4  3  3  4  4  3]
  122. [13 18 10  9 22 17  9 10 17 22 13 18 18 13 22 17 10  9 17 22  9 10 18 13]
  123. [14 21  6  6 21 14  2  5  2  5  1  1  6  6 14 21 14 21  5  2  1  1  2  5]
  124. [15 20 11  8 19 12  3  4  4  3  3  4 19 12 20 15  8 11 11  8 15 20 12 19]
  125. [16 23  7  7 23 16 23 16 23 16  7  7  7  7 16 23 16 23 16 23  7  7 23 16]
  126. [17 22  9 10 18 13 22 17 18 13  9 10 13 18 10  9 22 17 10  9 13 18 17 22]
  127. [18 13 22 17 10  9 10  9 13 18 17 22 17 22  9 10 18 13 18 13 22 17 10  9]
  128. [19 12 20 15  8 11 11  8 15 20 12 19  4  3  3  4  4  3 12 19  8 11 20 15]
  129. [20 15 19 12 11  8  4  3  3  4  4  3 11  8 15 20 12 19 19 12 20 15  8 11]
  130. [21 14 21 14  6  6  5  2  1  1  2  5  5  2  1  1  2  5  6  6 14 21 14 21]
  131. [22 17 18 13  9 10 17 22  9 10 18 13 10  9 13 18 17 22 13 18 10  9 22 17]
  132. [23 16 23 16  7  7 16 23  7  7 23 16 16 23  7  7 23 16  7  7 16 23 16 23]]
  133.  
  134.  
  135. conjugacy_table1 is equal to exp_table:
  136.  
  137. True
  138.  
  139.  
  140. conjugacy_table1 and conjugacy_table2 have the same columns:
  141.  
  142. True
  143. """
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement