%
\Chapter{Weakly divisible nearrings}
%

Weakly divisible nearrings are currently investigated in Brescia and provide
a new class of designs different from planar nearrings.
A right nearring $(N,+,\cdot)$ is called *weakly divisible* if 
$\forall a,b\in N \exists x\in N : x\cdot a=b$ or $x\cdot b=a$.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 
\Section{Construction of weakly divisible nearrings on cyclic groups}


*The problem:* Find a wd-nearring of order 16.

*The solution:* In their paper wd-nearrings on the group of integers (mod 
$p^n$ ) Anna Benini and Fiorenza Morini presented a method how to construct
all wd nearrings with maximal nilpotent ideal on cyclic groups of prime 
power order. We simply follow their ideas starting with the cyclic group of 
order 16. Unfortunately `G' is no group of integers but presented as a pc-
group. Nevertheless a generator of `G' corresponds to `1' in $\Z_{16}$ and
the $i$-th power of the generator corresponds to `i' in $\Z_{16}$.

\beginexample
    gap> G := CyclicGroup( 16 );
    <pc group of size 16 with 4 generators> 
\endexample

Do not worry about `G' having 4 generators; the first one generates the 
whole group.

\beginexample 
    gap> g := GeneratorsOfGroup( G )[1];
    f1
    gap> Order( g );
    16
\endexample

What we need next for cooking up our wd-nearring is some automorphism group
on `G'. We feel free to choose whatever we like. Let `a7' be the 
multiplication of each group element by 7, `a9' the multiplication by 9, 
and `phi' the automorphism group generated by both.

`GroupHomomorphismByImages( <G>, <G>, <gens>, <imgs> )' returns the 
homomorphism from <G> to <G> that takes each generator in the list <gens> 
to its image in the list <imgs>.

\beginexample
    gap> a7 := GroupHomomorphismByImages( G, G, [g], [g^7] );
    [ f1 ] -> [ f1*f2*f3 ]
    gap> a9 := GroupHomomorphismByImages( G, G, [g], [g^9] ); 
    [ f1 ] -> [ f1*f4 ]
    gap> phi := Group( a7, a9 );
    <group with 2 generators>
    gap> Size( phi );
    4
\endexample

All nearring multiplications on a cyclic group can be described via a *Clay
function* and so can wd - nearring multiplications. We know how to build a
Clay function for a wd- nearring out of `phi', and some orbit representatives  
of the group elements of $\Z_{p^n}$ that are relatively prime to $p$ but not
every set of representatives is permitted. If two orbits are $p$-comparable
the representatives have to be chosen congruent mod $p$ resp. $4$ 
depending on $p$ and on the automorphism group $\Phi$.

`PComparableOrbitsRepresentatives( <G>, <phi> )' helps choosing 
representatives that fulfill all the necessary conditions. The orbits are
gathered in sets of $p$-comparable orbits while the elements of each orbit
are separated into subsets of elements congruent to each other modulo $p$ 
resp. $4$. All we have to do find a a permissible set of representatives is
to choose in each set of $p$-comparable orbits one element of the $i$-th 
subset.

\beginexample
    gap> Orbits( phi, G );
    [ [ <identity> of ... ], [ f4 ], [ f3, f3*f4 ], [ f2, f2*f3*f4 ], 
      [ f2*f4, f2*f3 ], [ f1, f1*f2*f3, f1*f4, f1*f2*f3*f4 ], 
      [ f1*f3, f1*f2, f1*f3*f4, f1*f2*f4 ] ]
    gap> pcreps := PComparableOrbitsRepresentatives( phi, G );
    [ [ [ [ f1, f1*f4 ], [ f1*f2*f3, f1*f2*f3*f4 ] ], 
          [ [ f1*f3, f1*f3*f4 ], [ f1*f2, f1*f2*f4 ] ] ] ]
    gap> Length( pcreps );
    1
    gap> c := pcreps[1];
    [ [ [ f1, f1*f4 ], [ f1*f2*f3, f1*f2*f3*f4 ] ], 
      [ [ f1*f3, f1*f3*f4 ], [ f1*f2, f1*f2*f4 ] ] ]
    gap> o1 := c[1];
    [ [ f1, f1*f4 ], [ f1*f2*f3, f1*f2*f3*f4 ] ]
    gap> o2 := c[2];
    [ [ f1*f3, f1*f3*f4 ], [ f1*f2, f1*f2*f4 ] ]
\endexample

There are two orbits `o1', `o2' containing 4 group elements relatively
prime to 2 each. As there is only one class `c' of $p$-comparable orbits,
`Length( pcreps )'$=1$, these two orbits are $p$-comparable. We can either
choose one representative out of the first or second subset of each orbit.
We don't mind and take them from the second class. Let `e' be some choice
element among our representatives in `reps'.

\beginexample
    gap> r1 := o1[2][1];
    f1*f2*f3
    gap> r2 := o2[2][2];
    f1*f2*f4
    gap> reps := [ r1, r2 ];;
    gap> e := r1;;
\endexample

By now we have all we need to define a Clay function for a wd - nearring on
`G'. We got an automorphism group `phi', orbit representatives `reps', which
fulfill the necessary conditions, with one distinguished element `e' among 
them. First we generate the Clay function `pi' out of these and then a wd -
`ExplicitMultiplicationNearRing' out of `pi'.

\beginexample
    gap> pi := ClayFunctionForWdNearRing( G, phi, reps, e );
    function( a ) ... end
    gap> nr := NearRingOnCyclicGroupByClayFunction( G, pi );
    ExplicitMultiplicationNearRing ( <pc group of size 16 with 
    4 generators> , multiplication )
\endexample

`NearRingOnCyclicGroupByClayFunction' returns a nearring for all kind of
Clay - functions on a cyclic group although in general this won't be a wd -
nearring.
    
%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "manual"
%%% End: 
