Macaulay2 » Documentation
Packages » Macaulay2Doc > modules > Hilbert functions and free resolutions > poincareN
next | previous | forward | backward | up | index | toc

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 terms $S^i T_0^{d_0} \cdots 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 polynomial calculated by poincare(ChainComplex).

i5 : sub(p, {S => -1})

                 3    4
o5 = 1 - 2T  + 2T  - T
           0     0    0

o5 : ZZ[S, T ]
            0
i6 : poincare C

                3    4
o6 = 1 - 2T + 2T  - T

o6 : ZZ[T]

Conversely, setting it to 1 gives the same polynomial for the direct sum of components of the complex.

i7 : sub(p, {S => 1})

                 2     3    4
o7 = 1 + 2T  + 2T  + 2T  + T
           0     0     0    0

o7 : ZZ[S, T ]
            0
i8 : poincare sum C

                2     3    4
o8 = 1 + 2T + 2T  + 2T  + T

o8 : ZZ[T]

See also

Ways to use poincareN :

For the programmer

The object poincareN is a method function.