Introduction to the PascGalois JE Applets

So what is PascGalois JE? The PascGalois project was started in the late 1990's as a new and innovative way to visualize concepts in an introductory abstract algebra course, primarily group theory. Although this is still its main function the project has branched out into areas of number theory, discreet mathematics, dynamical systems and combinatorics. In 2004, the software was totally rewritten in Java so that it could run on any operating system, not just Windows. Furthermore, we revamped the user interface to make the program easier to use and built a rule-based calculation engine so that the program will support more types of group structures. Since the first release of PascGalois JE we have revised the user interface several times and have added many new features, such as three-dimensional viewing of two-dimensional automata, advanced element counting, generalized update rule input, and probability density graphing of two-dimensional automata.

As with any program, when you add more and more options the user interface gets more complicated and the ease of use decreases. We have tried to make this program as easy to use a possible by using a tabbing system. Although we still use the program for our first course in abstract algebra you may feel that the PascGalois JE program has become more of an undergraduate research tool instead of a teaching tool. This is why we have also constructed a series of easier to use applets. The applets restrict the options that the user has and as the series progresses the applets introduce new options at each stage. By the end of the series the user has used most of the facilities on the PascGalois JE program.

So which should you use? The sequence of written labs we have constructed use the PascGalois JE program and the sequence of web-based labs embed the applets in the lab itself. So if you want to use the full set of features from the start you should use this sequence of labs with the PascGalois JE program. On the other hand, if you are finding the PascGalois JE program too cumbersome to use you should use our web-based sequence of labs. There are a few things you should note about the applets. First, each of the applets have corresponding applications that can be downloaded from our web site. Second, applets can not access the user's hard drive nor can they access the computer clipboard. This means that if you use the applets you will not be able copy images to a word processor nor will you be able to save the current settings of the program. So if you are writing up a lab report and using the PascGalois JE program you will be able to transfer images and information over to your word processor. On the other hand, if you are using the web-based labs with the applets the only way to transfer the image to your word processor is to open the the applet in full screen mode and do a screen capture (Alt+PrintScreen in Windows) and then paste this into your word processor.

So what does it do? It graphs one and two-dimensional cellular automata over finite group structures. Here is an easy example of a one-dimensional cellular automaton. Consider Pascal's triangle and its construction using the "adding the two entries above" rule. That is, put 1's down the diagonals and for each entry inside the triangle add the two entries above it. You will get the following,

Another way to think about this is to consider the first row (the single 1) as a starting point (or seed) with 0's going out infinitely in both directions. That is,
...    0     0     0     1     0     0     0     0     0    ...
In the language of cellular automata we call this time-step 0. The next row, or time-step 1, is taken from the first row by adding each two consecutive entries together, obtaining
...    0     0     0     1     1     0     0     0     0    ...
we do it again for time-step 2,
...    0     0     0     1     2     1     0     0     0    ...
time-step 3,
...    0     0     0     1     3     3     1     0     0    ...
time-step 4,
...    0     0     0     1     4     6     4     1     0    ...
and so on.

Now we will go a little further, we will take each of the entries mod a particular number n. For example, let n = 3, generate Pascal's triangle and then mod each entry by 3.

You should note that this is exactly the same as if were were to generate Pascal's triangle using addition mod 3. That is, start with your seed of

...    0     0     0     1     0     0     0     0     0    ...
Now do the addition rule but after each addition take the result mod 3. For time-steps 1 and 2 it makes no difference we still get
...    0     0     0     1     1     0     0     0     0    ...
and
...    0     0     0     1     2     1     0     0     0    ...
Now for time-step 3 we have,
...    0     0     0     1     0     0     1     0     0    ...
and time-step 4,
...    0     0     0     1     1     0     1     1     0    ...
and so on. The point is that we are still constructing Pascal's triangle we are just using the group operation of Z3 instead of addition (which is the group operation of Z).

