Overview of AbstractAlgebra
Although Mathematica (published by Wolfram Research, Inc.) is a great Computer Algebra System, it is noticeable that there is no functionality within the off-the-shelf package to work with structures in abstract algebra. Our project, Exploring Abstract Algebra with Mathematica (EAAM), was designed to fill this void. First, we have programmed a Mathematica package to enable one to work with abstract algebraic structures. This package is called AbstractAlgebra (and it requires having Mathematica available). This page contains more information about this package.
Second, we have written a series of labs (for groups, rings and fields, and morphisms between such structures), based on the package, that can be used in an abstract algebra course. Third, we have written a user's guide (documentation) to illustrate how the package can be used and extended. These last two components also make up a book published by TELOS/Springer-Verlag (entitled Exploring Abstract Algebra with Mathematica) and can be used to supplement any abstract algebra book. More information on the book can be found at other places at this site, starting at the main EAAM menu item. The package and the electronic documentation are freely available and can be downloaded from this site; samples of the labs are also available here.
Currently, the package is capable of handling many of the types of objects encountered in a first-year undergraduate abstract algebra course. This includes working with (finite) groups, rings, fields, and morphisms and functions related to each of these objects. There are a large number of built-in groups (including such standard groups as Zn, Un (units of Zn), Sn, and Dn, as well as direct products and quotients of these) and rings (including Zn, Boolean rings and lattice rings, as well as polynomial, matrix and function extension rings). One can also create functions between groups or rings and investigate if these are morphisms.