Contact
CoCalc Logo Icon
StoreFeaturesDocsShareSupport News Sign UpSign In
| Download
Views: 83
Kernel: SageMath 8.1

Permutation Group

Definition

In mathematics, a permutation group is a group G whose elements are permutations of a given set M and whose group operation is the composition of permutations in G (which are thought of as bijective functions from the set M to itself). The group of all permutations of a set M is the symmetric group of M, often written as Sym(M). The term permutation group thus means a subgroup of the symmetric group.

I know it is hard to understand what permutation group is from the boring definition of it, but you are getting to know it in the rest of note

There is a lot of intersting things about permutation group. But we only have 20 minites, therefore I just put some basic knowledge about the permutation group

First, we need to know how permutation look like

G = PermutationGroup(['(1,2,3)(4,5)']) G
Permutation Group with generators [(1,2,3)(4,5)]

Permutation Group Element

Check if an element is in this permutation group

g = G.random_element() g
(1,3,2)(4,5)
g in G
True
h = (2,3) h in G
False
p = PermutationGroupElement([(1,2),(3,4,5)])
from sage.groups.perm_gps.permgroup_element import is_PermutationGroupElement is_PermutationGroupElement(p)
True

We also can see the the order of a group, which is the number of elements in the group

The number of order of a group n is the smallest positive integer n such that G^n = identity permutation group

http://ksuweb.kennesaw.edu/~plaval/math4361/permutations

G = PermutationGroup(['(1,2,3)(4,5)']) n = G.order() n
6
#X.gen(i) means the i-th generator of self g = G.gen(0) g
(1,2,3)(4,5)
G.gen()
(1,2,3)(4,5)
G = PermutationGroup([[(1,2,3)],[(2,3,4)]]) G.gen(1)
(1,2,3)

Besides, we can see the orbit of the integer n under this group element, as a sorted list

G = PermutationGroup(['(1,2,3)(4,5)']) g = G.gen(0)
g.orbit(4)
[4, 5]
g.orbit(3)
[1, 2, 3]
g.orbit(10)
[10]

And the sign of self, which is (−1)s, where s is the number of swaps

g.sign()
-1

Let's do some calculation

Multiplication of two permutation groups

H = PermutationGroup([(3,5,8,9)]) h = H.gen(0) h
(3,5,8,9)
g*h
(1,2,5,4,8,9,3)
g*h**2
(1,2,8,3)(4,9,5)
g*h**3
(1,2,9,8,5,4,3)

Since bijections have inverses, the permutation groups also have inverses

g**(-1)
(1,3,2)(4,5)

Square of permutation group

g**2
(1,3,2)
g**3
(4,5)

Exercise: try to find the least power of permutation group n, which can make g^n be itself

Answer:

G = PermutationGroup(['(1,2,3)(4,5)']) g = G.gen(0) number = G.degree() h = g l = [] for i in range(2,100): if g**i == h: l.append(i) print l[0]
7

Permutation Group

We can count the number of elements of this group

G = PermutationGroup([[(1,2,3),(4,5)], [(1,2)]]) G.cardinality()
12

Also we can count the degree of this premutation group

The degree of a group of permutations of a finite set is the number of elements in the set

G.degree()
5

If we want to know the subgroup of elements that commute with every element of this group, we can use x.center()

G.center()
Subgroup of (Permutation Group with generators [(1,2), (1,2,3)(4,5)]) generated by [(4,5)]

It is also easy to find the fixed point in permutation group

G = PermutationGroup([(1,2,3),(5,6,9)]) G.fixed_points()
[4, 7, 8]
G = PermutationGroup([[(1,4,7)],[(4,3),(6,7)]]) G.fixed_points()
[2, 5]

What more, we are able to see the underlying set that this permutation group acts on

G = PermutationGroup([(1,2),(3,5)]) G.domain()
{1, 2, 3, 4, 5}

Find the composition series of this group as a list of permutation groups

set_random_seed(0) G = PermutationGroup([[(1,2,3),(4,5)],[(3,4)]]) G.composition_series()
[Subgroup of (Permutation Group with generators [(3,4), (1,2,3)(4,5)]) generated by [(3,4), (1,2,3)(4,5)], Subgroup of (Permutation Group with generators [(3,4), (1,2,3)(4,5)]) generated by [(1,5,3), (1,5)(3,4), (1,5)(2,4)], Subgroup of (Permutation Group with generators [(3,4), (1,2,3)(4,5)]) generated by [()]]
G = PermutationGroup([[(1,2,3),(4,5)], [(1,2)]]) CS = G.composition_series() CS[3]
Subgroup of (Permutation Group with generators [(1,2), (1,2,3)(4,5)]) generated by [()]

Also we can find the group formed by conjugating self with g

G = DihedralGroup(6) a = PermutationGroupElement("(1,2,3,4)") G.conjugate(a)
Permutation Group with generators [(1,4)(2,6)(3,5), (1,5,6,2,3,4)]

The element performing the conjugation can be specified in several ways, not only formed by conjugating other things

G = DihedralGroup(6) strng = "(1,2,3,4,5)" G.conjugate(strng)
Permutation Group with generators [(1,3)(2,6)(4,5), (1,6,2,3,4,5)]

Exercise: What else form of thing can be conjugated?

Answer:

G = DihedralGroup(6) lst = [2,3,4,1,5] G.conjugate(lst)
Permutation Group with generators [(1,4)(2,6)(3,5), (1,5,6,2,3,4)]
G = DihedralGroup(6) cycles = [(1,2,3,4,5)] G.conjugate(cycles)
Permutation Group with generators [(1,3)(2,6)(4,5), (1,6,2,3,4,5)]