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.0108631 seconds
Computing generators in degree 2 :      -- used 0.0271273 seconds
Computing generators in degree 3 :      -- used 0.0661105 seconds

o5 = true
i6 : cycleList = getGenerators(A)
Computing generators in degree 1 :      -- used 0.00217201 seconds
Computing generators in degree 2 :      -- used 0.0194683 seconds
Computing generators in degree 3 :      -- used 0.019302 seconds
Computing generators in degree 4 :      -- used 0.00923738 seconds
Computing generators in degree 5 :      -- used 0.00821476 seconds
Computing generators in degree 6 :      -- used 0.00759642 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.00239929 seconds
Computing generators in degree 2 :      -- used 0.0184714 seconds
Computing generators in degree 3 :      -- used 0.0202783 seconds
Computing generators in degree 4 :      -- used 0.00189007 seconds
Computing generators in degree 5 :      -- used 0.00181914 seconds
Computing generators in degree 6 :      -- used 0.00175695 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.00771298 seconds
Computing generators in degree 2 :      -- used 0.0165823 seconds
Computing generators in degree 3 :      -- used 0.015499 seconds

o13 = false
i14 : cycleList = getGenerators(A)
Computing generators in degree 1 :      -- used 0.00140059 seconds
Computing generators in degree 2 :      -- used 0.0107429 seconds
Computing generators in degree 3 :      -- used 0.0112623 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.00150149 seconds
Computing generators in degree 2 :      -- used 0.011403 seconds
Computing generators in degree 3 :      -- used 0.0113125 seconds

Ways to use findTrivialMasseyOperation :