next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
Posets :: gapConvertPoset

gapConvertPoset -- converts between Macaulay2's Posets and GAP's Posets

Synopsis

Description

The GAP package Simplicial Homology, available at http://www.eecis.udel.edu/~dumas/Homology/, provides methods for using posets within GAP. According to the documentation, posets are stored in GAP in the following manor: The ground set is the set of integers 1..n+1 and the relations are stored in a list of length n, where the ith entry is the set of vertices which cover i in the poset. In particular, 1 should be the unique minimal element and n+1 should be the unique maximal element.

When converting from GAP format, the conversion is direct using the above convention. In this example, S is generated with the GAP command OrderRelationToPoset(Subsets([1,2,3]), IsSubset);.
i1 : S = "[ [ 3 ], [ 10 ], [ 4, 7, 9 ], [ 5, 6 ], [ 2 ], [ 2 ], [ 5, 8 ], [ 2 ], [ 6, 8 ], [  ] ]";
i2 : P = gapConvertPoset S

o2 = Poset{cache => CacheTable{}                                                                                                         }
           GroundSet => {1, 3, 2, 10, 4, 7, 9, 5, 6, 8}
           RelationMatrix => | 1 1 1 1 1 1 1 1 1 1 |
                             | 0 1 1 1 1 1 1 1 1 1 |
                             | 0 0 1 1 0 0 0 0 0 0 |
                             | 0 0 0 1 0 0 0 0 0 0 |
                             | 0 0 1 1 1 0 0 1 1 0 |
                             | 0 0 1 1 0 1 0 1 0 1 |
                             | 0 0 1 1 0 0 1 0 1 1 |
                             | 0 0 1 1 0 0 0 1 0 0 |
                             | 0 0 1 1 0 0 0 0 1 0 |
                             | 0 0 1 1 0 0 0 0 0 1 |
           Relations => {{1, 3}, {2, 10}, {3, 4}, {3, 7}, {3, 9}, {4, 5}, {4, 6}, {5, 2}, {6, 2}, {7, 5}, {7, 8}, {8, 2}, {9, 6}, {9, 8}}

o2 : Poset
i3 : P == augmentPoset booleanLattice 3

o3 = true
When convering to GAP format, the method automatically augments the poset. In this example, the 3 chain becomes a 5 chain in GAP format.
i4 : gapConvertPoset chain 3

o4 = [[2], [3], [4], [5], []]

See also

Ways to use gapConvertPoset :