\Chapter{Preface}

\begingroup
\def\"#1{\accent127 #1}

When working on our master's and PhD-projects in nearring theory
we hoped that we would gain more insight into the problems we worked on if
we had significant examples at hand.
For example, Erhard Aichinger wanted to find $1$-affine complete groups;
these are groups on which every unary compatible, i.e., congruence preserving, 
function
can be interpolated by a polynomial function. In other words,
a group $G$ is $1$-affine complete if the nearring $I(G)$ 
contains all functions in the nearring $C_0 (G)$ of all
zero-preserving compatible functions. 
After having written a straight-forward program to compute
all polynomial  functions on a group, which basically relied on
computing all terms and checking whether the arising functions were
equal, he found that in that way probably only the groups of
order less than 10 could be treated, and therefore abandoned
his hope to find help in computers for quite a while.

At about the same time, Christof N\"obauer was collecting a library
of *all* small nearrings; and he decided to implement his library 
into
the group-theory system GAP. Then J\"urgen Ecker started to
break rings into their subdirectly irreducible parts using GAP.

In May 1995, we realized that the problem of computing the
number of polynomial functions on a group was actually an easy
task if one used the power of computational group theory.
The easy key observation is that it is easy to compute
how big the group generated by some group elements is.
Representing the functions on $G$ as elements of $G^{|G|}$,
it is easy to compute first the generators of the group
of polynomial functions and then all polynomial functions
as the closure of these generators. This observation, albeit
strikingly easy, and of course not even original, made it 
possible to compute the number of polynomial functions on
$S_4$, which is 22 265 110 462 464, in a few seconds.
The same strategy also worked for other kinds of distributively
generated nearrings, such as $A(G)$ or $E(G)$.

At this point, we decided to make a package of our functions and
make them available to a wider community. Encouraged
by the enthusiasm of Prof.~G\"unter Pilz, and paid by 
the ``Fonds zur F\"orderung wissenschaftlicher Forschung'', we
started to bring our functions into a common form, and to
add many functions that we found useful, as e.g.\ the
computation of Noetherian Quotients, which works especially
fine for polynomial nearrings. 
We wanted to include the applications of nearring theory
to design-theory, because especially in this
field we thought that it could only be through the examination of
examples that the contribution of nearrings to this
field could be investigated. This part was then mainly carried
forward by Roland Eggetsberger and Peter Mayr. 

In the beginning of 1997, with the conference at Stellenbosch coming near,
we decided to make our programs available to nearringers
six months later. Despite of the fact that SONATA does not 
contain many new sophisticated algorithms, and therefore hardly
represents a big deal in computational nearring theory,
it uses a lot of well-established sophisticated algorithms in group theory.
We think that our real contribution is to take advantage of 
these algorithms for computing with nearrings.
Nevertheless, computational nearring theory could be interesting:
A typical problem arising in the computation of nearrings would 
be the following: Given a function on a group, how big
is the nearring generated by it? And what if we take more
than one function? And how can a given function in the 
nearring be represented by the generators? We recall
that Sim's stabilizer chains give solutions to similar
problems in the theory of permutation groups.
We think that even an answer for one function, and on special
groups,  would be delightful.

Examples of nearrings are nice; but it would be even nicer to have 
a lot of interesting examples in a small booklet. At this
point, Franz Binder joined us, and started to work on 
 a nearring table containing all nearrings up to a certain order
and giving meaningful information about each of them, such
as for example the ideal lattice with commutators in the sense
of universal algebra. 
It was when he started to work on this complete library that
the people at the Maths Department, whose printers
 we constantly fed with new nearring information, started
to give us rather strange looks, which we could not explain to
ourselves 
but as signs of starting admiration for the beauty of nearrings.

When a beta version 4 of GAP came out, we found that SONATA
should be written in this new version of GAP4. J\"urgen Ecker's
effort to translate all existing GAP3-code into GAP4 
was rewarded by the observation that many things worked much
better in GAP4 than they did before.
Just before leaving to Stellenbosch, he invented the name 
SONATA for our programs that sometimes proceed *andante*, but
at other times really rather *presto*. 

At the nearring conference in Stellenbosch in July 1997, we
showed some possibilities of our system to many people doing research in
nearring theory. Their interest in our system showed us 
that our hope that nearringers would actually use SONATA
was by no means unfounded. 

Finally, with October 1st, 1997, we give away the first version
of SONATA. We are eager to hear YOUR feedback in order 
to make SONATA nicer in all respects. 

We, the SONATA team, want to say THANK YOU to all that
have helped us in some way to realize this project:

\begingroup

\smallskip \parindent4pc \parskip 0pt
\item{-} to Tim Boykett for helping us with his expertise
        in computers and how they could be used in algebra;
\item{-} to Marcel Widi, who contributed some functions on semigroups which,
        however, somehow do not lie in the scope of the SONATA project.
\item{-} to Christof N\"obauer, who not only filled our hard disks 
        with an evergrowing number of nearrings, but also 
        worked a lot to keep our computers alive.
\item{-} to the staff at the algebra group at our department,
        and in particular to all our visitors, who have put lots
        of ideas into our heads: this includes Peter Fuchs,
        Gerhard Betsch,  Jim Clay, Carl Maxson, Gary Birkenmeier.
\item{-} to the Forschungsfonds for financing this project.

\endgroup

Needless to say, this project would never been carried out
without the encouragement and suggestions of Prof.~G\"unter Pilz.

So, what you have now is a system that conatains a library of 
all small nearrings and many functions to construct and analyze  a lot
of interesting big nearrings. 
Have fun !


Linz, 1.10.97,  the SONATA Team\*

\vfill\hrule

\noindent\llap{\*\enspace}The SONATA Team consists of

\smallskip \parindent4pc \parskip 0pt
\item{} Erhard Aichinger
\item{} Franz Binder
\item{} J\accent127urgen Ecker
\item{} Roland Eggetsberger
\item{} Peter Mayr
\item{} Christof N\accent127obauer
        
\endgroup
%%% Local Variables: 
%%% mode: latex
%%% TeX-master: t
%%% End: 
