Computational Tools for Group Theory

Program for the Generation, Identification, and Analysis of Finite Groups

Thesis by Jeffrey Barr

Presented to the Faculty of San Diego State University

Spring 2005


This web site is a repository for my thesis and all of the work created and presented to the faculty.  The work was performed over a one year period while a graduate student in the Computer Science department of San Diego State University (SDSU).  I defended the thesis at the end of April 2005 and graduated the following May.  I have been working in the high tech industry since 1993 after graduating from Cornell University with a Bachelors of Science degree in Mechanical Engineering.

My work on this thesis resulted in a program that could be used to generate, identify, and analyze finite groups presented in the form of a Cayley Table as well as visualize the groups that are generated.  The abstract of the thesis is located here including a lot of links to some basic group theory definitions.

The code can be tried here.  The code requires that Java 2, Edition 5.0 is installed as the run-time engine on your system.  One can also use the code as a teaching tool to allow introductory group theory students to better understand what a group is as well as visualize the differences between groups and perform some simple analysis of the groups that are input and/or generated.

The entire thesis is located here.

The presentation for my oral defense is located here.

The JavaDoc for the code is located here.

A zip file containing the source code, including the Netbeans project files, is located here.  I have released the code under the GNU General Public License (GPL).


Useful Links:

Dog School of Mathematics:  This site provides a good introduction to basic group theory for those just starting out.

Groups15 and Groups32:  This site provides information and visualization tools for groups of order 1-32.  There are two programs available. Groups15 is a Java applet for displaying all the finite groups of order 1-15.  Groups32 is an application that provides information about finite groups of order 1-32 and is available via telnet.  I found both programs very interesting.

Groups of Small Order:  This site provides the list of all groups of order 1-31, including some Cayley Tables and characteristics of some of the groups.

The MOD-2 Cohomology of 2-Groups:  An advanced group theory site that gives links to all of the finite groups of order 2n where 1 < n < 7.

Wikipedia: A lot of basic information and definitions of terms used throughout my thesis.

Labor Law Encyclopedia:  Surprisingly enough, this site has an excellent section of definitions and explanations of many mathematic concepts and areas of focus.

Permutation Generator: Java code used in a side project I describe in my thesis to analyze the creation of groups by brute force.

© Copyright 2005 Jeffrey Barr