To construct the Koszul complex of a minimal set of generators as a DGAlgebra one uses
i1 : R = ZZ/101[a,b,c]/ideal{a^3,b^3,c^3} o1 = R o1 : QuotientRing |
i2 : A = koszulComplexDGA(R) o2 = {Ring => R } Underlying algebra => R[T ..T ] 1 3 Differential => {a, b, c} o2 : DGAlgebra |
i3 : complexA = toComplex A 1 3 3 1 o3 = R <-- R <-- R <-- R 0 1 2 3 o3 : ChainComplex |
i4 : complexA.dd 1 3 o4 = 0 : R <------------- R : 1 | a b c | 3 3 1 : R <-------------------- R : 2 {1} | -b -c 0 | {1} | a 0 -c | {1} | 0 a b | 3 1 2 : R <-------------- R : 3 {2} | c | {2} | -b | {2} | a | o4 : ChainComplexMap |
i5 : ranks = apply(4, i -> numgens prune HH_i(complexA)) o5 = {1, 3, 3, 1} o5 : List |
i6 : ranks == apply(4, i -> numgens prune HH_i(koszul vars R)) o6 = true |
One can also compute the homology of A directly with HH_ZZ DGAlgebra. One may also specify the name of the variable using the Variable option.
The object koszulComplexDGA is a method function with options.