Yes, we are going yet another step further. Numbers are nice but in this form it is a bit difficult to see patterns. So what we will do now is color each entry of the triangle a color that corresponds to the group element. If we color 0 red, 1 black and 2 green and graph about 100 rows or time-steps we get the following image.

Clearly we have some structure here. What you will see in this sequence of labs is that these triangles can hold far more information about the structure of the group.

The PascGalois Project and the PascGalois JE program derive their names from Pascal and Galois since the first visualizations were using Pascal's triangle with group theoretic operations (the Galois portion of the name). The PascGalois JE program is capable of producing automata using many other group structures as well as other seeds and update rules, it is not restricted to Pascal's triangle. For this lab we will stick to Zn and Pascal's triangle.

Before going into the software let's get a feel for what it is doing. Your first assignment is to create some of these triangles by hand.

Exercises:

  1. By hand generate the first 10 rows of Pascal's triangle.
  2. By hand generate the first 10 rows of Pascal's triangle, mod 2.
  3. By hand generate the first 10 rows of Pascal's triangle, mod 3.
  4. By hand generate the first 10 rows of Pascal's triangle, mod 4.
  5. By hand generate the first 10 rows of Pascal's triangle, mod 5.
  6. By hand generate the first 10 rows of Pascal's triangle, mod 6.
  7. For each of the triangles mod 2, 3, 4, 5 and 6, above use different colors to color in the triangle. We have constructed an empty triangle to help make this easier. We would suggest using some type of painting program to fill in the triangles and then copy anf paste the result into your lab report. Note that you should only color the triangles that point upward.

An Introduction to the First Applets

To get you started we are going to look at just the first sequence of applets. The first applets are restricted to graphing one-dimemsional automata using the Pascal's triangle update rule over only one class of groups. So they will create images like the one above but for a specific group. For example, the applet to the right will graph the one-dimemsional automata over Zn. There are other applets that will use Dn, Sn, .... The applets in this series have facilities for color scheme alteration, zooming and element counting. When we embed an applet into the labs we will usually have links to a full screen version and the help system for the applet. The full screen versions will open the applet up in another window that is resizeable so you can enlarge the viewing area. Furthermore, you may wish to use the full screen mode to copy and paste images from the applets into your lab reports. You can also click the full screen link several times to open several of these applets at once.

Some basics about triangle generation

We are going to start out with Pascal’s triangle modulo 2, 3, 4, 5 and 6.

    Zn Applet
  1. Since this applet graphs Zn we need to input the value of 2 for n. At the top of the applet you will see an "n =" box simply input a 2 into this box. (2 is the default entry so you will probably not need to do anything here)
  2. We also need to give the program seed values. This series of applets uses a default of two seeds, mainly because most of the groups encountered in an introductory abstract algebra course have either one or two generators. We can force the program to use only one seed by leaving one of the seed entries blank. So to start with a seed of 1 (like our examples above) we would put a 1 in one of the seed boxes and leave the other box blank. Change the seed entries so that there is a 1 in one box and nothing in the other.
  3. The number of rows tells the program how many rows (or time-steps) of the automaton should be generated after the seed row. So if this is set to 100 the image will actually contain 101 rows. We will leave this entry at 100.
  4. The creation and graphing of one of these triangles can be a little time consuming if there are a large number of rows to create, so when we wrote the software we did not have the automaton regraph every thime a change was made. So to create or update an image you must click the Refresh/Apply tool button in the upper right corner of the applet. Try this. Notice that the image appears in the box on the left and the color correspondence in the box on the right. Also note that the division bar between these two boxes is movable.
  5. Change the number of rows to 9 and regraph the image. Compare this image with your mod 2 Pascal’s triangle.
  6. Move your mouse over the image and notice what appears in the status bar at the bottom. The program tells you what location the element is in as well as what the element is. Furthermore, if you hover over a location for a second or two a tool tip will appear with the same information.
  7. Change n to 3 and regraph the image. Compare this image with your mod 3 Pascal’s triangle. Do the same with n set to 4, 5 and 6.
  8. Now set the number of rows to 200 and regraph the images with n set to 2, 3, 4, 5 and 6. Do you notice any patterns? If so, how would you describe them?

