To construct the Koszul complex on the set of generators of I as a DGAlgebra one uses
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 |
One can also compute the homology of A directly with HH_ZZ DGAlgebra.