# filtration -- generates the filtration of a poset

## Synopsis

• Usage:
F = filtration P
• Inputs:
• P, an instance of the type Poset,
• Outputs:
• F, a list, the filtration of $P$

## Description

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.