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.0110358 seconds
Computing generators in degree 2 :      -- used 0.0276355 seconds
Computing generators in degree 3 :      -- used 0.0274954 seconds

o5 = true
i6 : cycleList = getGenerators(A)
Computing generators in degree 1 :      -- used 0.00210594 seconds
Computing generators in degree 2 :      -- used 0.0183481 seconds
Computing generators in degree 3 :      -- used 0.0185757 seconds
Computing generators in degree 4 :      -- used 0.00893944 seconds
Computing generators in degree 5 :      -- used 0.00786544 seconds
Computing generators in degree 6 :      -- used 0.00734323 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.00196452 seconds
Computing generators in degree 2 :      -- used 0.0170294 seconds
Computing generators in degree 3 :      -- used 0.0184766 seconds
Computing generators in degree 4 :      -- used 0.0019835 seconds
Computing generators in degree 5 :      -- used 0.00182219 seconds
Computing generators in degree 6 :      -- used 0.00178319 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.00909004 seconds
Computing generators in degree 2 :      -- used 0.0202003 seconds
Computing generators in degree 3 :      -- used 0.0192859 seconds

o13 = false
i14 : cycleList = getGenerators(A)
Computing generators in degree 1 :      -- used 0.00173167 seconds
Computing generators in degree 2 :      -- used 0.0129155 seconds
Computing generators in degree 3 :      -- used 0.0120713 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.00158979 seconds
Computing generators in degree 2 :      -- used 0.0122172 seconds
Computing generators in degree 3 :      -- used 0.0125245 seconds

Ways to use findTrivialMasseyOperation :