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]:=
Out[97]=
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]:=
Out[98]=
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]:=
Out[99]=
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]:=
Out[100]=
The function TraceSchreier gives the permutation that links the first point of the orbit with a given point:
In[101]:=
Out[101]=
In[102]:=
Out[102]=
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) |