mkgraph man page

mkgraph — draw the submodule lattice


mkgraph [Options] <Name> [<Lower> <Upper>]


This program creates a graphical representation of a submodule lattice in PostScript or other formats.  The first argument must be the module name.  The mksub(1) program must have been run, because mkgraph reads the ".gra" file created by mksub(1).  If two additional arguments are specified, only the modules between Lower and Upper are drawn.  If mksub(1) was used in "block mode", only single blocks can be drawn.  In this case, the block number must be specified with -b.

If no other format is specified, mkgraph produces PostScript output. Submodules are represented by boxes, and each Submodule is linked with its maximal submodules by a line.  Different line styles are used to distinguish between irreducible constituents.  Each node carries the submodule number as found in the Name.out file.  Local submodules are displayed with thick boxes.  The socles are shown as circles instead of boxes, and the radicals are shown in diamond shapes.  The line style represents the irreducible constituent isomorphic to the  factor module represented by the line.  The output is written to unless -G is used.

If the option -G is used, mkgraph creates commands that can be read by xGAP.



Quiet, no messages.


Verbose, more messages.

-T <MaxTime>

Set CPU time limit


Generate GAP/xGAP output on stdout instead of PostScript.

-b <Block>

Select block (use with mksub -b).

-c <Colors>

Set colors.  Format is 'name=R/G/B', where name is any of std (standard color), line (lines), sub (submodule boxes), soc (socle series), rad (radical series), and mnt (mountains).  The R, G, and B values are integers in the range 0-99.

Implementation Details

The algorithm used to position the nodes (submodules) is very simple.  In most cases the result is far from optimal, but also much better than a random drawing.  Submodules are grouped into layers according to their composition length.  All submodules in one layer are drawn at the same y (vertical) position, and at equidistant x positions.  The program tries to optimize the order of submodules in each layer, such that lines between the submodules become short.

Input Files


Lattice calculated by mksub(1).

Output Files

Picture in PostScript format.

See Also

mkdotl(1), mksub(1)

Referenced By

mkdotl(1), mksub(1).

2.4.24 MeatAxe User Commands