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

findTrivialMasseyOperation -- Finds a trivial Massey operation on a set of generators of H(A)

Synopsis

Description

This function currently just finds the elements whose boundary give the product of every pair of cycles that are chosen as generators. Eventually, all higher Massey operations will also be computed. The maximum degree of a generating cycle is specified in the option GenDegreeLimit, if needed.
Golod rings are defined by being those rings whose Koszul complex KR has a trivial Massey operation. Also, the existence of a trivial Massey operation on a DG algebra A forces the multiplication on H(A) to be trivial. An example of a ring R such that H(KR) has trivial multiplication, yet KR does not admit a trivial Massey operation is unknown. Such an example cannot be monomially defined, by a result of Jollenbeck and Berglund.
This is an example of a Golod ring. It is Golod since it is the Stanley-Reisner ideal of a flag complex whose 1-skeleton is chordal [Jollenbeck-Berglund].
i1 : Q = ZZ/101[x_1..x_6]

o1 = Q

o1 : PolynomialRing
i2 : I = ideal (x_3*x_5,x_4*x_5,x_1*x_6,x_3*x_6,x_4*x_6)

o2 = ideal (x x , x x , x x , x x , x x )
             3 5   4 5   1 6   3 6   4 6

o2 : Ideal of Q
i3 : R = Q/I

o3 = R

o3 : QuotientRing
i4 : A = koszulComplexDGA(R)

o4 = {Ring => R                                      }
      Underlying algebra => R[T , T , T , T , T , T ]
                               1   2   3   4   5   6
      Differential => {x , x , x , x , x , x }
                        1   2   3   4   5   6
      isHomogeneous => true

o4 : DGAlgebra
i5 : isHomologyAlgebraTrivial(A,GenDegreeLimit=>3)
Computing generators in degree 1 :      -- used 0.0124467 seconds
Computing generators in degree 2 :      -- used 0.0308459 seconds
Computing generators in degree 3 :      -- used 0.0662288 seconds

o5 = true
i6 : cycleList = getGenerators(A)
Computing generators in degree 1 :      -- used 0.0020382 seconds
Computing generators in degree 2 :      -- used 0.0177189 seconds
Computing generators in degree 3 :      -- used 0.0183702 seconds
Computing generators in degree 4 :      -- used 0.00903412 seconds
Computing generators in degree 5 :      -- used 0.00809173 seconds
Computing generators in degree 6 :      -- used 0.00749253 seconds

o6 = {x T , x T , x T , x T , x T , -x T T , -x T T , -x T T , -x T T , -
       5 4   5 3   6 4   6 3   6 1    6 1 3    5 3 4    6 3 4    6 1 4   
     ------------------------------------------------------------------------
     x T T  + x T T , - x T T  + x T T , x T T T , x T T T  - x T T T }
      6 4 5    5 4 6     6 3 5    5 3 6   6 1 3 4   6 3 4 5    5 3 4 6

o6 : List
i7 : tmo = findTrivialMasseyOperation(A)
Computing generators in degree 1 :      -- used 0.00210967 seconds
Computing generators in degree 2 :      -- used 0.0179611 seconds
Computing generators in degree 3 :      -- used 0.0187984 seconds
Computing generators in degree 4 :      -- used 0.00181403 seconds
Computing generators in degree 5 :      -- used 0.00179494 seconds
Computing generators in degree 6 :      -- used 0.00178946 seconds

