Differences
This shows you the differences between two versions of the page.
— | documentation:latest:graph:lattice [2023/11/06 10:57] (current) – created - external edit 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
+ | ====== BigObject Lattice< | ||
+ | //from application [[..: | ||
+ | \\ | ||
+ | A Lattice is a poset where join and meet exist for any two elements. It is realized as a directed graph. | ||
+ | |||
+ | ? Type Parameters: | ||
+ | :: '' | ||
+ | :: '' | ||
+ | ? derived from: | ||
+ | : '' | ||
+ | ? Specializations: | ||
+ | :: '' | ||
+ | ===== Properties ===== | ||
+ | |||
+ | ==== Combinatorics ==== | ||
+ | These properties capture combinatorial information of the object. | ||
+ | ---- | ||
+ | {{anchor: | ||
+ | ? **'' | ||
+ | :: The index of the bottom node | ||
+ | ? Type: | ||
+ | :'' | ||
+ | ? Example: | ||
+ | :: The following prints the bottom node of the face lattice of the 2-simplex (triangle): | ||
+ | :: <code perl> > print simplex(2)-> | ||
+ | 0 | ||
+ | </ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | {{anchor: | ||
+ | ? **'' | ||
+ | :: An edge signals the comparability among poset elements (without top and bottom). Index shift by -1 since bottom and top are missing. This is required per specification of the GraphAdjacency class | ||
+ | ? Type: | ||
+ | :'' | ||
+ | |||
+ | |||
+ | ---- | ||
+ | {{anchor: | ||
+ | ? **'' | ||
+ | :: This is the data associated to each node. The prototype for this is '' | ||
+ | ? Type: | ||
+ | :'' | ||
+ | ? Example: | ||
+ | :: The following prints this property of the face lattice of the 2-simplex (triangle): | ||
+ | :: <code perl> > print simplex(2)-> | ||
+ | ({} 0) | ||
+ | ({0} 1) | ||
+ | ({1} 1) | ||
+ | ({2} 1) | ||
+ | ({1 2} 2) | ||
+ | ({0 2} 2) | ||
+ | ({0 1} 2) | ||
+ | ({0 1 2} 3) | ||
+ | </ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | {{anchor: | ||
+ | ? **'' | ||
+ | :: Kept only for backwards compatibility. Basically encodes the '' | ||
+ | ? Type: | ||
+ | :'' | ||
+ | |||
+ | |||
+ | ---- | ||
+ | {{anchor: | ||
+ | ? **'' | ||
+ | :: The face of each node, realized as a NodeMap. This property is kept for two reasons: As a convenient way to access only the face part of the decoration (in this case the property is temporary) and for reasons of backwards compatibility. | ||
+ | ? Type: | ||
+ | :'' | ||
+ | ? Example: | ||
+ | :: The following prints the faces of the face lattice of the 2-simplex (triangle): | ||
+ | :: <code perl> > print simplex(2)-> | ||
+ | {} | ||
+ | {0} | ||
+ | {1} | ||
+ | {2} | ||
+ | {1 2} | ||
+ | {0 2} | ||
+ | {0 1} | ||
+ | {0 1 2} | ||
+ | </ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | {{anchor: | ||
+ | ? **'' | ||
+ | :: This property provides an efficient way to enumerate all nodes of a given rank. Internally these are realized differently, | ||
+ | ? Type: | ||
+ | :'' | ||
+ | ? Example: | ||
+ | :: The following prints this property of the face lattice of the 2-simplex (triangle), where the tuples represent the ranges of nodes belonging to a specific rank: | ||
+ | :: <code perl> > print simplex(2)-> | ||
+ | {(0 (0 0)) (1 (1 3)) (2 (4 6)) (3 (7 7))} | ||
+ | </ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | {{anchor: | ||
+ | ? **'' | ||
+ | :: Maximal anti-chains (without top and bottom). | ||
+ | ? Type: | ||
+ | :'' | ||
+ | |||
+ | |||
+ | ---- | ||
+ | {{anchor: | ||
+ | ? **'' | ||
+ | :: Maximal chains (without top and bottom). | ||
+ | ? Type: | ||
+ | :'' | ||
+ | |||
+ | |||
+ | ---- | ||
+ | {{anchor: | ||
+ | ? **'' | ||
+ | :: The index of the top node | ||
+ | ? Type: | ||
+ | :'' | ||
+ | ? Example: | ||
+ | :: The following prints the top node of the face lattice of the 2-simplex (triangle): | ||
+ | :: <code perl> > print simplex(2)-> | ||
+ | 7 | ||
+ | </ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | ===== Methods ===== | ||
+ | |||
+ | ==== Combinatorics ==== | ||
+ | These methods capture combinatorial information of the object. | ||
+ | ---- | ||
+ | {{anchor: | ||
+ | ? **'' | ||
+ | :: | ||
+ | ? Returns: | ||
+ | :'' | ||
+ | ? Example: | ||
+ | :: The following prints the dual faces of the face lattice of the 2-simplex (triangle): | ||
+ | :: <code perl> > print simplex(2)-> | ||
+ | {0 1 2} | ||
+ | {1 2} | ||
+ | {0 2} | ||
+ | {0 1} | ||
+ | {0} | ||
+ | {1} | ||
+ | {2} | ||
+ | {} | ||
+ | </ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | {{anchor: | ||
+ | ? **'' | ||
+ | :: | ||
+ | ? Parameters: | ||
+ | :: '' | ||
+ | ? Returns: | ||
+ | :'' | ||
+ | ? Example: | ||
+ | :: The following prints the nodes of rank 1 of the face lattice of the 2-simplex (triangle): | ||
+ | :: <code perl> > print simplex(2)-> | ||
+ | {1 2 3} | ||
+ | </ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | {{anchor: | ||
+ | ? **'' | ||
+ | :: | ||
+ | ? Parameters: | ||
+ | :: '' | ||
+ | :: '' | ||
+ | ? Returns: | ||
+ | :'' | ||
+ | ? Example: | ||
+ | :: The following prints the nodes with rank between 1 and 2 of the face lattice of the 2-simplex (triangle): | ||
+ | :: <code perl> > print simplex(2)-> | ||
+ | {1 2 3 4 5 6} | ||
+ | </ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | {{anchor: | ||
+ | ? **'' | ||
+ | :: | ||
+ | ? Returns: | ||
+ | :'' | ||
+ | ? Example: | ||
+ | :: The following prints the rank of the top node of the face lattice of the 2-simplex (triangle): | ||
+ | :: <code perl> > print simplex(2)-> | ||
+ | 3 | ||
+ | </ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | |||
+ | ==== Visualization ==== | ||
+ | These methods are for visualization. | ||
+ | ---- | ||
+ | {{anchor: | ||
+ | ? **'' | ||
+ | :: Visualize the Lattice. | ||
+ | ? Options: | ||
+ | : | ||
+ | :: '' | ||
+ | : option list '' | ||
+ | ? Returns: | ||
+ | :'' | ||
+ | ? Example: | ||
+ | :: The following visualizes the face lattice of the 2-simplex (triangle) with default settings: | ||
+ | :: <code perl> > simplex(2)-> | ||
+ | </ | ||
+ | :: The following shows some modified visualization style of the same lattice: | ||
+ | :: <code perl> > simplex(2)-> | ||
+ | </ | ||
+ | |||
+ | |||
+ | ---- | ||
+ | {{anchor: | ||
+ | ? **'' | ||
+ | :: Visualize the dual Lattice. This only produces meaningful results for lattice where the codimension one nodes generate the lattice under intersection. | ||
+ | ? Options: | ||
+ | : | ||
+ | :: '' | ||
+ | : option list '' | ||
+ | ? Returns: | ||
+ | :'' | ||
+ | ? Example: | ||
+ | :: The following visualizes the dual face lattice of the 2-simplex (triangle) with default settings: | ||
+ | :: <code perl> > simplex(2)-> | ||
+ | </ | ||
+ | :: The following shows some modified visualization style of the same lattice: | ||
+ | :: <code perl> > simplex(2)-> | ||
+ | </ | ||
+ | |||
+ | |||
+ | ---- | ||