PascGalois JE Help: Introduction to the PascGalois JE Program


The PascGalois JE program is a multiple document interface (like a word processor) with standard file and window operation facilities. Each of the internal (or child) windows contains all of the information and facilities needed to explore an automaton, as well as some other group theoretic concepts. Each of the options and facilities will be discussed in more detail in their own section. We will simply hit the highlights here to give you a feel for the program's capabilities.

The Main Window

The main window has very little functionality, its main purpose is to simply hold the child windows. There are three menu items in the main window, File, Window and Help. Each of the options in these submenus have a corresponding tool button on the toolbar.

The File menu has options to create a new child window, open a previously saved automaton, save the current automaton information to a file and to exit the program. Note that when you select Save or Save As the only automaton that is saved is the one in the currently selected child window.

The Window menu has tools for tiling, cascading, minimizing and restoring child windows as well as closing the currently selected window, closing all of windows and closing all of the windows except the currently selected window.

The Help menu has options to open this help system or view the About screen. Note that the option to go to the PascGalois home page is only available if you are running this program on a Windows system, and it will attempt to open the default browser on your computer and connect to the internet.

The Child Windows

The child window has four tabs: Group, 1-D Automata, 2-D Automata, and Calculator. The Group tab gives the user a simple but flexible way to select the group structure they wish to work with. The current program has the capability of working with Zn, Zn (under multiplication), Dn, Sn, the Quaternions, Qn (Generalized Quaternions) and Cn (Dicyclic groups). The user can also input their own structure by specifying an operation table. Furthermore, there is an advanced input option that allows the user to use arbitrary Cartesian products and quotient groups of any of the above structures. Details about group and element syntax can be found in the Supported Group Structures & Syntax page in the contents menu.

Under the 1-D Automata tab there are currently five other tabs which allow the user to input all of the data necessary to create and explore both finite and infinite one-dimensional automata. The Options tab allows the user to select between a finite or infinite automata, alignment of the image, the number of rows, the wrapping style and whether it draws circles or squares.

The Seed tab allows the user to input the seed (or starting point) of the automaton. The seed can consist of up to 20 rows (or time-steps) and 100 columns. There are facilities for clearing the seed grid, filling the grid with random group elements, checking the syntax of the elements in the grid and copying the grid elements to the clipboard in either a text format or LaTeX code.

The Update Rule tab allows the user to alter the way each time-step is created from the previous time-steps. The program automatically sets the default update rule to that of Pascal's Triangle, that is, adding the two above to get the next cell value. So if you never wish to use an update rule other than Pascal's Triangle you will never need to alter the information on this tab. On the other hand, if you wish to do some experimentation this tab allows you to input a general update formula that uses the group operation "*" and powers "^" that are integer values. You link the automaton position with the update formula through variable names in the grid. You may also use constants in the formula via a constant name that you specify in the constants list at the bottom. The program has facilities for clearing the grid, resetting the rule to Pascal's Triangle, checking the syntax of the rule, creating, editing and deleting constants, and copying the update rule to the clipboard as either text or LaTeX code.

The Image tab is the place you will do most of your exploration. It consists of an image window to the left and a color scheme to the right. The program allows the user to change element colors, group element colors by sets, subgroups, and cosets. There are facilities for zooming in and out of the automaton. The user can copy images and color correspondence to the clipboard or save them as image files. You can have an unlimited number of different color schemes loaded with the capability of saving them to files and loading in from files. There are also facilities for selecting regions of the automaton and displaying element counts within the region as well as copying or saving these counts or the grid of data as either text or LaTeX code. For finite automata there is also a facility for determining the period of the automaton, within the graphed rows. The zooming, color manipulation and region selection all have undo/redo capabilities.

The Counts/Period tab has some more advanced methods for finding the period or death of a finite automaton, it also allows the user to do element counts for row ranges without the need to graph and select the region. When you just want element counts on rows this is a much faster and memory reducing way to get them. The program has facilities for displaying, copying and saving count data as either text or LaTeX code. There is also an element list to the right that will sum all of the selected element counts with the ability of automatically selecting subgroups.

