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.0140394 seconds
Computing generators in degree 2 :      -- used 0.035013 seconds
Computing generators in degree 3 :      -- used 0.0972429 seconds

o5 = true
i6 : cycleList = getGenerators(A)
Computing generators in degree 1 :      -- used 0.00327463 seconds
Computing generators in degree 2 :      -- used 0.0345657 seconds
Computing generators in degree 3 :      -- used 0.0384369 seconds
Computing generators in degree 4 :      -- used 0.0187625 seconds
Computing generators in degree 5 :      -- used 0.0174414 seconds
Computing generators in degree 6 :      -- used 0.01576 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.00439158 seconds
Computing generators in degree 2 :      -- used 0.0370463 seconds
Computing generators in degree 3 :      -- used 0.0392267 seconds
Computing generators in degree 4 :      -- used 0.00368167 seconds
Computing generators in degree 5 :      -- used 0.00360826 seconds
Computing generators in degree 6 :      -- used 0.0036209 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.00985489 seconds
Computing generators in degree 2 :      -- used 0.0210808 seconds
Computing generators in degree 3 :      -- used 0.0195294 seconds

o13 = false
i14 : cycleList = getGenerators(A)
Computing generators in degree 1 :      -- used 0.00175265 seconds
Computing generators in degree 2 :      -- used 0.0133975 seconds
Computing generators in degree 3 :      -- used 0.0131949 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.00177441 seconds
Computing generators in degree 2 :      -- used 0.013413 seconds
Computing generators in degree 3 :      -- used 0.0131354 seconds

Ways to use findTrivialMasseyOperation :