AbstractAlgebra Rewritten for Mathematica 6

Al Hibbard

Central College
Pella, IA
hibbarda@central.edu
http://www.central.edu/eaam

Overview of AbstractAlgebra package

Pre-version 3

Initial work done in version 2 by Ken Levasseur and myself. Enough capabilities in Mathematica at this version to do significant coding for AbstractAlgebra packages. At the point, it was partitioned into 12 different packages so that the Windows version could handle it in pieces.

Coming of version 3

Doors were opened to make palettes, do notebook programming, button-driven group calculators, better documentation with the new browser.

10th anniversary conference in Chicago

The packages were more or less formally released here and the Exploring Abstract Algebra with Mathematica book came out shortly after. Look at portions of that presentation:

Version 6 - Problems

Semicolon in plot commands and other commands producing graphics

Naming and location of colors

Modifications to older package names and/or content

Change of presentation of documentation

Change of option names (e.g., DefaultFont -> BaseStyle)

Adjusting to version 6

Modifiying Mode

Recall use of Modes.

• Conflict: Graphics are no longer side-effect. Use Print? 

• Philosophy was to have Output be actual computation - mode showed various angles. New orientation needed. Plan for other options.

• Easy way to show two graphics

Needs["AbstractAlgebra`Master`"]
(* Package can be downloaded at http://www.central.edu/eaam/ 
Alternatively, view the evaluated version of this notebook.
*)

G=U[9]

U[9, Mode->Visual]

New way of handling functions with Mode:

HasIdentityQ[G]

HasIdentityQ[G, Mode->Textual]

HasIdentityQ[G, Mode->Visual]

Visual explanations

In previous version, a text cell was printed above a graph as a means of an explanation.

Convert back to Computational

HasInversesQ[G, Mode->Visual]

The following used to save the group Z[9] in the variable G2. No longer.

G2=Z[9, Mode->Visual]

G2

Combining graphical outputs

Formerly, Output->Graphics was used

Now the process is more straight forward.

gr1 = RightCosets[Z[8], {0, 4}, Mode -> Visual]

gr2 = CayleyTable[Z[4], Mode -> Visual]

Row[{gr1,gr2}]

Animations to Manipulate

Table of graphics changed to use of Manipulate

SubgroupGenerated[Z[8], 6, Mode -> Visual]

Opportunities in version 6

Grid

Note the difference between version five's use of a graphic-based Cayley table versus a grid-based version

CayleyTable[Dihedral[3],Mode->Visual, Version->5]

CayleyTable[Dihedral[3],Mode->Visual]

Tooltip

Tooltip  has been implemented in meaningful ways - try mouse over these

Options[CayleyTable]

CayleyTable[Dihedral[3],Mode->Visual,TooltipInfo->False, ShowExtraCayleyInformation->False]

SubgroupGenerated[U[15],13,Mode->Visual2]

Used also in MorphismQ - more next page

Mode → Interactive

Interactive mode has been introduced where appropriate:

U[5,Mode->Interactive]

G = FormGroupoid[{-1,0,1},Plus]

InvertibleQ[G,-1,Mode->Interactive]

OrderOfElement[D[4,Form->Permutations],{2,1,4,3},Mode->Interactive]

PreservesQ[ZMap[4,2],{2,3},Mode->Interactive]

Closure[Z[8],{2,6},Mode->Interactive, InteractiveMode->Visual]

Mode → All

Rationale for single output: All Mode. This allows all the modes to be tied together in a single pane and having one output provides for this.

Dihedral[4,Mode->All]

SubgroupQ[{1,21},U[22],Mode->All]

Evolution of FormMorphoid

Version 2

The function FormMorphoidSetup was designed with version 2.2

Version 3-5

Using the button interface available in versions 3-5, an improvement was made. This link calls upon a preliminary version of MorphismInvestigator, one of five parts of AlgebraInvestigator. Here one can click one's way through setting up a morphism by matching a list of elements in the domain to elements in the codomain. This can be found (now or soon) at the same site of the AbstractAlgebra package: http://www.central.edu/eaam.

Version 6

FormMorphoidSetup[D[4],Z[8],Mode->Interactive]