Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/pkg/sonata/doc/ref/   (Algebra von RWTH Aachen Version 4.15.1©)  Datei vom 23.8.2025 mit Größe 14 kB image not shown  

Quelle  tfmnr.tex   Sprache: Latech

 
%
\Chapter{Transformation nearrings}
%

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 \cite{Pilz:Nearrings}, \cite{meldrum85:NATLWG},
and \cite{Clay:Nearrings},

The algorithms used can be found in
\cite{aichingereckernoebauer00:TUOCINT} and \cite{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'').


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{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>.

\beginexample
    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
\endexample

\>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
`Trans\-formation\-NearRing\-By\-Additive\-Generators' allows to
construct this nearring. The only difference between
`TransformationNearRingByGenerators' and
`Trans\-formation\-NearRing\-By\-Additive\-Generators' is that
`Trans\-formation\-NearRing\-By\-Additive\-Generators' is much faster.

\beginexample
    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
\endexample

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Nearrings of transformations}


\>MapNearRing( <G> )

\>TransformationNearRing( <G> )

`MapNearRing' and `TransformationNearRing' both return the nearring of all
mappings on <G>.

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

\>IsFullTransformationNearRing( <tfmnr> )

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

\beginexample
    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
\endexample

\>PolynomialNearRing( <G> )

`PolynomialNearRing' returns the nearring of all polynomial functions on .

\beginexample
    gap> P := PolynomialNearRing ( GTW16_6 );
    PolynomialNearRing( 16/6 )
    gap> Size ( P );
    256
\endexample
    
\>EndomorphismNearRing( <G> )

`EndomorphismNearRing' returns the nearring generated by all endomorphisms
on <G>.

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

\>AutomorphismNearRing( <G> )

`AutomorphismNearRing' returns the nearring generated by all automorphisms
on <G>.

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

\>InnerAutomorphismNearRing( <G> )

`InnerAutomorphismNearRing' returns the nearring generated by all inner
automorphisms on <G>.

\beginexample
    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) ] ]
\endexample

\>CompatibleFunctionNearRing( <G> )

`CompatibleFunctionNearRing' returns the nearring of all compatible functions
on the group <G>. A function $m:G \rightarrow G$ is compatible iff for every normal
subgroup $N$ of $G$ and all $g,h \in G$ 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:G \rightarrow G$ such that for all endomorphisms $e$ in <endos> the
equality $m \circ e = e \circ m$ holds.

\beginexample
    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 ]
\endexample

\>RestrictedEndomorphismNearRing( <G>, <U> )

`RestrictedEndomorphismNearRing' returns the nearring generated by all
endomorphisms $e$ on $G$ with $e(G) \subseteq U$.

\beginexample
    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 > ]
\endexample
 
\>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>.

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

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{The group a transformation nearring acts on}

   
\>Gamma( <tfmnr> )

The function `Gamma' returns the group on which the mappings of the
nearring <tfmnr> act.

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


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{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>.

\beginexample
    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
\endexample

\>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>.

\beginexample
    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 )
\endexample


%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Noetherian quotients for transformation nearrings}


\>NoetherianQuotient( <tfmnr>, <target>, <source> )!{for transformation nearrings}

`NoetherianQuotient' returns the set of all mappings $t$ in
with $t(`source') \subseteq `target'$.

\beginexample
    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
\endexample

\>CongruenceNoetherianQuotient( <P>, <A>, <B>, <C> )!{for nearrings of polynomial functions}

`CongruenceNoetherianQuotient' returns the ideal of all those mappings in

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.
\beginexample
    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
\endexample

\>CongruenceNoetherianQuotientForInnerAutomorphismNearRings (<I>, <A>, <B>, <C> )!{for inner automorphism nearrings}

`CongruenceNoetherianQuotientForInnerAutomorphismNearRings' returns the ideal of all those mappings in 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.
\beginexample
    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
\endexample

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\Section{Zerosymmetric mappings}


\>ZeroSymmetricPart( <tfmnr> )!{for transformation nearrings}

`ZeroSymmetricPart' returns the nearring of all mappings $t$ in
        <tfmnr> with $t(0) = 0$.

\beginexample
    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
\endexample


%%% Local Variables: 
%%% mode: latex
%%% TeX-master: t
%%% End: 








Messung V0.5
C=94 H=98 G=95

¤ Dauer der Verarbeitung: 0.11 Sekunden  (vorverarbeitet)  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

Beweissystem der NASA

Beweissystem Isabelle

NIST Cobol Testsuite

Cephes Mathematical Library

Wiener Entwicklungsmethode

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.