Some basics about colorings

Often our choice of coloring affects the type and/or amount of structure we observe in Pascal’s and other related triangles. We will see that altering the colors often reveals hidden structure in the images.

When you generate a triangle the program will use the default color settings and color each element a unique color (up to 60 elements and then it rotates the color scheme). The program allows you to change the color of any element as well as group sets of elements together with the same color. We will look at a few examples below. There is also a feature where you can drag and drop colors from one window to another. Unfortunately, with the applets you will not be able to save your color schemes since applets do not have access to the user's hard drive. The PascGalois JE application does have the ability to save and load the color schemes that you create.

  1. Generate Pascal’s triangle modulo six, keep the number of rows at the default 100.
  2. Just to see how to change the color of an individual color do the following. Double-click the element 3 either on the image or the element list. At this point the color chooser dialog box will appear. Select a purple color and click OK. You will notice that the color has changed in the color correspondence box. Now click the Refresh/Apply toolbar button. Notice what happened to the triangle image.
  3. To reset the colors to the default scheme select the Colors > Reset to Default Color Scheme in the menu.
  4. Now we will highlight colors. Select both 3 and 5 from the color correspondence. To select multiple items simply hold down the Control key and click all the items of interest. Now select Colors > Highlight Elements from the menu. You will notice that the elements that were selected are now colored red and the other elements are black. Let’s change these colors before refreshing the image. Double-click either the 3 or the 5 and select the color yellow. Now double-click any of the black colors and select a gray color. Notice that all of the colors in the respective groups changed when you made a single change. This is because the elements are now linked together. The 3 and 5 are considered a set and the 0, 1, 2 and 4 are a set. Refresh the image.
  5. To ungroup the colors select Colors > Reset to Default Color Scheme from the menu and refresh the image.
  6. We will use another type of color grouping, subset grouping. In the color correspondence window select the numbers 0 and 3. Select Colors > Group Elements from the menu. Note that 0 and 3 are now the same color. Now select 1 and 4 and then select the Colors toolbar button followed by Group Elements. Finally select 2 and 5 followed by the Colors toolbar button and then Group Elements. Refresh the graph.
  7. Reset the colors to the default scheme and refresh the image.
  8. You can also use the PascGalois triangle itself to select colors. Put the mouse over a section of red (the element 0) and double click. The color selector will appear for the element 0. Select a different color and click OK. Note that the new color is in the color correspondence box. Refresh the image to see the new triangle.
  9. Another way to change an element’s color is to right-click on the element either in the color correspondence box or on the image and a small popup menu will appear with two options, Set Element Color and Set Element Color to Transparent. If you select the transparent option the color box will simply be a rectangle with an X through it. Refresh the image to see the change. You can also change the background color by selecting Colors > Set Background Color.
  10. A few other things to note about color changes. There are several other grouping options under the Colors menu, we will use these in later labs. Also, there are options to undo and redo color scheme changes. The program will keep up to 20 changes for each color scheme. There are also facilities to add, remove and rename color schemes. If you do add color schemes you can select the different color schemes using the drop-down selector over the color scheme window.

