~Hit for more help How to navigate around the help system The structure of the help system parallels that of EG itself, that is, the menus and submenus of the help system correspond to the control menus. The help system is structured like a tree (if you are just starting out in graph theory, think of a real tree...). Help text is available at every node of the tree, not just at the leaves. To read the text at a particular node, highlight the entry in the help menu and hit . (That's what you did to get here.) Every node in the help system has text attached, so you can always hit and find something to read. Not all nodes have further menus beyond them; those that do are indicated with an ellipsis, thus: ... To see the help menu options beyond a particular node, highlight that node and hit . To get out of a help menu, hit . This will return you to the previous menu, so if you are several menus down in the hierarchy, you will have to hit several times. In general, it is probably a good idea to read the text associated with a particular node before going on to nodes further down the tree. If you are just starting with EG, you probably ought to read the help screen "About the Main Menu" next. After that, you should read the help screen "Getting OUT". ~About the Main Menu Main Menu The main menu looks like this: F1 help Delete Edit Files New Precis Read Seed Write eXit Z-special -> right <- left The options available fall into several categories, and the help system is divided into those categories as described below: help category describes ------------- --------- Graph Files Read Write Files Editing Graphs Edit Precis Creating Graphs New The Graph Stack -> right <- left Delete Getting OUT eXit Miscellany Seed Z-special ~Menu items & hotkeys There are two ways to activate a menu item: either use the up/down arrow keys to highlight the item and then hit , or just type the capitalized letter in the item you want. ~Creating Graphs Creating New Graphs You can create an new graph by selecting "New" from the Main Menu. This action will take you to the New Graph menu, which looks like this: Cycle Difference Empty Group K - complete M - multipart Petersen Quadro Random S - Random tree W - polycycle coXeter Y - Regular tree Z - clone current ~Creating Graphs~Cycle A cycle is an n-gon. EG prompts for n. ~Creating Graphs~Difference A difference graph is a superposition of n-stars. EG will prompt for n and for a set of differences. For example, the difference graph (7;1) is the septagon, the difference graph (7;2) is a fat seven-pointed star, the difference graph (7;3) is a sharp seven- pointed star, and the difference graph (7;1,2) is K7 less the sharp star. ~Creating Graphs~Empty An empty graph is a collection of disconnected vertices; EG prompts for the number of vertices. ~Creating Graphs~Group Creates the Cayley graph of a group. EG prompts for the group, which it expects as a product of cycles entered one at a time. (?) ~Creating Graphs~K - Complete The complete graph on n vertices (denoted Kn, e.g. K7) is an n vertex graph with all possible edges. EG prompts for n. ~Creating Graphs~Multipart The vertex set of a multipartite graph may be partitioned into subsets such that every edge connects vertices in different subsets. EG creates complete multipartite graphs and asks only for the number of vertices in each part. Thus, the number of parts is specified implicitly. ~Creating Graphs~Petersen A generalized Petersen graph consists of an n-star within an n-gon, connected by spokes. More precisely, a generalized Petersen graph contains an (n,1) difference graph, an (n,k) difference graph, and a set of "spokes" connecting vertices of the n-gon (the (n,1) difference graph) with corresponding vertices of the n-star (the (n,k) difference graph). The usual presentation of the Petersen graph is a generalized Petersen graph with parameters 5 and 2. EG pops up a parameter entry box (q.v.) to obtain the parameters n and k. ~Creating Graphs~Quadro This section not yet available. ~Creating Graphs~Random A random graph is defined by the number of vertices in the graph and the probability of any particular edge existing. EG prompts for the number of vertices and the edge probability. An edge probability of 0 yields an empty graph on n vertices; an edge probability of 1 yields the complete graph on n vertices. Note that there is nothing random about the number of vertices. ~Creating Graphs~S - Random Tree Creates a random tree according to some parameters that I need to check. ~Creating Graphs~W - polycycle. A polycyclic graphs on parameters n and k consists of k n-cycles with corresponding vertices joined. ~Creating Graphs~coXeter A generalized Coxeter graph consists of an n-star within a n-star within an n-gon, connected by claws. More precisely, a generalized Coxeter graph contains an (n,1) difference graph, an (n,k) difference graph, an (n,r) difference graph, and a set of "claws" (K1,3) connecting vertices of the n-gon (the (n,1) difference graph) with corresponding vertices of the stars. The usual presentation of the Coxeter graph is a generalized Coxeter graph with parameters 7, 2, and 3. EG pops up a parameter entry box (q.v.) to obtain the parameters n, k, and r. ~Creating Graphs~Y - Regular Tree A regular tree with parameters k and n is a tree where all internal vertices (i.e. non-leaves) are of degree k and n specifies which one. ~Creating Graphs~Z - clone current Creates a new copy of the graph currently selected on the graph list. ~The graph list During an EG session, the program maintains a list of available graphs. Up to 6 of these graphs are displayed at a time in a row at the bottom of the screen. One of the graphs in the list is called the "current graph"; it is displayed in the third position from the left and is highlighted. The graph list may be rotated left or right, graphs may be deleted or have their properties summarized, and new graphs may be added either by creation within the EG session or by importation from a file. ~The graph list~-> right and <- left The arrow keys rotate the graph list left and right. The list is circular, that is, it has no end but wraps back on itself. ~The graph list~Delete Delete removes the current graph from the graph list and closes up the resulting hole in the list. There is no way to recover a deleted graph, so be careful. If the deletion results in an empty graph list some entries on the main menu are greyed out. ~The graph list~Precis This section not yet available. ~Editing graphs Editing Graphs This is the doorway to all the wonders of EG. In the hierarchy of command menus below Edit are commands for: -- manipulating the structure of the graph -- altering vertices and edges -- coloring the graph -- constructing related graphs -- manipulating the picture of the graph -- tools for redrawing the graph -- tools for renaming vertices or graphs -- printing graphs -- analyzing the graph (calculating invariants) ~Editing graphs~Build graphs The Build graphs functions construct new graphs from old ones. ~Editing graphs~Build graphs~Bipartite dbl This section not yet available. ~Editing graphs~Build graphs~Complement Creates the complement of the currently selected graph. The complement of a graph G is a graph whose edges are all the non-edges of G. For example, the complement of a complete graph is an empty graph, and vice versa. ~Editing graphs~Build graphs~pEndant This section not yet available. ~Editing graphs~Build graphs~F - pendant all This section not yet available. ~Editing graphs~Build graphs~dIstance This section not yet available. ~Editing graphs~Build graphs~J - polydist This section not yet available. ~Editing graphs~Build graphs~Line graph This section not yet available. ~Editing graphs~Build graphs~coNnected comp. Selects one or more connected components of the currently selected graph. EG prompts for a list of vertices and then creates the graph that is the subgraph of the currently selected graph induced by the all the vertices in the connected components containing the specified vertices. ~Editing graphs~Build graphs~pOwer This section not yet available. ~Editing graphs~Build graphs~Prism This section not yet available. ~Editing graphs~Build graphs~Two vanish This section not yet available. ~Editing graphs~Build graphs~fUse This section not yet available. ~Editing graphs~Build graphs~X - 2xedge This section not yet available. ~Editing graphs~Build graphs~Y - 3xedge This section not yet available. ~Editing graphs~Build graphs~Z - neighbor This section not yet available. ~Editing graphs~Color edges This section not yet available. ~Editing graphs~Color edges~Cycle This section not yet available. ~Editing graphs~Color edges~Incident This section not yet available. ~Editing graphs~Color edges~Matching This section not yet available. ~Editing graphs~Color edges~iNduced This section not yet available. ~Editing graphs~Color edges~Path This section not yet available. ~Editing graphs~Color edges~Reset This section not yet available. ~Editing graphs~Color edges~Shift This section not yet available. ~Editing graphs~Color edges~Total This section not yet available. ~Editing graphs~Color edges~What color This section not yet available. ~Editing graphs~Draw The representation or visual presentation of a graph is distinct from its structure: there may be several different interesting drawings of a single graph. (See, for example, the drawings of the Petersen graph in the EG manual.) The functions on the Draw menu change the displayed drawing of the currently selected graph, but do not chnange its structure. ~Editing graphs~Draw~Bipartition This section not yet available. ~Editing graphs~Draw~Clean Clean implements an algorithm due to Nate Dean (of AT&T Bell Labs). EG prompts for a list of vertices to "still", places those vertices equally spaced around a circle in the specified order with the first vertex in the list at 3 o'clock, and then places the other vertices of the graph in the interior of the circle according to an averaging algorithm. Clean does not work well on graphs with vertices of degree 1. ~Editing graphs~Draw~Findcycle This section not yet available. ~Editing graphs~Draw~Hamilton This section not yet available. ~Editing graphs~Draw~dIstance This section not yet available. ~Editing graphs~Draw~Mouse Activates the mouse for moving vertices. Click the left button on the vertex you wish to move, move the outline to the desired new location of the vertex, and then click the laft button again to place the vertex. ~Editing graphs~Draw~Normalize Resizes the graph to fill a standard bounding box. This function is useful is other drawing functions (such as Springs) have shrunk the graph to a uselessly small size. ~Editing graphs~Draw~Parameters This section not yet available. ~Editing graphs~Draw~Rotate EG prompts for a number of degrees and then rotates the graph that many degrees widdershins. Hint: if I'd meant clockwise, I would have said clockwise. ~Editing graphs~Draw~Springs This section not yet available. ~Editing graphs~Draw~Tiny This section not yet available. ~Editing graphs~Draw~U - mouse repos This function allows the user to resize and reposition the currently selected graph. ~Editing graphs~Draw~Warp This section not yet available. ~Editing graphs~Draw~Y - strain This section not yet available. ~Editing graphs~Draw~Z - strain tol This section not yet available. ~Editing graphs~toggle Edges These functions add and remove edges from the currently selected graph. In many cases, EG adds and removes edges symmetrically: the user gives a specification and then EG removes the specified edges if they are present or adds them if they are absent. Hence the description "toggle". ~Editing graphs~toggle Edges~By color This section not yet available. ~Editing graphs~toggle Edges~Cycle This section not yet available. ~Editing graphs~toggle Edges~Edge color This section not yet available. ~Editing graphs~toggle Edges~Matching Since vertices have names but edges do not, an edge is specified in EG by the pair of vertices it connects. A matching is a list of one or more pairs of vertices. EG is quite flexible about delimiters: you may use spaces or commas between the elements of a pair and between pairs. ~Editing graphs~toggle Edges~Path This section not yet available. ~Editing graphs~toggle Edges~Star This section not yet available. ~Editing graphs~F - color vertices This section not yet available. ~Editing graphs~F - color vertices~Bicolor This section not yet available. ~Editing graphs~F - color vertices~Components This section not yet available. ~Editing graphs~F - color vertices~Eccentricity This section not yet available. ~Editing graphs~F - color vertices~by deGree This section not yet available. ~Editing graphs~F - color vertices~by dIstance This section not yet available. ~Editing graphs~F - color vertices~Mouse This section not yet available. ~Editing graphs~F - color vertices~Name This section not yet available. ~Editing graphs~F - color vertices~Proper This section not yet available. ~Editing graphs~F - color vertices~Reset This section not yet available. ~Editing graphs~F - color vertices~Shift This section not yet available. ~Editing graphs~F - color vertices~What color This section not yet available. ~Editing graphs~Invariants An invariant of a graph is a property of the graph that has the same value for all graphs isomorphic to the original graph. (Hence the name: it doesn't vary.) Invariants are extremely useful in studying isomorphism, as two graphs with different values of an invariant are not isomorphic. (Beware the converse!) A considerable amount of effort has also been directed towards the study of certain classes of graphs (where a class is characterized by having the same value of some invariant.) ~Editing graphs~Invariants~diAmeter This section not yet available. ~Editing graphs~Invariants~Cycle This section not yet available. ~Editing graphs~Invariants~Eccentricity This section not yet available. ~Editing graphs~Invariants~deGrees Reports the degree sequence of the graph. The degree sequence is returned as a series of terms of the form d^r, where d is a degree that occurs in the graph and r is the number of vertices of that degree. The series is sorted in increasing order of degree. For example, the degree sequence 1^2 2^3 3^4 indicates that the graph has two vertices of degree one, three vertices of degree two, and four vertices of degree three. Note that this function implicitly returns both the min-degree and the max-degree of the graph: just look at the first and last degree values in the sequence. A k-regular graph on n vertices has a degree sequence with exactly one term, k^n. ~Editing graphs~Invariants~gIrth This section not yet available. ~Editing graphs~Invariants~K - clique finder This section not yet available. ~Editing graphs~Invariants~coNnected comp. Returns the number of connected components of the currently selected graph. A graph with one connected component is called connected. ~Editing graphs~Invariants~Precis This section not yet available. ~Editing graphs~Invariants~Q - edges Returns the number of edges in the currently selected graph. ~Editing graphs~Invariants~Radius This section not yet available. ~Editing graphs~Invariants~diStances This section not yet available. ~Editing graphs~Invariants~dist sUbmat This section not yet available. ~Editing graphs~Invariants~Vertices Returns the number of vertices in the currently selected graph. ~Editing graphs~Kill vertices The functions in the Kill vertices menu remove one or more vertices and all edges incident upon those vertices from the current graph. ~Editing graphs~Kill vertices~by Anticolor This section not yet available. ~Editing graphs~Kill vertices~By name EG prompts for a list of vertices to remove and then removes them. Technically, if X is the set of vertices entered then the result is the subgraph induced by V(G) - X. ~Editing graphs~Kill vertices~by Color This section not yet available. ~Editing graphs~Kill vertices~by deGree This section not yet available. ~Editing graphs~Names Each graph in the graph list has a name, twelve characters of which fit above the graph in the graph list without interfering with the names of other graphs. Each vertex in a graph has a name. Vertex names generally start out as 0,1,2,3,..., but a number of graph operations (e.g., line graph) build graphs with names that give information about their origin. ~Editing graphs~Names~Graph name Changes the name of the currently selected graph. ~Editing graphs~Names~Reset names This section not yet available. ~Editing graphs~Postscript This section not yet available. ~Editing graphs~Postscript~Edge This section not yet available. ~Editing graphs~Postscript~HPL dump This section not yet available. ~Editing graphs~Postscript~Plain This section not yet available. ~Editing graphs~Postscript~Set gray This section not yet available. ~Editing graphs~Save and Quit Quit closes the editing session *without* updating the graph on the graph list. Thus, if you have put some effort into creating a graph and then accidentally kill all the vertices, you have some hope of recovery. Save, on the other hand, preserves your changes in the graph list. (Which may be just what you want.) ~Editing graphs~add Vertices The options on the Add vertices menu allow you to add new elements to the vertex set of the currently selected graph. These new elements can be entirely disconnected, connected to each other in certain ways, or connected (in certain ways) to vertices already in the graph. ~Editing graphs~add Vertices~Add vertices Adds one or more disconnected vertices. EG prompts for the number of vertices to add and then puts that many vertices into the currently selected graph. ~Editing graphs~add Vertices~insert by Color This section not yet available. ~Editing graphs~add Vertices~Duplicate This section not yet available. ~Editing graphs~add Vertices~Insert vert This section not yet available. ~Editing graphs~add Vertices~J - insert all This section not yet available. ~Editing graphs~add Vertices~K - insert wedge This section not yet available. ~Editing graphs~add Vertices~Mouse add Activates the mouse for adding new vertices. Move the mouse to the place where you want a new vertex and click the left button to place the vertex. Repeat until you have added all the vertices you wany, then click on the word "DONE" in the upper left corner of the graph window. ~Editing graphs~add Vertices~Selected This section not yet available. ~Graph Files EG and disk files EG stores graph information on disk in a format called a Graph Description File. The .GDF format is documented in an appendix to the EG manual. The format is not too obscure, however, and it should not be too difficult for anyone with some programming experience to write code that will translate your favorite graph file format into .GDF format. Since .GDF files are ASCII, they can be read using your favorite text editor. The adventurous are encouraged to reverse engineer the format. If you use EG to read and write files, you don't need to worry about the .GDF format at all: EG will take care of all the details. EG is also able to import and export graphs in a number of other formats; this functionality is provided to make it easier to move graphs between EG and other software. ~Graph Files~Read Reading Files EG stores graphs in a format called a Graph Description File. "Read" will prompt for a file name. You may specify either a file name, e.g. SAMPLES.GDF, which will be assumed to reside in the current directory, or a complete path, e.g. C:\GRAPH\EG\MYGRAPHS.GDF. If you do not specify a file extension, EG will assume that the file extension is supposed to be .GDF. Once it finds the .GDF file, EG will read in all the graphs in the file and add them onto the Graph Stack. There is no way to load graphs selectively: if you want just one graph from a file, you must load all the graphs in that file and then delete the ones you don't want. ~Graph Files~Write Writing Files "Write" will prompt for a file name and will then save the entire Graph Stack to that file, using .GDF format. It is possible to save structure information about a graph in other formats: read the entries explaining the Files menu. As with reading a file, you can specify a file name in the current directory or a path. If the file you specify already exists, EG will DO SOMETHING. If you do not specify an extension, EG will supply the extension .GDF for you. ~Graph Files~Files This section not yet available. ~Graph Files~Files~Adjacency exp This section not yet available. ~Graph Files~Files~Chroma exp This section not yet available. ~Graph Files~Files~Distance exp This section not yet available. ~Graph Files~Files~GAP mat exp This section not yet available. ~Graph Files~Files~cHord imp This section not yet available. ~Graph Files~Files~import Adj This section not yet available. ~Graph Files~Files~J - import nbr This section not yet available. ~Graph Files~Files~Neighbor exp This section not yet available. ~Graph Files~Files~Read This section not yet available. ~Graph Files~Files~Write This section not yet available. ~Miscellany This section not yet available. ~Miscellany~Seed This section not yet available. ~Miscellany~Z - special This section not yet available. ~Getting OUT Getting OUT The control menus for EG are structured like a tree, and the command required to return to the previous level of the tree (or, if you are at the Main Menu, to leave EG entirely) depends on where you are in the tree. At the Main Menu, hit X to exit EG. If you have created graphs that have not been saved to the disk, EG will ask you to confirm that you really want to quit without saving. At other menus, either Q (for Quit) or D (for Done) will close the menu and return you to the next level up. There is one important variation: you can exit the Edit menu by typing either Q or S (for Save). The difference is that Q closes the editing session *without* updating the graph on the graph list. Thus, if you have put some effort into creating a graph and then accidentally kill all the vertices, you have some hope of recovery. Save, on the other hand, preserves your changes in the graph list. A suggested way to use EG to create a complex graph (or to search for a graph with particular properties) is to choose some starting point, edit for a while, save your work to the graph list when you think that you have made some progress, and then use New/Z - clone current to make a new copy on which to continue working. Comments, error messages, and informational messages are removed from the screen by any keystroke. These popup windows are generally accompanied by the "Hit any key to continue" reminder. ~Disclaimer This software was written by Dan Ashlock. The help files and documentation were written by David Schweizer. Both of us tried not to make mistakes but do not have sufficient taxpayer supplied grant money for there to be any hope there are not dozens of mistakes (funding to date, about $0.69). Because of this we make no promises whatsoever for the suitability of this software for any particular use. We assume no responsibility for those of you that figure out how to reformat the CD-roms on the network server at your place of work using this software. We disclaim any responsibility for anything bad that happens to you if you use this software. You would have to be a complete fool to even touch this software. This software may cause cancer in lab rats. Pregnant rats should not use this software but may read the documentation. EG3 copyright 1996 by Dan Ashlock. EG3 help and documentation copyright 1996 by David Schweizer. ~EOF