Macaulay2 » Documentation
Packages » DGAlgebras » Semifree resolutions of DG modules » isMinimalSemifreeResolution
next | previous | forward | backward | up | index | toc

isMinimalSemifreeResolution -- Test whether a semifree DG module is minimal over its DG algebra

Description

Minimality over a DG algebra A means: after base change along the augmentation A -> k, every differential of F becomes the zero map. Equivalently, each M.diff#i has all of its coefficients (in the free basis of M.natural) lying in the augmentation ideal of A.natural generated by (vars R) and the positive-hom-degree generators T_i.

This predicate checks only the structural minimality condition; it does not verify acyclicity. Use isAcyclic(DGModule) with an EndDegree option for that.

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

o1 = R

o1 : QuotientRing
i2 : k = R^1 / ideal(x, y)

o2 = cokernel | x y |

                            1
o2 : R-module, quotient of R
i3 : A = koszulComplexDGA R

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

o3 : DGAlgebra
i4 : Mdg = minimalSemifreeResolution(A, k, EndDegree => 3)

o4 = {Base ring => R                                                                                    }
      DG algebra => R[T   ..T   ]
                       1,1   1,2
                                       6
      Natural module => (R[T   ..T   ])
                            1,1   1,2
      Generator degrees => {{0, 0}, {2, 2}, {2, 2}, {4, 4}, {4, 4}, {4, 4}}
      Differentials on gens => {0, | xT_(1,1) |, | yT_(1,2) |, |     0    |, |     0    |, |     0    |}
                                   |     0    |  |     0    |  | xT_(1,1) |  | yT_(1,2) |  |     0    |
                                   |     0    |  |     0    |  |     0    |  | xT_(1,1) |  | yT_(1,2) |
                                   |     0    |  |     0    |  |     0    |  |     0    |  |     0    |
                                   |     0    |  |     0    |  |     0    |  |     0    |  |     0    |
                                   |     0    |  |     0    |  |     0    |  |     0    |  |     0    |

o4 : DGModule
i5 : isMinimalSemifreeResolution Mdg

o5 = true

A DG module built with a unit differential between free generators is not minimal:

i6 : R = QQ[x]

o6 = R

o6 : PolynomialRing
i7 : A = koszulComplexDGA R

o7 = {Ring => R                    }
      Underlying algebra => R[T   ]
                               1,1
      Differential => {x}

o7 : DGAlgebra
i8 : Mbad = freeDGModule(A, {0, 1})

o8 = {Base ring => R                       }
      DG algebra => R[T   ]
                       1,1
                                 2
      Natural module => (R[T   ])
                            1,1
      Generator degrees => {{0, 0}, {1, 0}}
      Differentials on gens => {0, 0}

o8 : DGModule
i9 : natGens = apply(rank Mbad.natural, i -> (Mbad.natural)_i)

o9 = {| 1 |, | 0 |}
      | 0 |  | 1 |

o9 : List
i10 : setDiff(Mbad, {0, natGens#0})

o10 = {Base ring => R                       }
       DG algebra => R[T   ]
                        1,1
                                  2
       Natural module => (R[T   ])
                             1,1
       Generator degrees => {{0, 0}, {1, 0}}
       Differentials on gens => {0, | 1 |}
                                    | 0 |

o10 : DGModule
i11 : isMinimalSemifreeResolution Mbad

o11 = false

Caveat

Returns false on DG modules whose underlying A.natural-module is not free (in that case the generator differentials are not the right data to test).

See also

Ways to use isMinimalSemifreeResolution:

  • isMinimalSemifreeResolution(DGModule)

For the programmer

The object isMinimalSemifreeResolution 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:5987:0.