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 , MonomialOrder => RevLex, Inverses => true]
0
|
Setting the
S variable to -1 gives the Poincare polynomial calculated by
poincare.
i5 : use ring p
o5 = ZZ [S, T , MonomialOrder => RevLex, Inverses => true]
0
o5 : PolynomialRing
|
i6 : substitute(p, {S=>-1})
3 4
o6 = 1 - 2T + 2T - T
0 0 0
o6 : ZZ [S, T , MonomialOrder => RevLex, Inverses => true]
0
|