P≷OSET Editor

partially (re)ordered set editor v1.1

Import

n =

Edit

0 elements:

Export

LaTeX macros

To use the diagram in a LaTeX document (in math or text mode), load the package causets with \usepackage{causets} and use (one of the) following macros.

Matrices and lists

Help

A good diagram is as close to a 2-order (a poset that is the intersection of two total orders) as possible, so that the number of manually removed and added links is minimal. To represent higher dimensional posets, find a corresponding 2-order such that as few links as possible need to be removed from it. For example, all posets with five elements and all but three posets with six elements are 2-orders and have diagrams without removed links. The removed link counter in the status bar under the canvas shows the message too many removed links if it is likely that a diagram can be constructed with less removed links. For all posets that are not 2-orders, the editor provides some tools to construct diagrams while keeping the number of removed (and added) links as small as possible.

To find good diagrams, you may use the toolbar, the mouse/touchpad or the keyboard.

Import options

Create a diagram from any of the following input types. Note that the number of elements of a diagram is limited.

predefined type
Select a predefined type and a numeric value (as cardinality or order parameter). Note that entering a large value is possible via keyboard, but may slow down the editor.
permutation (for a 2-order)
Enter a permutation of consecutive integers as a comma-separated list.
permutation and list of removed links
Additionally to a permutation, enter a comma-separated list of link pairs in the format number/number to be excluded when drawing the automatic links from the permutation.
permutation and list of links
The permutation is only used to position the elements. A comma-separated list of link pairs (in the format number/number) is used to draw links between the elements.
LaTeX macro
Paste a LaTeX macro \pcauset, \rcauset, or \causet followed by (an optional argument enclosed in square brackets [] and) one or two arguments for the permutation and links enclosed in braces {}.
list of coverings for a 2-layered poset
With this input type, only posets with two layers can be generated. For each second-layer element, write a line listing the first-layer elements (separated with commas) that are covered by this second-layer element. The elements on the first layer have to be numbered with consecutive integers, so that each first-layer element appears in at least one of the specified lines in the text field (each first-layer element is covered by at least one second-layer element). Empty lines are treated as separate elements that are parallel to the diagram. Once generated, the diagram will be optimised for a diagram with as few crossed links as possible.
memorized poset
Select an entry from the list to recreate the diagram. Entries are only available if a previously generated diagram has been added to the memory (see button ⎗ below). Entries can be removed or copied to the clipboard, and the entire memory can be cleared or copied to the clipboard with the buttons under the list.

With the button Create, the input data is converted to a diagram. A message is shown and the creation interrupted if an error or warning occurs, for example, a syntax error caused by an incorrect input.

The button Insert is only active if another diagram has already been created and an element is selected. This function replaces the selected element with the poset diagram of the input.

Toolbar functions

Copy the poset back to the input and revise in the input text fields.
Add the poset to the input memory so that it can be created/inserted later on.
Undo the last actions if it was one of the following: generate, move/remove/add element, remove/add link.
Redo the last actions if it was one of the following: generate, move/remove/add element, remove/add link.
Increase all element labels by 1.
Decrease all element labels by 1.
Mirror the diagram horizontally, which yields an equivalent diagram.
Mirror the diagram vertically, which yields a diagram of the opposite poset.
Reset all links to those of a 2-order with the same element positions. This function is only available when the diagram is not showing a 2-order.
Rearrange the elements of a 2-layered poset to minimize link crossings (getting it to a smaller or equal number of link crossing compared to any element arrangement with a single element swap on either layer). This function is only available when the poset has two layers.
Swap the element with the one on the same layer to the left. This function is only available when an element is selected and the swap is possible.
Delete the selected element. This function is only available when an element is selected.
Link/unlink the selected elements. This function is only available when an element and another link-able element is selected.
Labels
Show/hide the element labels.
Cross
Show/hide the selection cross.
Grid
Show/hide the element grid.
Size
Set the relative canvas size as percentage of the page width. Use fill to size the canvas to the maximal value. An absolute height value sets the maximal canvas size. If fill and 'unbounded' is selected, the canvas is sized to 100% of the page width.
Copy the value of a text field to the clipboard.

Mouse and touchscreen functions

Keyboard functions

Shortcuts that are bound to the local keyboard configuration:

Ctrl Z
Undo the last action.
Ctrl Y
Redo the last action.
Ctrl ⇧ Z
Redo the last action.
Del
Delete the selected element.
.
Add a new element to the right of the diagram and select it.

Shortcuts that are bound to the keys of a QWERTY keyboard configuration:

W
Select the next element in north-west direction.
A
Select the next element in south-east direction.
S
Select the next element in south-west direction.
D
Select the next element in north-east direction.
⇧ W
Move the selected element in north-west direction.
⇧ A
Move the selected element in south-east direction.
⇧ S
Move the selected element in south-west direction.
⇧ D
Move the selected element in north-east direction.

About

The purpose of this editor is the visualisation of finite partially ordered sets (posets) with Hasse diagrams. Its development started from a research project and it uses the same principle as the LaTeX package causets. This editor shall serve as a tool to help drawing diagrams with the package, while the package offers many more options to draw, style and modify Hasse diagrams. More information are given in the package manual.

Disclaimer

This web tool has been tested, but I do not take responsibility for incorrectly represented data.

Report a problem or make a suggestion: Please send me a comprehensive problem description and information of your browser (name and version) if you encounter a problem with the editor. I also welcome any suggestions to improve the tool. My contact details are in the bottom of my start page.

Release notes

Support of covering relations for 2-layer posets, composition and memorization of diagrams.

New features
  • Predefined input type: n × n lattice subset.
  • Input types: list of covering relations (for a 2-layer poset), memorized posets.
  • Option to insert a diagram at a selected element.
  • Memorization of diagrams.
  • Functions to optimize and rearrange elements in a 2-layer poset.
  • Shortcut support for undo/redo.
  • Status bar information: layer count (length of the longest chain), link count, removed link count.
  • Export covering relations.
  • Showing progress while computing export arrays.
Modifications
  • Elements can be unlinked even if it makes them maximal/minimal for more flexibility when linking.
  • Improved link recovering, when moving elements.
  • Updated button symbols.

Graphical overhaul and full support for diagrams of any dimenion.

New features
  • Predefined input types: n-chain, n-antichain, random 2-order with n elements, n-fence, n-crown poset, (regular) n-sided polygon poset.
  • Input types: permutation and list of removed links, permutation and list of links, LaTeX macro.
  • Support of an integer permutation with an arbitrary lower bound. Element labels can be raise and lower via the toolbar.
  • Syntax checking of input, and warning if a large diagram is being generated.
  • Full mouse/touchscreen support to select, move, and dublicate elements.
  • Undo/redo functionality.
  • Linking/unlinking pairs of elements. Reset links to those of a 2-order.
  • Status bars with information on cardinality, permutation, links, and removed links.
  • Canvas size setting (relative and absolute) in status bar.
  • Export order matrix and link matrix.
Modifications
  • Export to LaTeX macros can be chosen with a selector to get a diagram without labels, with labels, with permutation grid, or with permutation grid and labels.
  • Settings to show/hide labels, selection cross, and grid are below the canvas.

Beta version to draw diagrams of 2-orders from a permutation input (required to start with 1) and without syntax check. The elements of a diagram could be selected and moved, removed and new ones added (by keyboard and button controls). The diagram could be converted into its opposite (reflected vertically) and reflected horizontally. The export output only supported the \pcauset macro. It was under development as alpha version since 2024/02/22.