next | previous | forward | backward | up | top | index | toc | Macaulay2 web site
DGAlgebras :: homologyAlgebra

homologyAlgebra -- Compute the homology algebra of a DGAlgebra.

Synopsis

Description

i1 : R = ZZ/101[a,b,c,d]/ideal{a^4,b^4,c^4,d^4}

o1 = R

o1 : QuotientRing
i2 : A = koszulComplexDGA(R)

o2 = {Ring => R                              }
      Underlying algebra => R[T , T , T , T ]
                               1   2   3   4
      Differential => {a, b, c, d}
      isHomogeneous => true

o2 : DGAlgebra
i3 : apply(maxDegree A + 1, i -> numgens prune homology(i,A))

o3 = {1, 4, 6, 4, 1}

o3 : List
i4 : HA = homologyAlgebra(A)
Computing generators in degree 1 :      -- used 0.00153961 seconds
Computing generators in degree 2 :      -- used 0.0107416 seconds
Computing generators in degree 3 :      -- used 0.0100541 seconds
Computing generators in degree 4 :      -- used 0.00915805 seconds
Finding easy relations           :      -- used 0.0282152 seconds
Computing relations in degree 1  :      -- used 0.00236292 seconds
Computing relations in degree 2  :      -- used 0.00224351 seconds
Computing relations in degree 3  :      -- used 0.00224368 seconds
Computing relations in degree 4  :      -- used 0.00221321 seconds
Computing relations in degree 5  :      -- used 0.00205108 seconds

o4 = HA

o4 : PolynomialRing

Note that HA is a graded commutative polynomial ring (i.e. an exterior algebra) since R is a complete intersection.

i5 : R = ZZ/101[a,b,c,d]/ideal{a^4,b^4,c^4,d^4,a^3*b^3*c^3*d^3}

o5 = R

o5 : QuotientRing
i6 : A = koszulComplexDGA(R)

o6 = {Ring => R                              }
      Underlying algebra => R[T , T , T , T ]
                               1   2   3   4
      Differential => {a, b, c, d}
      isHomogeneous => true

o6 : DGAlgebra
i7 : apply(maxDegree A + 1, i -> numgens prune homology(i,A))

o7 = {1, 5, 10, 10, 4}

o7 : List
i8 : HA = homologyAlgebra(A)
Computing generators in degree 1 :      -- used 0.00158313 seconds
Computing generators in degree 2 :      -- used 0.0127051 seconds
Computing generators in degree 3 :      -- used 0.0131797 seconds
Computing generators in degree 4 :      -- used 0.0139153 seconds
Finding easy relations           :      -- used 0.135176 seconds
Computing relations in degree 1  :      -- used 0.013526 seconds
Computing relations in degree 2  :      -- used 0.0145211 seconds
Computing relations in degree 3  :      -- used 0.0135283 seconds
Computing relations in degree 4  :      -- used 0.0135672 seconds
Computing relations in degree 5  :      -- used 0.0312138 seconds

o8 = HA

o8 : QuotientRing
i9 : numgens HA

o9 = 19
i10 : HA.cache.cycles

        3     3     3     3     2 3 3 3     2 3 3 3       3 2 3 3     
o10 = {a T , b T , c T , d T , a b c d T , a b c d T T , a b c d T T ,
          1     2     3     4           1           1 2           1 2 
      -----------------------------------------------------------------------
       2 3 3 3       2 3 3 3       2 3 3 3         3 2 3 3       
      a b c d T T , a b c d T T , a b c d T T T , a b c d T T T ,
               1 3           1 4           1 2 3           1 2 3 
      -----------------------------------------------------------------------
       3 3 2 3         2 3 3 3         3 2 3 3         2 3 3 3       
      a b c d T T T , a b c d T T T , a b c d T T T , a b c d T T T ,
               1 2 3           1 2 4           1 2 4           1 3 4 
      -----------------------------------------------------------------------
       2 3 3 3           3 2 3 3           3 3 2 3           3 3 3 2
      a b c d T T T T , a b c d T T T T , a b c d T T T T , a b c d T T T T }
               1 2 3 4           1 2 3 4           1 2 3 4           1 2 3 4

o10 : List
i11 : Q = ZZ/101[x,y,z]

