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.013307 seconds
Computing generators in degree 2 :      -- used 0.0330764 seconds
Computing generators in degree 3 :      -- used 0.0869247 seconds

o5 = true
i6 : cycleList = getGenerators(A)
Computing generators in degree 1 :      -- used 0.00295342 seconds
Computing generators in degree 2 :      -- used 0.0266476 seconds
Computing generators in degree 3 :      -- used 0.0229028 seconds
Computing generators in degree 4 :      -- used 0.010999 seconds
Computing generators in degree 5 :      -- used 0.00969753 seconds
Computing generators in degree 6 :      -- used 0.00930669 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.00255195 seconds
Computing generators in degree 2 :      -- used 0.0226798 seconds
Computing generators in degree 3 :      -- used 0.0235874 seconds
Computing generators in degree 4 :      -- used 0.00224928 seconds
Computing generators in degree 5 :      -- used 0.00221702 seconds
Computing generators in degree 6 :      -- used 0.00214753 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.0107808 seconds
Computing generators in degree 2 :      -- used 0.0239301 seconds
Computing generators in degree 3 :      -- used 0.0254718 seconds

o13 = false
i14 : cycleList = getGenerators(A)
Computing generators in degree 1 :      -- used 0.00214605 seconds
Computing generators in degree 2 :      -- used 0.0166061 seconds
Computing generators in degree 3 :      -- used 0.0169859 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.00218272 seconds
Computing generators in degree 2 :      -- used 0.0163682 seconds
Computing generators in degree 3 :      -- used 0.0164423 seconds

Ways to use findTrivialMasseyOperation :