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.