o11 = Q

o11 : PolynomialRing
i12 : I = ideal{y^3,z*x^2,y*(z^2+y*x),z^3+2*x*y*z,x*(z^2+y*x),z*y^2,x^3,z*(z^2+2*x*y)}

              3   2      2      2            3   2       2   2    3          
o12 = ideal (y , x z, x*y  + y*z , 2x*y*z + z , x y + x*z , y z, x , 2x*y*z +
      -----------------------------------------------------------------------
       3
      z )

o12 : Ideal of Q
i13 : R = Q/I

o13 = R

o13 : QuotientRing
i14 : A = koszulComplexDGA(R)

o14 = {Ring => R                          }
       Underlying algebra => R[T , T , T ]
                                1   2   3
       Differential => {x, y, z}
       isHomogeneous => true

o14 : DGAlgebra
i15 : apply(maxDegree A + 1, i -> numgens prune homology(i,A))

o15 = {1, 7, 7, 1}

o15 : List
i16 : HA = homologyAlgebra(A)
Computing generators in degree 1 :      -- used 0.00158715 seconds
Computing generators in degree 2 :      -- used 0.0133043 seconds
Computing generators in degree 3 :      -- used 0.0138228 seconds
Finding easy relations           :      -- used 0.0676782 seconds
Computing relations in degree 1  :      -- used 0.00874447 seconds
Computing relations in degree 2  :      -- used 0.0248039 seconds
Computing relations in degree 3  :      -- used 0.00910078 seconds
Computing relations in degree 4  :      -- used 0.00907275 seconds

o16 = HA

o16 : QuotientRing

One can check that HA has Poincare duality since R is Gorenstein.

If your DGAlgebra has generators in even degrees, then one must specify the options GenDegreeLimit and RelDegreeLimit.

i17 : R = ZZ/101[a,b,c,d]

o17 = R

o17 : PolynomialRing
i18 : S = R/ideal{a^4,b^4,c^4,d^4}

o18 = S

o18 : QuotientRing
i19 : A = acyclicClosure(R,EndDegree=>3)

o19 = {Ring => R                              }
       Underlying algebra => R[T , T , T , T ]
                                1   2   3   4
       Differential => {a, b, c, d}
       isHomogeneous => true

o19 : DGAlgebra
i20 : B = A ** S

o20 = {Ring => S                              }
       Underlying algebra => S[T , T , T , T ]
                                1   2   3   4
       Differential => {a, b, c, d}
       isHomogeneous => true

o20 : DGAlgebra
i21 : HB = homologyAlgebra(B,GenDegreeLimit=>7,RelDegreeLimit=>14)
Computing generators in degree 1 :      -- used 0.00778791 seconds
Computing generators in degree 2 :      -- used 0.017897 seconds
Computing generators in degree 3 :      -- used 0.0159312 seconds
Computing generators in degree 4 :      -- used 0.00919938 seconds
Computing generators in degree 5 :      -- used 0.00117852 seconds
Computing generators in degree 6 :      -- used 0.00119336 seconds
Computing generators in degree 7 :      -- used 0.00117424 seconds
Finding easy relations           :      -- used 0.0186521 seconds
Computing relations in degree 1  :      -- used 0.00225095 seconds
Computing relations in degree 2  :      -- used 0.00228313 seconds
Computing relations in degree 3  :      -- used 0.00220394 seconds
Computing relations in degree 4  :      -- used 0.0021737 seconds
Computing relations in degree 5  :      -- used 0.00243881 seconds
Computing relations in degree 6  :      -- used 0.00205596 seconds
Computing relations in degree 7  :      -- used 0.00200888 seconds
Computing relations in degree 8  :      -- used 0.00202005 seconds
Computing relations in degree 9  :      -- used 0.00202078 seconds
Computing relations in degree 10  :      -- used 0.00203974 seconds
Computing relations in degree 11  :      -- used 0.00200966 seconds
Computing relations in degree 12  :      -- used 0.00206504 seconds
Computing relations in degree 13  :      -- used 0.00204537 seconds
Computing relations in degree 14  :      -- used 0.00200694 seconds

o21 = HB

o21 : PolynomialRing

Ways to use homologyAlgebra :