[SONATA-tutorial] 5 Some interesting nearrings

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

# 5 Some interesting nearrings

### Sections

1. Nearrings generated by endomorphisms on a group
2. More information than just the size
3. Centralizer nearrings
4. Finding affine complete groups

One motivation for creating SONATA was to study particular near-rings associated with a given group G: the inner automorphism nearring I(G), the automorphism nearring A(G), and the endomorphism nearring E(G). The nearring I(G) is the smallest subnearring of the nearring M(G) of all mappings from G into G that contains all inner automorphisms; similarly A(G) and E(G) are defined. [meldrum85:NATLWG] contains a lot of information on these near-rings.

## 5.1 Nearrings generated by endomorphisms on a group

Let us compute the nearring I(A4), which is the nearring of all zero-symmetric polynomial functions on the group A4.

        gap> I := InnerAutomorphismNearRing ( AlternatingGroup ( 4 ) );
        InnerAutomorphismNearRing( Alt( [ 1 .. 4 ] ) )
        gap> Size (I);
        3072

For a polynomial function, we can ask for a polynomial that induces it.

        gap> p := Random( I );
        <mapping: AlternatingGroup( [ 1 .. 4 ] ) -> AlternatingGroup( [ 1 .. 4 ] ) >
        gap> PrintAsTerm( p );
         - g1 + g2 - x - g2 + g1 + g2 + g1 - x + g2 - x + 2 * g1 -
        3 * x - g1 + x + g2 - x - g2 + g1 + x - g1 + x - g1 + x +
        g1 + x - g2 - x + g2 - g1 - x + g1 + x
        gap> GeneratorsOfGroup( AlternatingGroup( 4 ) );
        [ (1,2,3), (2,3,4) ]

We get a polynomial (not necessarily the shortest possible polynomial) that induces the polynomial function. The expressions `g1` and `g2` stand for the first and second generator of the group respectively.

Now we compute the nearring that is additively generated by the automorphisms of the dihedral group of order 8. This nearring is usually called A (D8).

        gap> A := AutomorphismNearRing ( DihedralGroup ( 8 ) );
        AutomorphismNearRing( <pc group of size 8 with 3 generators> )
        gap> Size (A);
        32

Much attention has been devoted to the nearring E (S4), which is the nearring additively generated by the endomorphisms on the symmetric group on four letters.

        gap> EndS4 := EndomorphismNearRing ( SymmetricGroup ( 4 ) );
        EndomorphismNearRing( Sym( [ 1 .. 4 ] ) )
        gap> Size ( EndS4 );
        927712935936
        gap> F1 := last;;
        gap> Collected ( Factors( F1 ));
        [ [ 2, 35 ], [ 3, 3 ] ]

In the last example, we have computed the size of E (S4) as 235 ·33.

We have also included some less popular examples of nearrings. One of those is the nearring H (G, U). This is the nearring that is generated by all endomorphisms on G whose range lies in the subgroup U of G. We do an example on the group 16/8 in the classification of Thomas and Wood. It is a subdirectly irreducible group of order 16, and the factor modulo the monolith is isomorphic to the elementary abelian group of order 8.

        gap> G := GTW16_8;
        16/8
        gap> U := First ( NormalSubgroups( G ), N -> Size(N) = 2 );
        Group([ ( 1, 5)( 2,10)( 3,11)( 4,12)( 6,15)( 7,16)( 8, 9)(13,14) ])
        gap> HGU := RestrictedEndomorphismNearRing (G, U);
        RestrictedEndomorphismNearRing( 16/8, Group(
        [ ( 1, 5)( 2,10)( 3,11)( 4,12)( 6,15)( 7,16)( 8, 9)(13,14) ]) )
        gap> Size (HGU);
        8

It is interesting to compare this nearring to the nearring of all functions e in the endomorphism nearring E (G) with the property e (G) Í U.

        gap> EofG := EndomorphismNearRing ( G );
        EndomorphismNearRing( 16/8 )
        gap> EGU := NoetherianQuotient ( EofG, U, G );
        NoetherianQuotient( Group(
        [ ( 1, 5)( 2,10)( 3,11)( 4,12)( 6,15)( 7,16)( 8, 9)(13,14) ]) ,16/8 )
        gap> Size ( EGU );
        128

If N is a transformation nearring on G, and U, V are subsets of G then `NoetherianQuotient (N,U,V)` returns the collection of all mappings f Î N such that f(V) Í U.

## 5.2 More information than just the size

