A Tour Through the AbstractAlgebra Packages

What is AbstractAlgebra?

AbstractAlgebra is a collection of Mathematica packages to enable one to work with concepts from abstract algebra, including groups, rings, fields, and morphisms. In particular, an emphasis is made to create an environment in which the packages can also be suitable for pedagogical purposes. To this end, many functions have a Textual mode (providing information about the function call) and a Visual mode (providing a graphic to illustrate a concept), in addition to the default Computational mode.

What is Exploring Abstract Algebra with Mathematica?

The packages in AbstractAlgebra form the foundation for a series of 14 group labs and 13 ring labs designed to help students conceptualize abstract algebra. These are combined with documentation for AbstractAlgebra in a book entitled Exploring Abstract Algebra with Mathematica (EAAM) published by Springer Verlag (fall/winter 1998).

Who are the authors?

Al Hibbard (Central College)
hibbarda@central.edu 
http://www.central.edu/homepages/hibbarda/hibbard.html

Ken Levasseur  (UMass-Lowell)
Levasseuk@woods.uml.edu
http://www.uml.edu/Dept/Math/LevasseuK.html

Summary of packages' capabilities

Currently, the packages are 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 (Subscript[ℤ, n]), (Subscript[U, n]) (units of (Subscript[ℤ, n])), (Subscript[S, n]), (Subscript[D, n]), as well as direct products and quotients of these) and rings (including (Subscript[ℤ, n]), Boolean rings and Lattice rings, as well as polynomial, matrix and function extension rings). One can also create functions (Morphoids) between groups or rings and investigate if these are morphisms.

Below is an abbreviated list of the functions in these packages (with many of the names being self-documenting as to the functionality).

AbelianQ, Adjoin, Alternating, Annihilator, Associates, AssociativeQ, Automorphism, BooleanRing, CartesianProduct, CayleyTable, Centralizer, Characteristic, ClosedQ, Closure, Commutators, CommutatorSubgroup, ConjugacyClass, Cosets, Cyclic, CyclicGenerators, CyclicQ, DiagonalMatrices, Dihedral, DirectProduct, DisjointCyclesQ, ElementQ, Elements, ElementToPower, EvenPermutationQ, ExtensionDegree, FieldQ, FormGroupoid, FormGroupoidByTable, FormGroupoidFromCycles, FormMorphoid, FormRingoid, FormRingoidByTable, FromCycles, GaussianIntegerQ, GeneralLinear, GenerateGroupoid, GF, GroupCenter, GroupExponent, GroupIdentity, HasIdentityQ, HasInversesQ, HasZeroQ, HermitianQ, HomomorphismQ, IdealQ, Idempotents, InducedIsomorphism, InjectiveQ, InnerAutomorphism, InnerAutomorphismGroup, Inverses, IsomorphismQ, Kernel, Klein4, LeftIdentity, LeftInverse, ModpIrreducibilityQ, MorphismQ, Morphoid, MorphoidComposition, MultiplicativeGroupoid, MultiplyCycles, MultiplyPermutations, NegationOf, NilpotentQ, Nilpotents, NonAssociatingTriples, NonCommutingPairs, Normalizer, NormalQ, Orbit, OrderOfElement, Orders, Parity, PermutationInverse, Poly, PolynomialEvaluation, PolynomialsUpToDegreeN, PrimeIdealQ, PrimitivePolynomials, PrincipalIdeal, ProperSubsetQ, QuaternionGroup, QuotientGroup, QuotientRing, RandomElement, RandomElements, RandomMatrix, RandomPermutation, RightCoset, RightCosets, RootsOfUnity, SemiGroupQ, SkewSymmetricQ, SpecialLinear, Stabilizer, SubgroupGenerated, SubgroupQ, SubringQ, SubsetQ, SurjectiveQ, Symmetric, TableOfPowers, ToCycles, ToOrdinaryPolynomial, ToTranspositions, TwistedZ, U, UnitQ, Units, Visual2, VisualizeMorphoid, WithUnityQ, Z, ZdNorm, ZeroDivisorQ, ZeroDivisors, Zeros

In addition,  the following standard functions (including others) have been extended for working with matrices and polynomials over general rings:

Det, Dot, MatrixPower, PolynomialDivision, PolynomialGCD, PolynomialLCM, PolynomialQuotient, PolynomialRemainder, Solve

Titles of labs in EAAM

Group labs:
1. Using symmetry to uncover a group, 2. Determining the symmetry group of a given figure, 3. Is this a group?, 4. Let's get these orders straight!, 5. Subversively grouping our elements, 6. Cycling through the groups, 7. Permutations,  8. Isomorphisms, 9. Automorphisms, 10. Direct Products, 11. Cosets, 12. Normality and Factor groups, 13. Homomorphisms,  14: Rotational groups of regular polyhedra

Ring labs:
1. An Introduction to Ringoids and Rings,  2. An Introduction to Rings: part two,  3. An ideal part of rings,  4. What does \(TraditionalForm
      \`ℤ[i]/
        ⟨a + b\ i⟩\) look like?,  5. Ring homomorphisms,  6. Polynomial rings,  7. Factoring and irreducibility,  8. Roots of unity,  9. Cyclotomic polynomials,  10. Quotient rings of polynomials,  11. Quadratic field extensions,  12. Factoring in ℤ[(Sqrt[d])],   13. Finite Fields

Want more information?

If you go to the EAAM homepage (http://www.central.edu/eaam.html), you will find additional information (including the Mathematica packages, sample labs, and additional illustrations.