A transformation is a mapping with equal source and range, say X. For example, X may be a set or a group. A transformation on X then acts on X by transforming each element of X into (precisely one) element of X.
Note that a transformation is just a special case of a mapping. So all GAP functions that work for mappings will also work for transformations.
For the following, it is important to keep in mind that in GAP sets are represented by sorted lists without holes and duplicates. Throughout this section, let X be a set or a group with n elements. A transformation on X is uniquely determined by a list of length n without holes and with entries which are integers between 1 and n.
For example,
for the set X := [1,2,3]
, the list [1,1,2]
determines the
transformation on X which transforms 1 into 1, 2
into 1, and 3 into 2.
Analogously, for the cyclic group of order 3: C3
, with
(the uniquely ordered) set of elements
[(),(1,2,3),(1,3,2)]
, the list [2,3,3]
determines the
transformation on C3
which transforms ()
into (1,2,3)
, (1,2,3)
into
(1,3,2)
, and (1,3,2)
into (1,3,2)
.
Such a list which on a given set or group uniquely determines a transformation will be called transformation list (short tfl).
Transformations are created by the constructor functions
Trans-for-ma-tion
or As-Trans-for-ma-tion
and they are represented by records that
contain all the information about the transformations.
GAP 3.4.4