This method encodes information about the internal and homological degrees of the generators of each term in a chain complex. It returns an element in the ring of Laurent polynomials whose monomials correspond to the degrees of the monomials in the underlying ring of $C$, together with a variable to record the homological degree. When the $i$-th term $C_i$ of the complex $C$ is generated by elements of degree $d_{i,1}, d_{i,2}, \dotsc$, this Laurent polynomial is $\sum_i (-1)^i \sum_j S^i T^{d_{i,j}}$, where we use multi-index notation $T^d = T_0^{d_0} T_1^{d_1} \dotsb T_r^{d_r}$.
i1 : R = ZZ/32003[a..f]; |
i2 : K = koszulComplex vars R
1 6 15 20 15 6 1
o2 = R <-- R <-- R <-- R <-- R <-- R <-- R
0 1 2 3 4 5 6
o2 : Complex
|
i3 : betti K
0 1 2 3 4 5 6
o3 = total: 1 6 15 20 15 6 1
0: 1 6 15 20 15 6 1
o3 : BettiTally
|
i4 : p = poincareN K
2 2 3 3 4 4 5 5 6 6
o4 = 1 + 6S*T + 15S T + 20S T + 15S T + 6S T + S T
0 0 0 0 0 0
o4 : ZZ[S, T ]
0
|
i5 : factor p
6
o5 = (1 + S*T )
0
o5 : Expression of class Product
|
i6 : C = freeResolution ideal(a*b, b*c*d, c*d*e^2)
1 3 2
o6 = R <-- R <-- R
0 1 2
o6 : Complex
|
i7 : betti C
0 1 2
o7 = total: 1 3 2
0: 1 . .
1: . 1 .
2: . 1 1
3: . 1 1
o7 : BettiTally
|
i8 : poincareN C
2 3 4 2 4 2 5
o8 = 1 + S*T + S*T + S*T + S T + S T
0 0 0 0 0
o8 : ZZ[S, T ]
0
|
Since the number of variables in the degrees ring is equal to the rank of the grading group, the Poincare polynomial may have more than one variable.
i9 : S = ZZ/101[x,y,z, DegreeRank => 3]; |
i10 : L = koszulComplex vars S
1 3 3 1
o10 = S <-- S <-- S <-- S
0 1 2 3
o10 : Complex
|
i11 : poincareN L
2 2 2 3
o11 = 1 + S*T + S*T + S*T + S T T + S T T + S T T + S T T T
2 1 0 1 2 0 2 0 1 0 1 2
o11 : ZZ[S, T ..T ]
0 2
|
If the terms in the complex are not free, then this method uses just the degrees of the generators of each term.
i12 : D = C ** coker vars R
o12 = cokernel | a b c d e f | <-- cokernel {2} | a b c d e f 0 0 0 0 0 0 0 0 0 0 0 0 | <-- cokernel {4} | a b c d e f 0 0 0 0 0 0 |
{3} | 0 0 0 0 0 0 a b c d e f 0 0 0 0 0 0 | {5} | 0 0 0 0 0 0 a b c d e f |
0 {4} | 0 0 0 0 0 0 0 0 0 0 0 0 a b c d e f |
2
1
o12 : Complex
|
i13 : poincareN D
2 3 4 2 4 2 5
o13 = 1 + S*T + S*T + S*T + S T + S T
0 0 0 0 0
o13 : ZZ[S, T ]
0
|
i14 : betti D
0 1 2
o14 = total: 1 3 2
0: 1 . .
1: . 1 .
2: . 1 1
3: . 1 1
o14 : BettiTally
|