Under the 2-D Automata tab there are currently five other tabs which allow the user to input all of the data necessary to create and explore both finite and infinite two-dimensional automata. The Options tab allows the user to select between a finite or infinite automata, the number of levels graphed, the wrapping style, seed placement, grid size and whether it draws circles or squares.

The Seed tab allows the user to input the seed (or starting point) of the automaton. The seed can consist of up to 20 levels (or time-steps) and a maximum grid size of 100 X 100. There are facilities for clearing the seed grid, filling the grid with random group elements, checking the syntax of the elements in the grid and copying the grid elements to the clipboard in either a text format or LaTeX code.

The Update Rule tab allows the user to alter the way each time-step is created from the previous time-steps. The program automatically sets the default update rule to that of one of the standard four-rules. The program offers 11 commonly used default rules as well as the ability to alter these into any update rule desired within a 100 X 100 grid and a depth of 20 time-steps. This tab also allows you to input a general update formula that uses the group operation "*" and powers "^" that are integer values. You link the automaton position with the update formula through variable names in the grid. You may also use constants in the formula via a constant name that you specify in the constants list at the bottom. The program has facilities for clearing the grid, resetting the rule to any one the 11 built-in presets, checking the syntax of the rule, creating, editing and deleting constants, and copying the update rule to the clipboard as either text or LaTeX code.

The image tab is the place you will do most of your visual exploration. It consists of an image window to the left, a color scheme to the right and a level navigation bar at the bottom. The program allows the user to change element colors, and group element colors by sets, subgroups, and cosets. The navigation bar allows the user to select which time-step to view. It has buttons to move to the next and previous time-steps as well as a 10 step jump, reset and a facility to move to any level by specifying its number. The user can copy images and color correspondence to the clipboard or save them as image files. You can have an unlimited number of different color schemes loaded with the capability of saving them to files and loading in from files. You can also copy or save the elements that make up the level or set of levels as either text or LaTeX code.

The program offers a way of viewing the automaton in three dimensions. The program has a POV-Ray exporter that allows you to output the automaton as a POV-Ray file and use the freeware ray tracer POV-Ray to render the image. No knowledge of POV-Ray programming is necessary.

The Counts/Period tab has some more advanced methods for finding the period and death of a finite automaton, it also allows the user to do element counts for level ranges. The program has facilities for displaying, copying and saving count data as either text or LaTeX code. There is also an element list to the right that will sum all of the selected element counts with the ability of automatically selecting subgroups.

Selecting the POV-Ray output option will create two files, a pov file and an inc file. The pov file contains the setup for the image and the inc file contains a model for the automaton. The inc file never needs to be opened and in many cases it will contain thousands of lines. Use POV-Ray to open the pov file and select run from the toolbar on POV-Ray. It will then render the image and save it as a bitmap file in the same folder as your pov file. If you are on a non-windows system you may need to use a command-line command to render the image. Please consult a POV-Ray manual for details on your implementation.

The exporter also allows the user to create a POV-Ray animation. One type of animation is a color animation that will produce an animation of the automaton as it shifts from one color scheme to another. Another type is a rotation animation that will rotate the camera around the automaton and you can also combine the two. For the animation files the program will also produce an ini file. Load the ini file into POV-Ray and select run. This will produce a series of images on your hard drive and not a single movie file. You will need another program to paste these images onto a movie file. There are several freeware programs that will do this and they can be found for most platforms.



The Calculator tab allows the user to do single group operations or take elements to powers. It also has the ability to switch the order of the elements so the user can check commutativity quickly. There are also facilities for generating subgroups and cosets given subgroup generators and coset representatives. Furthermore, both the subgroups and cosets can be copied and saved as either text or LaTeX code.




Related Links: