B. Drawing automata

The drawing of graphs described here uses graphviz [DE+02], a software for drawing graphs developed at AT & T Labs, that can be obtained at http://www.research.att.com/sw/tools/graphviz/ .

B.1 Installing some external programs

If you work under LINUX, you should install graphviz and create the directory ~/dot-tmp .

B.2 Functions to draw automata

B.2-1 DrawAutomaton
> DrawAutomaton( A[, file] )( function )

This function draws automaton A writing the needed data in file ~/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.



B.2-2 DrawAutomata
> DrawAutomata( A, B[, file] )( function )

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 ~ /dot-tmp/file.

B.2-3 DrawGraph
> DrawGraph( G[, file] )( function )

Draws a graph specified as an adjacency list G and writes the needed data in file ~ /dot-tmp/file.

B.2-4 DrawSCCAutomaton
> DrawSCCAutomaton( A[, file] )( function )

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 ~ /dot-tmp/file.




generated by GAPDoc2HTML