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

On October 1st, 1997, we gave away the first version of SONATA.  In
January 2002, finally, we were able to submit SONATA for refereeing as
a GAP4 share package.

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 Roland Eggetsberger for his ideas about planar nearrings and
        designs;
\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 running;
\item{-} to Markus Hetzmannseder for administrating our computers and
        keeping our GAP installation alive and up-to-date for the
        last few years;
\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, Wen-Fong Ke, Carl Maxson,
        John Meldrum, Gary Birkenmeier;
\item{-} to the Austrian ``Fonds zur F\"orderung der wissenschaftlichen
        Forschung''(FWF) for supporting SONATA via the grants P11486-TEC
        and P12911-INF.

\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 contains a library of 
all small nearrings and many functions to construct and analyze  a lot
of interesting big nearrings. 
Have fun !


Linz, 16.1.02,  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{} Peter Mayr
\item{} Christof N\accent127obauer
        
\endgroup
%%% Local Variables: 
%%% mode: latex
%%% TeX-master: t
%%% End: 
