next | previous | forward | backward | up | top | index | toc | home

poincareN -- assemble degrees into polynomial

Synopsis

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 , 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

See also

Ways to use poincareN :