Drawing automata
The drawing of graphs described here uses graphviz , a software for drawing graphs developed at AT \& &amp; & T Labs, that can be obtained at http://www.graphviz.org/.
Installing some external programs
If you work under LINUX, you should install graphviz.
Functions to draw automata
This function draws automaton A. gap> x:=Automaton("det",3,2,[ [ 2, 3, 0 ], [ 0, 1, 2 ] ],[ 1 ],[ 1, 2, 3 ]);; gap> DrawAutomaton(x,"exx"); Displaying file: /tmp/tmp.LKoc7O/exx.dot.ps The output would be the following diagram displayed in a ghostview window.

\begin{figure}[htbp] \begin{center} \leavevmode \includegraphics[bb=0 0 132 304]{aut2} \end{center} \label{fig:aut2} \end{figure}
<br><center><img src="aut2.gif"></center><br>

This function tests if automaton A is a subautomaton of B in which case draws B highlighting the edges not in A by drawing them in a dotted style, while the others are drawn in a plain style.
Draws a graph specified as an adjacency list G.
Draws automaton A and highlights it's strongly connected components by drawing the other edges in a dotted style.