% \Chapter{Ideals, factors, and direct products of nearrings} % An *ideal* of a nearring $(N,+,*)$ is a subset $I$ such that $I$ is a normal subgroup of $(N,+)$, and for all $i \in I$, $n,m \in N$, we have $(m+i)*n - m*n \in I$ and $n*i \in I$. Ideals are in one-to-one correspondence to the congruence relations on $(N,+,*)$. A *right ideal* of a nearring $(N,+,*)$ is a subset $I$ such that $I$ is a normal subgroup of $(N,+)$, and for all $i \in I$, $n,m \in N$, we have $(m+i)*n - m*n \in I$. Right ideals are in one-to-one correspondence to the congruence relations on $(N,+, \{ \lambda_m | m \in M \} )$, where $\lambda_m (n) := n*m$. Hence, right ideals describe the congruences of the $N$-group $N_N$. A *left ideal* of a nearring $(N,+,*)$ is a subset $I$ such that $I$ is a normal subgroup of $(N,+)$, and for all $i \in I$, $n \in N$, we have $n*i \in I$. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \Section{Direct products} For all sorts of nearrings direct products $A \times B$ can be constructed. The result is again a nearring. In the case that both <A> and <B> are `TransformationNearRings', the result will be a `TransformationNearRing' acting on the direct product of the groups <A> and <B> act on. In any other case the result is an `ExplicitMultiplicationNearRing', even if one of the factors is a `TransformationNearRing'. In any case, the elements of a direct product are *not* pairs or tuples. %\beginexample % gap> M1 := MapNearRing( GTW4_2 ); % TransformationNearRing(4/2) % gap> M2 := MapNearRing( GTW8_4 ); % TransformationNearRing(8/4) % gap> D := DirectProductNearRing( M1, M2 ); % DirectProductNearRing( TransformationNearRing(4/2), % TransformationNearRing(8/4) ) % gap> Gamma( D ); % Group([ (1,2), (3,4), (5,6,7,8), (6,8) ]) % gap> Random( D ); % [ 24, 18, 19, 24, 17, 22, 23, 19, 8, 2, 3, 8, 1, 6, 7, 3, 24, 18, 19, % 24, 17, 22, 23, 19, 8, 2, 3, 8, 1, 6, 7, 3 ] on Group( % [ (1,2), (3,4), (5,6,7,8), (6,8) ]) % gap> D!.factors; % [ TransformationNearRing(4/2), TransformationNearRing(8/4) ] %\endexample % The function `Gamma' returns the group on which the % `TransformationNearRing' acts. Here the resulting nearring is % again a nearring of `GroupTransformations'. The direct factors can % be read from `D!.factors'. \beginexample gap> A := LibraryNearRing( GTW8_2, 12 ); LibraryNearRing(8/2, 12) gap> B := LibraryNearRing( GTW12_4, 13 ); LibraryNearRing(12/4, 13) gap> D := DirectProductNearRing( A, B ); DirectProductNearRing( LibraryNearRing(8/2, 12), LibraryNearRing(12/4, 13) ) gap> SetName( D, "A x B" ); gap> D; A x B \endexample In this case the result is an `ExplicitMultiplicationNearRing'. It is a good idea to give a shorter name to the nearring <D>, because we will investigate one of its ideals in the next section. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \Section{Ideals and factors} We go on with the last example of the previous section and try to compute a left ideal which is generated by two elements, namely the second and the twenty-fifth in the sorted list of elements. The {\GAP} function `list\{[ poss ]\}' constructs a list of those elements of the list `list' the position in the list `list' of which is in the list `poss'. For short, `elms\{[2,25]\}' is a list which contains the second and the twenty-fifth element of the list `elms'. \beginexample gap> elms := AsSortedList( D );; gap> gens := elms{[2,25]}; [ (( 8, 9,10)), ((3,5)(4,6)) ] gap> L := NearRingLeftIdealByGenerators( D, gens ); < nearring left ideal > \endexample Now we can start investigating <I>. We can compute its size and test if it is an ideal. \beginexample gap> Size( L ); 24 gap> IsNearRingRightIdeal( L ); true gap> L; < nearring ideal of size 24 > \endexample So <L> is a two-sided ideal with 24 elements. Now we are getting interested in <L>. Is it a maximal ideal, what is the factor <D/L>? \beginexample gap> IsMaximalNearRingIdeal( L ); false gap> F := D/L; FactorNearRing( A x B, < nearring ideal of size 24 > ) gap> PrintTable( F, "am" ); + | n0 n1 n2 n3 -------------------- n0 | n0 n1 n2 n3 n1 | n1 n0 n3 n2 n2 | n2 n3 n0 n1 n3 | n3 n2 n1 n0 * | n0 n1 n2 n3 -------------------- n0 | n0 n0 n0 n0 n1 | n0 n0 n0 n0 n2 | n0 n0 n0 n0 n3 | n0 n0 n0 n0 \endexample Here, we use `PrintTable' with a second argument, because we do not want to see all the information. Here `a' stands for addition and `m' stands for multiplication table. For more options see the reference manual. Obviously, <F> is a constant nearring on a group of order 4. The additive group of the nearring is $\Z_2 \times \Z_2$. To make this fact more obvious, we choose other names (symbols) for the elements of the nearring and print the addition table again. \beginexample gap> IsElementaryAbelian( GroupReduct( F ) ); true gap> # this would also convince us gap> IsCyclic( GroupReduct( F ) ); false gap> SetSymbols( F, ["(0,0)","(0,1)","(1,0)","(1,1)"] ); gap> PrintTable( F, "m" ); * | (0,0) (0,1) (1,0) (1,1) ----------------------------------- (0,0) | (0,0) (0,0) (0,0) (0,0) (0,1) | (0,0) (0,0) (0,0) (0,0) (1,0) | (0,0) (0,0) (0,0) (0,0) (1,1) | (0,0) (0,0) (0,0) (0,0) \endexample So <F> is the zero-ring on $\Z_2 \times \Z_2$, which is not simple, but we knew that before. Of course all this operations can be applied to all nearrings. %%% Local Variables: %%% mode: latex %%% TeX-master: "manual" %%% End: