This thesis describes the refinement and extension of code that was originally developed as part of a 1987 Math 797 project by David Gibbs, “Computer Generation and Identification of Groups of Order 2 to 31.” The purpose of the code was to generate, identify, and analyze finite groups presented in the form of a Cayley Table. Gibbs’ code was transferred from Pascal to Java. Objects were created to improve the code design and allow for better interaction between the generation, identification, analysis, and visualization sections of code.
The code for this thesis allows cyclic groups to easily be generated, along with groups created via defined relationships and the cross product of multiple groups. All groups discussed in this thesis are finite groups. A user interface was added to the system to assist the user when utilizing the code as well as visualizing the groups that are generated. Functionality to allow a user to manually enter a Cayley Table for analysis was also added to the system.
The generation code is no longer limited to groups of order less than 31. Improvements were made to the identification code so that the system can identify all finite Abelian groups including those created via the cross product of groups. Additionally, many non-Abelian groups of order 32 were added to the list of groups which could be identified.
Analysis functionality was added including the identification of whether a table actually represents a group as well as if the group is Abelian. Also, functionality was added to calculate the inner automorphism group of the group being displayed. The analysis functionality will provide users the ability to analyze groups that the code cannot yet identify.