[1XB Drawing automata[0X The drawing of graphs described here uses [10Xgraphviz[0m [DEGKNW02], a software for drawing graphs developed at AT & T Labs, that can be obtained at [7Xhttp://www.graphviz.org/[0m. [1XB.1 Installing some external programs[0X In order to create the drawings you should install graphviz ([7Xhttp://www.graphviz.org/[0m) and to view them you should install one of evince ([7Xhttp://www.gnome.org/projects/evince/[0m), ggv ([7Xhttp://directory.fsf.org/GNU/ggv.html[0m), gsview ([7Xhttp://pages.cs.wisc.edu/~ghost/gsview/[0m) or gv ([7Xhttp://www.gnu.org/software/gv/[0m). [1XB.2 Functions to draw automata[0X [1XB.2-1 DrawAutomaton[0m [2X> DrawAutomaton( [0X[3XA[, state_names, L, file][0X[2X ) _______________________[0Xfunction This function draws automaton [3XA[0m. The arguments [3Xstate_names[0m, [3XL[0m and [3Xfile[0m are optional. An automaton with [10Xn[0m states will be drawn with numbers [10X1[0m to [10Xn[0m written inside the corresponding graph node. The argument [3Xstate_names[0m is a list of [10Xn[0m strings which will be the new text written inside the corresponding graph node. The argument [3XL[0m is a list of lists of integers, each of which specifies a set of states to be drawn in a different color. The argument [3Xfile[0m is a string that specifies the name of the file containing the drawing. If it is not give, it defaults to [10X"automaton"[0m. [4X--------------------------- Example ----------------------------[0X [4Xgap> x:=Automaton("det",3,2,[ [ 2, 3, 0 ], [ 0, 1, 2 ] ],[ 1 ],[ 1, 2, 3 ]);;[0X [4Xgap> DrawAutomaton(x,"file_name");[0X [4XDisplaying file: /tmp/tmp.Rj0v1s/file_name.dot.ps[0X [4X[0X [4Xgap> DrawAutomaton(x,["st 1", "2", "C"],"file_name");[0X [4XDisplaying file: /tmp/tmp.BCH3FO/file_name.dot.ps[0X [4X[0X [4Xgap> DrawAutomaton(x,["st 1", "2", "C"],[[2],[1,3]]);[0X [4XDisplaying file: /tmp/tmp.LPnJMq/automaton.dot.ps[0X [4X------------------------------------------------------------------[0X The output of the three previous [10XDrawAutomaton[0m commands would be the following diagrams displayed in a [13Xghostview[0m window, respectively. [1XB.2-2 DrawAutomata[0m [2X> DrawAutomata( [0X[3XA, B[, file][0X[2X ) _____________________________________[0Xfunction This function tests if automaton [10X A [0m is a subautomaton of [10X B [0m in which case draws [10X B [0m highlighting the edges not in [10X A [0m by drawing them in a dotted style, while the others are drawn in a plain style. [1XB.2-3 DrawGraph[0m [2X> DrawGraph( [0X[3XG[, file][0X[2X ) ___________________________________________[0Xfunction Draws a graph specified as an adjacency list [10XG[0m. [1XB.2-4 DrawSCCAutomaton[0m [2X> DrawSCCAutomaton( [0X[3XA[, state_names, L, file][0X[2X ) ____________________[0Xfunction Draws automaton [10X A [0m and highlights it's strongly connected components by drawing the other edges in a dotted style. The optional arguments [3Xstate_names[0m, [3XL[0m and [3Xfile[0m are as described in [2XDrawAutomaton[0m ([14XB.2-1[0m). [1XB.3 Drawings output formats[0X Since drawings are mostly used in the [5XSgpViz[0m package, please refer to that package's manual ([7Xhttp://www.gap-system.org/Manuals/pkg/sgpviz/doc/manual.html[0m) section of the same name. [1XB.4 Drawings extra graph attributes[0X Since drawings are mostly used in the [5XSgpViz[0m package, please refer to that package's manual ([7Xhttp://www.gap-system.org/Manuals/pkg/sgpviz/doc/manual.html[0m) section of the same name.