# poincareN -- assemble degrees into polynomial

## Synopsis

• Usage:
poincareN C
• Inputs:
• C,
• Outputs:
• , in the Laurent polynomial ring whose variables correspond to the degrees of the ambient ring

## Description

This function encodes information about the degrees of basis elements of a free chain complex in a polynomial. The polynomial has a term S^i T_0^(d_0) ... T_(n-1)^(d_(n-1)) in it for each basis element of C_i with multi-degree{d_0,...,d_(n-1)}.

 i1 : R = ZZ/101[a,b,c, Degrees=>{1,1,2}]; i2 : C = res cokernel vars R 1 3 3 1 o2 = R <-- R <-- R <-- R <-- 0 0 1 2 3 4 o2 : ChainComplex i3 : betti C 0 1 2 3 o3 = total: 1 3 3 1 0: 1 2 1 . 1: . 1 2 1 o3 : BettiTally i4 : p = poincareN C 2 2 2 2 3 3 4 o4 = 1 + 2S*T + S*T + S T + 2S T + S T 0 0 0 0 0 o4 : ZZ[S, T ] 0
Setting the S variable to -1 gives the Poincare polynomial calculated by poincare.
 i5 : use ring p o5 = ZZ[S, T ] 0 o5 : PolynomialRing i6 : substitute(p, {S=>-1}) 3 4 o6 = 1 - 2T + 2T - T 0 0 0 o6 : ZZ[S, T ] 0