MeatAxe  2.4
Programs for working with modular representations
mkgraph - Draw a Submodule Lattice

Command Line

mkgraph [Options] [-G] [-b BlockNo] Name [Lower Upper]A
Standard options, see Standard Command Line Options
Generate (X)GAP output instead of postscript. Output is written to stdout.
Select block number BlockNo for drawing. Must be used if mksub has been run in "block mode".
Name of the representation.
Numer of the smallest submodule to be drawn.
Numer of the greatest submodule to be drawn.

Input Files

Lattice information.

Output Files
Lattice diagram.


This program creates a graphical representation of a submodule lattice in postscript or other formats. The first argument must be the module name. mksub must have been run, because mkgraph reads the ".gra" file created by mksub. If two additional arguments are specified, only the modules between Lower and Upper are drawn. If mksub 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 PosScript 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.

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.

MeatAxe 2.4 documentation, generated on Wed Jan 7 2015 08:38:36