MeatAxe: mkgraph - Draw a Submodule Lattice

MeatAxe 2.4

- Main Page
- Related Pages
- Modules
- Data Structures

mkgraph - Draw a Submodule Lattice

## Command Line

    mkgraph [Options] [-G] [-b BlockNo] Name [Lower Upper]A

Options
  Standard options, see Standard Command Line Options

-G
  Generate (X)GAP output instead of postscript. Output is written to stdout.

-b
  Select block number BlockNo for drawing. Must be used if mksub has been run in "block mode".

Name
  Name of the representation.

Lower
  Numer of the smallest submodule to be drawn.

Upper
  Numer of the greatest submodule to be drawn.

## Input Files

Name.gra
  Lattice information.

## Output Files

Name.ps
  Lattice diagram.

## Description

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 Name.ps 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.