Some basics about zooming

  1. If you don’t have Pascal’s triangle modulo six on the screen please regenerate it, keep the number of rows at the default 100.
  2. Select Zoom > Zoom In from the menu. Notice that the mouse pointer has changed when you are in the triangle window. Click somewhere inside the triangle. Click several more times to see what happens.
  3. Select Zoom > Zoom Out from the menu. Notice that the mouse pointer has changed again. Click somewhere inside the triangle. Click several more times to see what happens.
  4. Select Zoom > Reset Zoom to Full View from the menu. Notice that the mouse pointer has not changed but the triangle has zoomed out to its fullest.
  5. Select Zoom > Turn Off Zoom from the menu. Notice that the mouse pointer has changed back to its default.
  6. The default zoom is 2X. This can be changed by selecting Zoom > Zoom Factor from the menu followed by the desired zoom factor.
  7. Select Zoom > Zoom Box from the menu.
  8. Click and drag over a portion of the triangle. Note that the area will be shaded. Release the mouse button and the program will zoom in on the selected portion. The program may need to alter the bounds of the selection but you will get at least what you selected.
  9. If you are in the process of zooming with the Zoom Box feature and notice that your area is not what you want you can cancel the zoom by pressing the right mouse button before releasing the left button. Give this a try.
  10. Reset the zoom to full view and turn the zooming off.
  11. There are also facilities to undo and redo zooms. The program will keep a maximum of 50 zooms in memory.

Some basics about element counting

These applets also have a feature for counting the number of elements within a given selected region. This option was put in mainly for fractal dimension explorations in a dynamical systems course. We will not be using this feature in our sequence of abstract algebra labs so we will not go into this feature. If you are interested in fractals and fractal dimension please read the section on counts in the help system.

Other applets in this first series

The applet above was for generating triangles over Zn. We also have applets in this first seires to generate applets over Un (the integers under multiplication mod n), Zn X Zm (the Cartesian product of Zn and Zm both under addition) Dn (symmetry group for a regular n-gon), Q (the Quaternions), Sn (group of permutations on n letters), Qn (generalized Quaternion groups) and Cn (the dicyclic group). These applets have the same features as the Zn applet, the only difference is in the notation for the seed values. For a detailed description of the element notation for these applets please see the help system for the applet.

An Introduction to the Other Applets

As we pointed out in the introduction there are a sequence of applets that keep adding more and more features. As the labs progress we will be using these applets. We have a general applet page on this site that lists all of the applets but we will give a quick description of the features of them here.

  1. The Single Group Viewers. These are the ones in this first series. They are restricted to a single class of groups and the Pascal's triangle update rule. They have options for zooming, color manipulation and element counting.
  2. Viewers with Group and Seed Options. There are two applets here one the uses two seed values and one that uses a seed table. They both add a group selection facility so that you can select the class of group you wish to work with. Hence you do not need two seprate applets to work with two different groups. The group selection also adds two types of groups not found in the first series. One is a user defined structure where the user can input their own group structure using an operation table. Actually, the operation table does not even need to define a group. The other is an advanced group input which allows the user to input any Cartesian product or quotient group that can be derived from the built-in group structures or the user input structures. The applet that uses two seed values is just like the first series and the seed table applet allows the user to input more than one or two seed values. The update rule for these applets is still the Pascal's triangle update rule and they have all of the other options that the first series has.
  3. Viewers with Group, Seed and Update Rule Options. There are two applets in this group as well. The first has all of the options of the seed table applet above but adds the ability to graph finite automata as well. The second adds on to this by allowing the user to change the update rule.
  4. Viewers with Full Options. There are three applets in this group. These have almost all of the options that the PascGalois JE application has to offer. Some things that PascGalois JE will do but these applets will not are three-dimensional viewing of two-dimensional automata and advanced counting of sub-triangles and sub-pyramids. The three applets in this group are the 1-D Automaton Viewer, the 2-D Automaton Viewer and the 1-D and 2-D Automaton Viewer. The 1-D Automaton Viewer graphs only one-dimensional automata (like all of the previous applets) but it adds an advanced counting, period and death calculation facility as well as a group calculator. The 2-D Automaton Viewer is for the creation of two-dimensional automata over finite groups. It has many of the same features as the 1-D Automaton Viewer but will graph levels (or time-steps) of two-dimensional automata.
  5. Superimposer. This applet is a specilaized applet that is used in one of the Abstract Algebra labs.
  6. Group Calculator. This applet is simply a group operation calculator with the added features of subgroup generation and coset generation.