We are going to study transformations on the alternating group on four elements
*A*_{4}.

**The problem**: Let `T` be the nearring of mappings from *A*_{4} to *A*_{4}
generated by the single mapping `t` which maps (2,3,4) to (2,4,3),
(2,4,3) to (1,2)(3,4), (1,2)(3,4) to (1,2,3), (1,2,3) back to (2,3,4)
and all other elements of *A*_{4} to the neutral element (). Then,
how many mappings are there in `T` that have (1,2,3) as a fixed point?
If there are only a few we would be interested in a list of all of
these.

**The solution**:

The first thing to do is create the nearring `T`. So we start with
the group *A*_{4}, which can easily be constructed with the command

gap> A4 := AlternatingGroup( 4 ); Alt( [ 1 .. 4 ] )The result is an object which represents the group

gap> AsSortedList( A4 ); [ (), (2,3,4), (2,4,3), (1,2)(3,4), (1,2,3), (1,2,4), (1,3,2), (1,3,4), (1,3)(2,4), (1,4,2), (1,4,3), (1,4)(2,3) ]Now we create the mapping

`MappingByPositionList`

to enter it.
t := EndoMappingByPositionList( A4, [1,3,4,5,2,1,1,1,1,1,1,1] ); <mapping: AlternatingGroup( [ 1 .. 4 ] ) -> AlternatingGroup( [ 1 .. 4 ] ) >For

`Mappings`

the usual operations `+`

and
`*`

can be used to add and multiply them.
gap> t+t; <mapping: AlternatingGroup( [ 1 .. 4 ] ) -> AlternatingGroup( [ 1 .. 4 ] ) > gap> last * t; <mapping: AlternatingGroup( [ 1 .. 4 ] ) -> AlternatingGroup( [ 1 .. 4 ] ) >(Recall that

`last`

stands for the result of the last computation, in
this case this is `t + t`

).
Now we can construct the nearring. We use the function
`TransformationNearRingByGenerators`

which asks for the group (gap> T := TransformationNearRingByGenerators( A4, [ t ] );;Nearrings, allthough generated by a single element can become rather big. Before we print out all elements we ask for the size of

gap> Size( T ); 20736It seems reasonable not to print all elements.

`AsList`

or `AsSortedList`

. At last we want
to find out how many of these 20736 `GroupTransformations`

have (1,2,3)
as a fixed point. We filter them out, but we use a second semicolon at
the end to suppress printing, because there might be a lot of them.
Then we ask for the length of the resulting list gap> F := Filtered( T, tfm -> Image( tfm, (1,2,3) ) = (1,2,3) );; gap> Length( F ); 1728It seems not to be worth printing the whole list. But we could for example choose a random transformation from this list

gap> Random( F );;There are of course other properties of the nearring

gap> IsCommutative( T ); falseFinally, we try to disprove the conjecture that every transformation nearring on an abelian group that is generated by a single element must be commutative.

gap> g := CyclicGroup(2);; gap> m := MapNearRing(g);; gap> Filtered( m, n -> not( IsCommutative( > TransformationNearRingByGenerators( g, [n] ) ) ) ); gap> [ <mapping: Group( [ f1 ] ) -> Group( [ f1 ] ) >, <mapping: Group( [ f1 ] ) -> Group( [ f1 ] ) > ] gap> GraphOfMapping(last[1]); [ [ <identity> of ..., f1 ], [ f1, <identity> of ... ] ]

[Up] [Previous] [Next] [Index]

SONATA-tutorial manual

December 2022