o7 = {{3} | 0    0 0   0    0 0    0    0    0    0    |, {4} | 0   0 0   0 0
      {3} | 0    0 0   0    0 0    0    0    0    0    |  {4} | 0   0 0   0 0
      {3} | 0    0 0   0    0 0    0    0    0    0    |  {4} | 0   0 0   0 0
      {3} | 0    0 0   0    0 0    0    0    0    0    |  {4} | 0   0 0   0 0
      {3} | 0    0 0   0    0 0    0    0    0    0    |  {4} | 0   0 0   0 0
      {3} | 0    0 0   0    0 0    0    -x_6 0    0    |  {4} | 0   0 0   0 0
      {3} | 0    0 0   0    0 0    0    0    0    -x_6 |  {4} | x_6 0 0   0 0
      {3} | 0    0 0   0    0 0    -x_6 0    0    0    |  {4} | 0   0 x_6 0 0
      {3} | 0    0 0   0    0 0    0    0    -x_6 0    |  {4} | 0   0 0   0 0
      {3} | 0    0 0   0    0 0    0    0    0    0    |  {4} | 0   0 0   0 0
      {3} | 0    0 0   0    0 0    0    0    0    0    |  {4} | 0   0 0   0 0
      {3} | 0    0 0   0    0 0    0    0    0    0    |  {4} | 0   0 0   0 0
      {3} | 0    0 0   0    0 0    0    0    0    0    |  {4} | 0   0 0   0 0
      {3} | 0    0 0   0    0 0    0    0    0    0    |  {4} | 0   0 0   0 0
      {3} | 0    0 0   0    0 0    0    0    0    0    |  {4} | 0   0 0   0 0
      {3} | 0    0 0   0    0 0    0    0    0    0    |
      {3} | -x_5 0 x_6 -x_6 0 0    0    0    0    0    |
      {3} | 0    0 0   0    0 -x_6 0    0    0    0    |
      {3} | 0    0 0   0    0 0    0    0    0    0    |
      {3} | 0    0 0   0    0 0    0    0    0    0    |
     ------------------------------------------------------------------------
     0 0 0 0 0   0 0 0 0 0   0 0    0 0    0 0 0   0 0   0   0    0 0    0
     0 0 0 0 0   0 0 0 0 0   0 0    0 0    0 0 0   0 0   0   0    0 0    0
     0 0 0 0 0   0 0 0 0 0   0 0    0 0    0 0 0   0 0   0   0    0 0    0
     0 0 0 0 0   0 0 0 0 0   0 0    0 0    0 0 0   0 0   0   0    0 0    0
     0 0 0 0 0   0 0 0 0 0   0 0    0 0    0 0 0   0 0   0   0    0 0    0
     0 0 0 0 0   0 0 0 0 0   0 0    0 0    0 0 0   0 0   0   0    0 0    0
     0 0 0 0 x_6 0 0 0 0 0   0 -x_6 0 0    0 0 0   0 0   0   0    0 0    0
     0 0 0 0 0   0 0 0 0 x_6 0 0    0 -x_6 0 0 0   0 0   0   0    0 0    0
     0 0 0 0 0   0 0 0 0 0   0 0    0 0    0 0 0   0 0   0   0    0 0    0
     0 0 0 0 0   0 0 0 0 0   0 0    0 0    0 0 0   0 0   x_6 0    0 0    0
     0 0 0 0 0   0 0 0 0 0   0 0    0 0    0 0 0   0 0   0   0    0 0    0
     0 0 0 0 0   0 0 0 0 0   0 0    0 0    0 0 0   0 0   0   0    0 0    0
     0 0 0 0 0   0 0 0 0 0   0 0    0 0    0 0 0   0 0   0   0    0 0    0
     0 0 0 0 0   0 0 0 0 0   0 0    0 0    0 0 0   0 0   0   0    0 0    0
     0 0 0 0 0   0 0 0 0 0   0 0    0 0    0 0 x_5 0 x_6 0   -x_5 0 -x_6 0
     ------------------------------------------------------------------------
     0   |, {5} | 0 0 0 0 0 0 0   0 0 0 0 0 0 0    0 0 0 0 0 0 0 0 0 0 0   |,
     0   |  {5} | 0 0 0 0 0 0 0   0 0 0 0 0 0 0    0 0 0 0 0 0 0 0 0 0 0   |
     0   |  {5} | 0 0 0 0 0 0 0   0 0 0 0 0 0 0    0 0 0 0 0 0 0 0 0 0 0   |
     0   |  {5} | 0 0 0 0 0 0 0   0 0 0 0 0 0 0    0 0 0 0 0 0 0 0 0 0 0   |
     0   |  {5} | 0 0 0 0 0 0 x_6 0 0 0 0 0 0 -x_6 0 0 0 0 0 0 0 0 0 0 x_6 |
     0   |  {5} | 0 0 0 0 0 0 0   0 0 0 0 0 0 0    0 0 0 0 0 0 0 0 0 0 0   |
     0   |
     0   |
     x_6 |
     0   |
     0   |
     0   |
     0   |
     0   |
     0   |
     ------------------------------------------------------------------------
     0, 0}

o7 : List
i8 : assert(tmo =!= null)
Below is an example of a Teter ring (Artinian Gorenstein ring modulo its socle), and the computation in Avramov and Levin’s paper shows that H(A) does not have trivial multiplication, hence no trivial Massey operation can exist.
i9 : Q = ZZ/101[x,y,z]

o9 = Q

o9 : PolynomialRing
i10 : I = ideal (x^3,y^3,z^3,x^2*y^2*z^2)

              3   3   3   2 2 2
o10 = ideal (x , y , z , x y z )

o10 : Ideal of Q
i11 : R = Q/I

o11 = R

o11 : QuotientRing
i12 : A = koszulComplexDGA(R)

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

o12 : DGAlgebra
i13 : isHomologyAlgebraTrivial(A)
Computing generators in degree 1 :      -- used 0.00862407 seconds
Computing generators in degree 2 :      -- used 0.0187182 seconds
Computing generators in degree 3 :      -- used 0.0175901 seconds

o13 = false
i14 : cycleList = getGenerators(A)
Computing generators in degree 1 :      -- used 0.00160062 seconds
Computing generators in degree 2 :      -- used 0.0119742 seconds
Computing generators in degree 3 :      -- used 0.0119202 seconds

        2     2     2       2 2       2 2       2   2         2 2     
o14 = {x T , y T , z T , x*y z T , x*y z T T , x y*z T T , x*y z T T ,
          1     2     3         1         1 2         1 2         1 3 
      -----------------------------------------------------------------------
         2 2         2   2         2 2
      x*y z T T T , x y*z T T T , x y z*T T T }
             1 2 3         1 2 3         1 2 3

o14 : List
i15 : assert(findTrivialMasseyOperation(A) === null)
Computing generators in degree 1 :      -- used 0.0016022 seconds
Computing generators in degree 2 :      -- used 0.0119602 seconds
Computing generators in degree 3 :      -- used 0.014685 seconds

Ways to use findTrivialMasseyOperation :