Systems related to Group Theory

GUAVA: A Computer Algebra Package for Coding Theory

Juriaan Simonis

November 8, 1994


What is GUAVA?

GUAVA is a share library package that implements coding theory algorithms. It has been developed by Reinald Baart, Jasper Cramwinckel and Erik Roijackers at Delft University of Technology and RWTH Aachen. Almost all of GUAVA has been written in the GAP language. GUAVA is distributed together with GAP.

What is GAP?

GAP (Groups, Algorithms, and Programming) is a powerful computer algebra system designed for doing computations with algebraic structures like groups, finite fields, vector spaces etc.. It has been created at the Lehrstuhl für Mathematik, RWTH Aachen. GAP is freely obtainable by anonymous ftp from (internet number If you get GAP, the authors would like to be notified, e.g. by means of a short e-mail to

Features of GUAVA

An important data type in GAP is a ''record'', and the basic object in GUAVA is the ''code record''. A code record contains several components that give information about the code. Some of these components, like name, basefield and size, are mandatory. Other components, like minimumDistance, weightDistribution, coveringRadius and isSelfDualCode, are created in the course of a session and contain knowledge about the code. The use of these code records has proven to be very versatile.

The functions within GUAVA can be divided into four categories:

Speed considerations

The most important parameter of a code is its minimum distance. To increase speed in the binary case, the code vectors are converted into Boolean lists (Blists). Then the distance of two vectors can be calculated by means of the (very fast) XOR instruction. In the linear case, a considerable improvement of the minimum distance canculation is obtained by taking advantage of the weight ordering of the information vectors. All this results in a calculation speed that is usually vastly superior to the speed of the commercial package MAGMA.

The future of GUAVA

The following features are planned to be incorporated in GUAVA in the near future:

Special Purpose Systems

Last updated: March 14, 1995