Isoperimetric Tools

Displaying the Hasse diagram of a poset

This tool displays on the screen the Hasse diagram of a ranked poset defined by its covering relation. The relation itself should be encoded in a file located on your computer. The encoding instructions are below. In order to display the poset just upload the file with its encoding to the server. The program will validate the encoding and report problems, if there are any. It will also check whether or not the poset is ranked. With the current version of the tool one can display Hasse diagrams of ranked posets only.

Select a file to upload

Check here if it is a weighted poset


Poset encoding instructions

Encoding of non-weighted posets

The poset file is a text (ASCII) file with the number of lines equal to the number of poset elements, that is one line per element. For each element p of P the corresponding line must contain the following information on p:

label label1 label2 . . . labelk

Here:

label is the label of p (a string consisting of letters, digits or underscore only)
label1 label2 . . . labelk is a list of labels of vertices covered by p. If p covers no other vertex, this list is empty.

Moreover, the file must satisfy the following claims:

- The file size must not exceed 50 kilobytes.
- The parameters within one line must be separated by one or more spaces.
- Empty lines are ignored.
- A portion of a line followed by the # sign is considered as a comment and ignored. The comments are optional.

Example

PosetEncodingComments
000          # the bottom vertex

001 000      # first level
010 000
100 000
011 001 010  # second level
101 001 100
110 010 100
111 011 101 110 # the top level
000 is the label 
empty line, ignored
vertex 001 covers 000
vertex 010 covers 000
vertex 100 covers 000
vertex 011 covers 001 and 010
vertex 101 covers 001 and 100
vertex 110 covers 010 and 100
the top vertex covering 3 other vertices

Check Gallery of Posets for more examples.


Encoding of weighted posets

The encoding in this case is similar to the one above. The only difference is that every line of text must contain information on the weight of the corresponsing poset element.

The poset file is a text (ASCII) file with the number of lines equal to the number of poset elements, that is one line per element. For each element p of P the corresponding line must contain the following information on p:

label weight label1 label2 . . . labelk

Here:

label is the label of p (a string consisting of letters, digits or underscore only)
weight is the weight of p (an integer number, negative numbers are supported)
label1 label2 . . . labelk is a list of labels of vertices covered by p. If p covers no other vertex, this list is empty.

Moreover, the file must satisfy the following claims:

- The file size must not exceed 50 kilobytes.
- The parameters within one line must be separated by one or more spaces.
- Empty lines are ignored.
- A portion of a line followed by the # sign is considered as a comment and ignored. The comments are optional.

Example

PosetEncodingComments
000 1         # the bottom vertex

001 1  000      # first level
010 2  000
100 -1 000
011 3  001 010  # second level
101 3  001 100
110 2  010 100
111 1  011 101 110 # the top level
000 is the label, 1 is the weight 
empty line, ignored
vertex 001 covers 000
vertex 010 covers 000
vertex 100 covers 000 and has negative weight
vertex 011 covers 001 and 010
vertex 101 covers 001 and 100
vertex 110 covers 010 and 100
the top vertex covering 3 other vertices

Last modified: Mon, Jan 23, 2023.