# poincarePolynomial -- computes the Poincare polynomial of a ranked poset with a unique minimal element

## Synopsis

• Usage:
p = poincarePolynomial P
p = poincarePolynomial(P, VariableName => symbol)
p = poincare P
• Inputs:
• P, an instance of the type Poset, a ranked poset
• Optional inputs:
• VariableName => , default value t
• Outputs:
• p, , the Poincare polynomial of $P$

## Description

The Poincare polynomial of $P$ is the polynomial in a single variable $t$ derived from the rankFunction and the moebiusFunction of $P$.

The Poincare polynomial of the $n$ booleanLattice is $(1+t)^n$.

 i1 : n = 5; i2 : factor poincarePolynomial booleanLattice n 5 o2 = (t + 1) o2 : Expression of class Product

The Poincare polynomial of the $B3$ arrangement is $(1+t)(1+3t)(1+5t)$.

 i3 : R = QQ[x,y,z]; i4 : A = {x,y,z,x+y,x+z,y+z,x-y,x-z,y-z}; i5 : LA = intersectionLattice(A, R); i6 : factor poincarePolynomial LA o6 = (t + 1)(3t + 1)(5t + 1) o6 : Expression of class Product

## See also

• intersectionLattice -- generates the intersection lattice of a hyperplane arrangement
• isRanked -- determines if a poset is ranked
• moebiusFunction -- computes the Moebius function at every pair of elements of a poset
• rankFunction -- computes the rank function of a ranked poset

## Ways to use poincarePolynomial :

• "poincarePolynomial(Poset)"

## For the programmer

The object poincarePolynomial is .