In this section, we use SONATA to produce some interesting information about the nearring I(S3), which is the nearring of all zero-symmetric polynomial functions on the group S3.

        gap> G := SymmetricGroup ( 3 );
        Sym( [ 1 .. 3 ] )
        gap> I := InnerAutomorphismNearRing ( G );
        InnerAutomorphismNearRing( Sym( [ 1 .. 3 ] ) )
        gap> Size( I );
        54

Now we would like to see how many of these 54 functions are idempotent. First a complicated version.

        gap> Filtered ( I,
        >       t -> ForAll( G, g -> Image(t, g) = Image(t, Image(t, g)) ) );;
        gap> Length( last );
        18

Now a simpler version.

        gap> Filtered ( I, i -> i^2 = i );;
        gap> Length( last );
        18

## 5.3 Centralizer nearrings

Let F be a subset of the endomorphisms of a group G. Then we define MF (G) as the set of all mappings m : G ® G that satisfy m °j = j°m for all j Î F. This set is closed under addition and composition of mappings, and hence a subnearring of M(G). The set MF (G) is called the centralizer nearring of G determined by F. It need not necessarily be zero-symmetric.

In the following examples, we compute the centralizer nearring MEnd (S3) (S3).

        gap> G := SymmetricGroup( 3 );
        Sym( [ 1 .. 3 ] )
        gap> endos := Endomorphisms( G );
        [ [ (2,3), (1,2,3) ] -> [ (), () ],
          [ (2,3), (1,2,3) ] -> [ (2,3), () ],
          [ (2,3), (1,2,3) ] -> [ (1,2), () ],
          [ (2,3), (1,2,3) ] -> [ (1,3), () ],
          [ (1,2,3), (1,2) ] -> [ (1,2,3), (2,3) ],
          [ (2,3), (1,2,3) ] -> [ (1,2), (1,3,2) ],
          [ (2,3), (1,2,3) ] -> [ (1,3), (1,3,2) ],
          [ (2,3), (1,2,3) ] -> [ (2,3), (1,2,3) ],
          [ (2,3), (1,2,3) ] -> [ (1,2), (1,2,3) ],
          [ (2,3), (1,2,3) ] -> [ (2,3), (1,3,2) ] ]
        gap> C := CentralizerNearRing( G, endos );
        CentralizerNearRing( Sym( [ 1 .. 3 ] ), ... )
        gap> Size ( C );
        6

An ideal of a nearring (N,+,*) is a subset I such that I is a normal subgroup of (N,+), and for all i Î I, n,m Î N, we have (m+i)*n - m*n Î I and n*i Î I. Ideals are in one-to-one correspondence to the congruence relations on (N,+,*).

Do you think that this nearring is simple? Alan Cannon does not think so, and, in fact, SONATA tells us:

        gap> I := NearRingIdeals( C );
        [ < nearring ideal >, < nearring ideal >, < nearring ideal >,
          < nearring ideal > ]
        gap> List( I, Size );
        [ 1, 2, 3, 6 ]

So, we have ideals of size 1,2,3 and 6.

## 5.4 Finding affine complete groups

We shall now construct all compatible (= congruence preserving) functions on the group 16/6 (Thomas-Wood-notation); this is the 6th group of order 16 in [thomaswood80:GT]. It is the direct product of D8 and C2. Let G be this group. We first construct the nearring P(G) of all polynomial functions. Then we construct all those functions that can be interpolated at every subset of G with at most two elements by a function in P(G) by using the function `LocalInterpolationNearRing`: these are the compatible functions on G (see [Pilz:Nearrings)].

        gap> P := PolynomialNearRing( GTW16_6 );
        PolynomialNearRing( 16/6 )
        gap> Size( P );
        256
        gap> C := LocalInterpolationNearRing(P, 2);
        LocalInterpolationNearRing( PolynomialNearRing( 16/6 ), 2 )
        gap> Size (C);
        256

Hence the group 16/6 is 1-affine complete. A much faster algorithm for computing the nearring of compatible functions can be used.

        gap> C := CompatibleFunctionNearRing( GTW16_6 );
        < transformation nearring with 7 generators >
        gap> Size(C);
        256;

Finally, the fastest way to decide 1-affine completeness is to use the function `Is1AffineComplete`.

        gap> Is1AffineComplete( GTW16_6 );
        true

When studying polynomial functions on direct products of groups, it is important to know the smallest positive number l such that the zero-function can be expressed by a term a1 + e1·x + a2 + ¼+ en·x + an+1 with åei = l. This l has been called the length of the group by S.D.Scott.

        gap> ScottLength( SymmetricGroup( 3 ) );
        2

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