4. Orbits and Schreier vectors

An essential tool in the analysis of the structure of a group of permutations is the concept of orbit of a point. It is just the set of images of that point which can be obtained by repeated action of the members of the group.

The command Orbit gives the orbit of a point under a group generated by a generating set:

In[97]:=

Orbit[2, GenSet[Perm[{4, 1, 3, 2, 6, 5}], Perm[{1, 4, 3, 2, 5, 6}]]]

Out[97]=

{2, 4, 1}

We can compute all orbits of a group. This can be understood as a partition of a range of integers which by default has the length of the highest degree of the permutations

In[98]:=

Orbits[GenSet[Perm[{4, 1, 3, 2, 6, 5}], Perm[{1, 4, 3, 2, 5, 6}]]]

Out[98]=

{{1, 2, 4}, {3}, {5, 6}}

but can supply the length as a second argument. Many functions in the package have an additional argument to specify the length of the underlying set of points. See the documentation of each command for details:

In[99]:=

Orbits[GenSet[Perm[{4, 1, 3, 2, 6, 5}], Perm[{1, 4, 3, 2, 5, 6}]], 8]

Out[99]=

{{1, 2, 4}, {3}, {5, 6}, {7}, {8}}

Orbit                Orbit of a point under a GS
Orbits                
All orbits of a group

Compute orbits of a group.

Given an orbit of a group it is very useful to be able to find a permutation of the group linking two points of the orbit, that is, such that the latter point is the image of the former under that permutation. Schreier introduced a nice way to do that: together with the points of the orbit we store two vectors:

Same orbit, now with its Schreier vectors. Point 2 is the first point of the orbit. Point 4 can be obtained from point 2 (see second vector) usign permutation Perm[{4,1,3,2,6,5}] (see first vector). Point 1 can be obtained from point 4 (see second vector) using the same permutation (see first vector). Again we

In[100]:=

SchreierOrbit[2, GenSet[Perm[{4, 1, 3, 2, 6, 5}], Perm[{1, 4, 3, 2, 5, 6}]]]

Out[100]=

Schreier[{2, 4, 1}, {Perm[{4, 1, 3, 2, 6, 5}], 0, 0, Perm[{4, 1, 3, 2, 6, 5}], 0, 0}, {4, 0, 0, 2, 0, 0}]

The function TraceSchreier gives the permutation that links the first point of the orbit with a given point:

In[101]:=

TraceSchreier[1, %]

Out[101]=

Perm[{2, 4, 3, 1, 5, 6}]

In[102]:=

OnPoints[2, %]

Out[102]=

1

SchreierOrbit            Calculate orbit with its Schreier vectors
Schreier                
Head of an orbit with its Schreier vectors
SchreierOrbits            Calculate all orbits with a compound Schreier vector
TraceSchreier            Trace an orbit to find a permutation linking two points

Schreier vectors.


Created by Mathematica  (May 16, 2008) Valid XHTML 1.1!