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.research.att.com/sw/tools/graphviz/ .
Installing some external programs
If you work under LINUX, you should install graphviz and create the directory {\textasciitilde} ~/dot-tmp .
Functions to draw automata
This function draws automaton A writing the needed data in file {\textasciitilde} ~/dot-tmp/file. gap> x:=Automaton("det",3,2,[ [ 2, 3, 0 ], [ 0, 1, 2 ] ],[ 1 ],[ 1, 2, 3 ]);; gap> DrawAutomaton(x,"exx"); The output would be the following diagram displayed in a ghostview window.

\begin{figure}[htbp] \begin{center} \leavevmode \epsfbox{aut2.eps} \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 and writes the needed data in file {\textasciitilde} ~ /dot-tmp/file.
Draws a graph specified as an adjacency list G and writes the needed data in file {\textasciitilde} ~ /dot-tmp/file.
Draws automaton A and highlights it's strongly connected components by drawing the other edges in a dotted style. Writes the needed data in file {\textasciitilde} ~ /dot-tmp/file.