next | previous | forward | backward | up | top | index | toc | Macaulay2 website
DGAlgebras :: koszulComplexDGA(Ideal)

koszulComplexDGA(Ideal) -- Returns the Koszul complex as a DGAlgebra

Synopsis

Description

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.