%
\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: 
