i1 : R = ZZ/101[a,b,c]
o1 = R
o1 : PolynomialRing
|
i2 : I = ideal{a^3,b^3,c^3,a^2*b^2*c^2}
3 3 3 2 2 2
o2 = ideal (a , b , c , a b c )
o2 : Ideal of R
|
i3 : A = koszulComplexDGA(I)
o3 = {Ring => R }
Underlying algebra => R[T ..T ]
1 4
3 3 3 2 2 2
Differential => {a , b , c , a b c }
o3 : DGAlgebra
|
i4 : complexA = toComplex A
1 4 6 4 1
o4 = R <-- R <-- R <-- R <-- R
0 1 2 3 4
o4 : ChainComplex
|
i5 : complexA.dd
1 4
o5 = 0 : R <----------------------- R : 1
| a3 b3 c3 a2b2c2 |
4 6
1 : R <----------------------------------------------- R : 2
{3} | -b3 -c3 0 -a2b2c2 0 0 |
{3} | a3 0 -c3 0 -a2b2c2 0 |
{3} | 0 a3 b3 0 0 -a2b2c2 |
{6} | 0 0 0 a3 b3 c3 |
6 4
2 : R <------------------------------------ R : 3
{6} | c3 a2b2c2 0 0 |
{6} | -b3 0 a2b2c2 0 |
{6} | a3 0 0 a2b2c2 |
{9} | 0 -b3 -c3 0 |
{9} | 0 a3 0 -c3 |
{9} | 0 0 a3 b3 |
4 1
3 : R <-------------------- R : 4
{9} | -a2b2c2 |
{12} | c3 |
{12} | -b3 |
{12} | a3 |
o5 : ChainComplexMap
|
i6 : ranks = apply(4, i -> numgens prune HH_i(complexA))
o6 = {1, 3, 0, 0}
o6 : List
|
i7 : ranks == apply(4, i -> numgens prune HH_i(koszul gens I))
o7 = true
|