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

5 Transformation nearrings

Sections

  1. Constructing transformation nearrings
  2. Nearrings of transformations
  3. The group a transformation nearring acts on
  4. Transformation nearrings and other nearrings
  5. Noetherian quotients for transformation nearrings
  6. Zerosymmetric mappings

In the previous chapter we introduced mappings on groups, and we called them endomappings. We also introduced the operation of pointwise addition + for endomappings. Now we are able to use these mappings together with pointwise addition + and composition * to construct left nearrings. These nearrings satisfy the distributive law x * (y + z) = x * y + x * z.

A transformation nearring is a set of mappings on a group G that is closed under pointwise addition of mappings, under forming the additive inverse and under functional composition. For more information we suggest Pilz:Nearrings, meldrum85:NATLWG, and Clay:Nearrings,

The algorithms used can be found in aichingereckernoebauer00:TUOCINT and aichingerea00:CWN.

The elements of a transformation nearring are given as endomappings on the group G (cf. Chapter ``Functions on groups that are not necessarily homomorphisms: EndoMappings'').

5.1 Constructing transformation nearrings

  • TransformationNearRingByGenerators( G, endomaplist )

    For a (possibly empty) list endomaplist of endomappings on a group G, the constructor function TransformationNearRingByGenerators returns the nearring generated by these mappings. All of them must be endomappings on the group G.

        gap> g := AlternatingGroup ( 4 );
        Alt( [ 1 .. 4 ] )
        gap> AsSortedList ( g );
        [ (), (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) ]
        gap> t := EndoMappingByPositionList ( g, [1,3,4,5,2,1,1,1,1,1,1,1] );
        <mapping: AlternatingGroup( [ 1 .. 4 ] ) -> AlternatingGroup( 
        [ 1 .. 4 ] ) >
        gap> m := TransformationNearRingByGenerators ( g, [t] );
        TransformationNearRingByGenerators(
        [ <mapping: AlternatingGroup( [ 1 .. 4 ] ) -> AlternatingGroup( 
            [ 1 .. 4 ] ) > ])
        gap> Size (m); # may take a few moments
        20736
        gap> IsCommutative ( m );
        false
    

  • TransformationNearRingByAdditiveGenerators( G, endomaplist )

    If a transformation nearring is known to be additively generated by a set of endomappings on a group (as for example the distributively generated nearrings E(G), A(G) and I(G)), the function TransformationNearRingByAdditiveGenerators allows to construct this nearring. The only difference between TransformationNearRingByGenerators and TransformationNearRingByAdditiveGenerators is that TransformationNearRingByAdditiveGenerators is much faster.

        gap> G := SymmetricGroup(3);;
        gap> endos := Endomorphisms ( G );
        [ [ (1,2,3), (1,2) ] -> [ (), () ], [ (1,2,3), (1,2) ] -> [ (), (2,3) ], 
          [ (1,2,3), (1,2) ] -> [ (), (1,2) ], [ (1,2,3), (1,2) ] -> [ (), (1,3) ], 
          [ (1,2,3), (1,2) ] -> [ (1,2,3), (2,3) ], 
          [ (1,2,3), (1,2) ] -> [ (1,3,2), (2,3) ], 
          [ (1,2,3), (1,2) ] -> [ (1,3,2), (1,2) ], 
          [ (1,2,3), (1,2) ] -> [ (1,2,3), (1,2) ], 
          [ (1,2,3), (1,2) ] -> [ (1,2,3), (1,3) ], 
          [ (1,2,3), (1,2) ] -> [ (1,3,2), (1,3) ] ]
        gap> Endo := TransformationNearRingByAdditiveGenerators ( G, endos );
        < transformation nearring with 10 generators >
        gap> Size( Endo );
        54
    

    5.2 Nearrings of transformations

  • MapNearRing( G )

  • TransformationNearRing( G )

    MapNearRing and TransformationNearRing both return the nearring of all mappings on G.

        gap> m := MapNearRing ( GTW32_12 );
        TransformationNearRing(32/12)
        gap> Size ( m );
        1461501637330902918203684832716283019655932542976
        gap> NearRingIdeals ( m );
        [ < nearring ideal >, < nearring ideal > ]
    

  • IsFullTransformationNearRing( tfmnr )

    The function IsFullTransformationNearRing returns true if the transformation nearring tfmnr is the nearring of all mappings over the group.

        gap> g := CyclicGroup ( 4 );
        <pc group of size 4 with 2 generators>
        gap> m := MapNearRing ( g );
        TransformationNearRing(<pc group of size 4 with 2 generators>)
        gap> gens := Filtered ( AsList ( m ), 
        >       f -> IsFullTransformationNearRing ( 
        >               TransformationNearRingByGenerators ( g, [ f ] )));;
        gap> Length(gens);
        12
    

  • PolynomialNearRing( G )

    PolynomialNearRing returns the nearring of all polynomial functions on G.

        gap> P := PolynomialNearRing ( GTW16_6 );
        PolynomialNearRing( 16/6 )
        gap> Size ( P );
        256
    

  • EndomorphismNearRing( G )

    EndomorphismNearRing returns the nearring generated by all endomorphisms on G.

        gap> ES4 := EndomorphismNearRing ( SymmetricGroup ( 4 ) );
        EndomorphismNearRing( Sym( [ 1 .. 4 ] ) )
        gap> Size ( ES4 );
        927712935936
    

  • AutomorphismNearRing( G )

    AutomorphismNearRing returns the nearring generated by all automorphisms on G.

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

  • InnerAutomorphismNearRing( G )

    InnerAutomorphismNearRing returns the nearring generated by all inner automorphisms on G.

        gap> I := InnerAutomorphismNearRing ( AlternatingGroup ( 4 ) );
        InnerAutomorphismNearRing( Alt( [ 1 .. 4 ] ) )
        gap> Size ( I );
        3072
        gap> m := Enumerator( I )[1000];
        <mapping: AlternatingGroup( [ 1 .. 4 ] ) -> AlternatingGroup( [ 1 .. 4 ] ) >
        gap> graph := List ( AsList ( AlternatingGroup ( 4 ) ),
        > x -> [x, Image (m, x)] );
        [ [ (), () ], [ (2,3,4), (1,4)(2,3) ], [ (2,4,3), (1,4)(2,3) ],
          [ (1,2)(3,4), (1,2)(3,4) ], [ (1,2,3), (1,3)(2,4) ],
          [ (1,2,4), (1,4)(2,3) ], [ (1,3,2), (1,4)(2,3) ], [ (1,3,4), (1,2)(3,4) ],
          [ (1,3)(2,4), (1,3)(2,4) ], [ (1,4,2), () ], [ (1,4,3), (1,4)(2,3) ],
          [ (1,4)(2,3), (1,4)(2,3) ] ]
    

  • CompatibleFunctionNearRing( G )

    CompatibleFunctionNearRing returns the nearring of all compatible functions on the group G. A function m:GG is compatible iff for every normal subgroup N of G and all g,hG if g and h are in the same coset of N then their images under m are in the same coset of G.

  • ZeroSymmetricCompatibleFunctionNearRing( G )

    ZeroSymmetricCompatibleFunctionNearRing returns the nearring of all zerosymmetric compatible functions on the group G. This function is also called by CompatibleFunctionNearRing.

  • IsCompatibleEndoMapping( m )

    IsCompatibleEndoMapping returns true iff m is a compatible function on its source.

  • Is1AffineComplete( G )

    A group G is called 1-affine complete, iff every compatible function on G is polynomial. Is1AffineComplete returns true iff G is 1-affine complete.

  • CentralizerNearRing( G, endos )

    CentralizerNearRing returns the nearring of all functions m:GG such that for all endomorphisms e in endos the equality m °e = e °m holds.

        gap> autos := Automorphisms ( GTW8_4 );
        [ IdentityMapping( 8/4 ), ^(2,4),
          [ (1,2,3,4), (2,4) ] -> [ (1,4,3,2), (1,2)(3,4) ],
          [ (1,2,3,4), (2,4) ] -> [ (1,2,3,4), (1,2)(3,4) ], ^(1,4)(2,3),
          ^(1,2,3,4), [ (1,2,3,4), (2,4) ] -> [ (1,2,3,4), (1,4)(2,3) ],
          [ (1,4)(2,3), (1,4,3,2) ] -> [ (2,4), (1,2,3,4) ] ]
        gap> C := CentralizerNearRing ( GTW8_4, autos );
        CentralizerNearRing( 8/4, ... )
        gap> C0 := ZeroSymmetricPart ( C );
        < transformation nearring with 4 generators >
        gap> Size ( C0 );
        32
        gap> Is := NearRingIdeals ( C0 );
        [ < nearring ideal >, < nearring ideal >, < nearring ideal >,
          < nearring ideal >, < nearring ideal >, < nearring ideal >,
          < nearring ideal >, < nearring ideal >, < nearring ideal >,
          < nearring ideal >, < nearring ideal >, < nearring ideal >,
          < nearring ideal > ]
        gap> List (Is, Size);
        [ 1, 2, 4, 2, 4, 8, 8, 16, 4, 8, 16, 16, 32 ]
    

  • RestrictedEndomorphismNearRing( G, U )

    RestrictedEndomorphismNearRing returns the nearring generated by all endomorphisms e on G with e(G) ⊆ U.

        gap> G := GTW16_8;
        16/8
        gap> U := First ( NormalSubgroups ( G ),
        >              x -> Size (x) = 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
        gap> IsDistributiveNearRing ( HGU );
        true
        gap> Filtered ( AsList ( HGU),
        >       x -> x = x * x );
        [ <mapping: 16/8 -> 16/8 > ]
    

  • LocalInterpolationNearRing( tfmnr, m )

    LocalInterpolationNearRing returns the nearring of all mappings on G that can be interpolated at any set of m places by a mapping in tfmnr, where G is the domain and codomain of the elements in tfmnr.

        gap> P := PolynomialNearRing ( GTW8_5 );
        PolynomialNearRing( 8/5 )
        gap> L := LocalInterpolationNearRing ( P, 2 );
        LocalInterpolationNearRing( PolynomialNearRing( 8/5 ), 2 )
        gap> Size ( L ) / Size ( P );
        16
    

    5.3 The group a transformation nearring acts on

  • Gamma( tfmnr )

    The function Gamma returns the group on which the mappings of the nearring tfmnr act.

        gap> Gamma ( PolynomialNearRing ( CyclicGroup ( 25 ) ) );
        <pc group of size 25 with 2 generators>
        gap> IsCyclic (last);
        true
    

    5.4 Transformation nearrings and other nearrings

  • AsTransformationNearRing( nr )

    Provided that nr is not already a transformation nearring, AsTransformationNearRing returns a transformation nearring that is isomorphic to the nearring nr.

        gap> L := LibraryNearRing (GTW8_3, 12);
        LibraryNearRing(8/3, 12)
        gap> Lt := AsTransformationNearRing ( L );
        < transformation nearring with 3 generators >
        gap> Gamma ( Lt );
        8/3 x C_2
    

  • AsExplicitMultiplicationNearRing( nr )

    Provided that nr is not already an explicit multiplication nearring (i. e. a transformation nearring), AsExplicitMultiplicationNearRing returns an explicit multiplication nearring that is isomorphic to the nearring nr.

        gap> P := PolynomialNearRing ( GTW4_2 );
        PolynomialNearRing( 4/2 )
        gap> n := AsExplicitMultiplicationNearRing ( P );
        ExplicitMultiplicationNearRing ( Group(
        [ ( 1, 2)( 5, 6)( 9,10)(13,14), ( 3, 4)( 7, 8)(11,12)(15,16), 
          ( 7, 8)( 9,10)(13,14)(15,16) ]) , multiplication )
    

    5.5 Noetherian quotients for transformation nearrings

  • NoetherianQuotient( tfmnr, target, source )

    NoetherianQuotient returns the set of all mappings t in tfmnr with t(source) ⊆ target.

        gap> G := SymmetricGroup ( 4 );
        Sym( [ 1 .. 4 ] )
        gap> V := First ( NormalSubgroups ( G ), x -> Size ( x ) = 4 );
        Group([ (1,4)(2,3), (1,3)(2,4) ])
        gap> P := InnerAutomorphismNearRing ( G );
        InnerAutomorphismNearRing( Sym( [ 1 .. 4 ] ) )
        gap> N := NoetherianQuotient ( P, V, G );
        NoetherianQuotient( Group([ (1,4)(2,3), (1,3)(2,4) ]) ,Sym(
        [ 1 .. 4 ] ) )
        gap> Size ( P ) / Size ( N );
        54
    

  • CongruenceNoetherianQuotient( P, A, B, C )

    CongruenceNoetherianQuotient returns the ideal of all those mappings in P that map every element of the group Gamma(P) into C, and maps two elements that are congruent modulo B into elements that are congruent modulo A. Input conditions: (1) P is the nearring of polynomial functions on a group G, (2) A is a normal subgroup of G, (3) B is a normal subgroup of G, (4) C is a normal subgroup of G, (5) [C,B] is less or equal to A.

        gap> G := GTW8_4;
        8/4
        gap> P := PolynomialNearRing (G);
        PolynomialNearRing( 8/4 )
        gap> A := TrivialSubgroup (G);
        Group(())
        gap> B := DerivedSubgroup (G);
        Group([ (1,3)(2,4) ])
        gap> C := G;
        8/4
        gap> I := CongruenceNoetherianQuotient (P, A, B, C);
        < nearring ideal >
        gap> Size (P/I);
        2
    

  • CongruenceNoetherianQuotientForInnerAutomorphismNearRings (I, A, B, C )

    CongruenceNoetherianQuotientForInnerAutomorphismNearRings returns the ideal of all those mappings in I that map every element of the group Gamma(I) into C, and maps two elements that are congruent modulo B into elements that are congruent modulo A. Input conditions: (1) P is the nearring of polynomial functions on a group G, (2) A is a normal subgroup of G, (3) B is a normal subgroup of G, (4) C is a normal subgroup of G, (5) [C,B] is less or equal to A.

        gap> G := GTW8_4;
        8/4
        gap> I := InnerAutomorphismNearRing (G);
        InnerAutomorphismNearRing( 8/4 )
        gap> A := TrivialSubgroup (G);
        Group(())
        gap> B := DerivedSubgroup (G);
        Group([ (1,3)(2,4) ])
        gap> C := G;
        8/4
        gap> j := CongruenceNoetherianQuotientForInnerAutomorphismNearRings (I,A,B,C);
        < nearring ideal >
        gap> Size (I/j);
        2
    

    5.6 Zerosymmetric mappings

  • ZeroSymmetricPart( tfmnr )

    ZeroSymmetricPart returns the nearring of all mappings t in tfmnr with t(0) = 0.

        gap> g := GTW8_4;
        8/4
        gap> P := PolynomialNearRing ( g );
        PolynomialNearRing( 8/4 )
        gap> Zp := ZeroSymmetricPart ( P );
        < transformation nearring with 4 generators >
        gap> InnerAutomorphismNearRing ( g ) = Zp;
        true
    

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

    SONATA manual
    December 2022