Macaulay2 » Documentation
Packages » DGAlgebras » Low-level differential computations and validity checks » polyDifferential
next | previous | forward | backward | up | index | toc

polyDifferential -- Matrix and element-level differentials of a DG algebra

Description

The two-argument form polyDifferential(n, A) returns the matrix of the DG algebra differential in hom-degree n, expressed in the monomial basis of A_n and A_{n-1}. It is cached inside A and reused on subsequent calls; invalidateDGAlgebraCache clears the cache. Out-of-range degrees are handled uniformly: degree 0 gives the conventional zero map R^1 --> R^0, and degrees past maxDegree A give zero maps of the appropriate shape.

i1 : R = QQ[x, y, z]

o1 = R

o1 : PolynomialRing
i2 : A = koszulComplexDGA R

o2 = {Ring => R                          }
      Underlying algebra => R[T   ..T   ]
                               1,1   1,3
      Differential => {x, y, z}

o2 : DGAlgebra
i3 : d1 = polyDifferential(1, A)

o3 = | x y z |

             1      3
o3 : Matrix R  <-- R
i4 : d2 = polyDifferential(2, A)

o4 = {1} | -y -z 0  |
     {1} | x  0  -z |
     {1} | 0  x  y  |

             3      3
o4 : Matrix R  <-- R
i5 : d3 = polyDifferential(3, A)

o5 = {2} | z  |
     {2} | -y |
     {2} | x  |

             3      1
o5 : Matrix R  <-- R
i6 : assert(d1 * d2 == 0)
i7 : assert(d2 * d3 == 0)

The zero-degree map is the conventional R^1 --> R^0:

i8 : R = QQ[x, y] / ideal(x^2, y^2)

o8 = R

o8 : QuotientRing
i9 : A = koszulComplexDGA R

o9 = {Ring => R                          }
      Underlying algebra => R[T   ..T   ]
                               1,1   1,2
      Differential => {x, y}

o9 : DGAlgebra
i10 : d0 = polyDifferential(0, A)

o10 = 0

                    1
o10 : Matrix 0 <-- R
i11 : assert(source d0 == R^1 and target d0 == R^0)

The element form polyDifferential(A, f) applies d to an arbitrary element by summing over its monomial terms:

i12 : R = QQ[x, y] / ideal(x^2, y^2)

o12 = R

o12 : QuotientRing
i13 : A = koszulComplexDGA R

o13 = {Ring => R                          }
       Underlying algebra => R[T   ..T   ]
                                1,1   1,2
       Differential => {x, y}

o13 : DGAlgebra
i14 : gs = gens A.natural

o14 = {T   , T   }
        1,1   1,2

o14 : List
i15 : polyDifferential(A, gs#0 * gs#1)

o15 = - y*T    + x*T
           1,1      1,2

o15 : R[T   ..T   ]
         1,1   1,2

See also

Ways to use polyDifferential:

  • polyDifferential(DGAlgebra,RingElement)
  • polyDifferential(ZZ,DGAlgebra)

For the programmer

The object polyDifferential is a method function.


The source of this document is in /build/reproducible-path/macaulay2-1.26.05+ds/M2/Macaulay2/packages/DGAlgebras/doc.m2:6913:0.