# masseyTripleProduct(DGAlgebra,ZZ,ZZ,ZZ) -- Computes the matrix representing all triple Massey operations.

## Description

Given a triple of homology classes h1,h2,h3, such that h1h2 = h2h3 = 0, the Massey triple product of h1,h2 and h3 may be defined as in masseyTripleProduct. This command computes a basis of the homology algebra of A in degrees l,m and n respectively, and expresses the triple Massey operation of each triple, provided it is defined. If a triple product is not defined (i.e. if either h1h2 or h2h3 is not zero) then the triple product is reported as zero in the matrix.

The following example appears in "On the Hopf algebra of a Local Ring" by Avramov as an example of a nonvanishing Massey operation which an algebra generator:

 i1 : Q = QQ[t_1,t_2,t_3,t_4] o1 = Q o1 : PolynomialRing i2 : I = ideal (t_1^3,t_2^3,t_3^3-t_1*t_2^2,t_1^2*t_3^2,t_1*t_2*t_3^2,t_2^2*t_4,t_4^2) 3 3 2 3 2 2 2 2 2 o2 = ideal (t , t , - t t + t , t t , t t t , t t , t ) 1 2 1 2 3 1 3 1 2 3 2 4 4 o2 : Ideal of Q i3 : R = Q/I o3 = R o3 : QuotientRing i4 : KR = koszulComplexDGA R o4 = {Ring => R } Underlying algebra => R[T ..T ] 1 4 Differential => {t , t , t , t } 1 2 3 4 o4 : DGAlgebra i5 : H = HH(KR) Finding easy relations : -- used 0.177517 seconds o5 = H o5 : QuotientRing i6 : masseys = masseyTripleProduct(KR,1,1,1); 5 343 o6 : Matrix QQ <--- QQ i7 : rank masseys o7 = 1

As you can see, this command is useful to determine the number of linearly independent elements that arise as triple Massey products.

For example, the following Massey triple product is nonvanishing and is an algebra generator:

 i8 : masseyTripleProduct(KR,X_2,X_4,X_1) o8 = X 21 o8 : H