The filtration of $P$ is a partitioning $F$ of the vertices such that $F_0$ is the set of minimal elements of $P$, $F_1$ is the set of minimal elements of $P - F_0$, and so forth.
i1 : P = poset {{a,b}, {b,c}, {c,d}, {a,e}, {e,d}};
|
i2 : filtration P
o2 = {{a}, {e, b}, {c}, {d}}
o2 : List
|
The filtration of a ranked poset is the same as the ranking of the poset.
i3 : B = booleanLattice 3; |
i4 : F = filtration B
o4 = {{000}, {001, 010, 100}, {011, 101, 110}, {111}}
o4 : List
|
i5 : R = rankPoset B
o5 = {{000}, {001, 010, 100}, {011, 101, 110}, {111}}
o5 : List
|
i6 : sort \ F === sort \ R o6 = true |
The flatten of the filtration is a linear extension of the poset.
i7 : member(flatten F, linearExtensions B) o7 = true |
This method was ported from John Stembridge's Maple package available at http://www.math.lsa.umich.edu/~jrs/maple.html#posets.
The object filtration is a method function.