Macaulay2 » Documentation
Packages » DGAlgebras » Well-definedness, acyclicity, and quasi-isomorphism » isWellDefined(DGQuotientModule)
next | previous | forward | backward | up | index | toc

isWellDefined(DGQuotientModule) -- Check that a DG quotient module has a well-defined differential

Description

After a structural key-shape check, verifies that Q.ambient is a DGModule, that Q.subDGModule is a DGSubmodule with ambient equal to Q.ambient, and that Q.projection is a DGModuleMap from Q.ambient to Q. The substantive check then delegates to isWellDefined(DGSubmodule) on the relations submodule: the quotient is well-defined exactly when the relations are d-closed in the ambient.

i1 : R = ZZ/101[x]

o1 = R

o1 : PolynomialRing
i2 : A = koszulComplexDGA R

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

o2 : DGAlgebra
i3 : M = freeDGModule(A, {0, 1})

o3 = {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}

o3 : DGModule
i4 : natGens = apply(rank M.natural, i -> (M.natural)_i)

o4 = {| 1 |, | 0 |}
      | 0 |  | 1 |

o4 : List
i5 : setDiff(M, {0, x * natGens#0})

o5 = {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, | x |}
                                   | 0 |

o5 : DGModule
i6 : S = dgSubmodule(M, (id_(M.natural))_{1})

o6 = DGSubmodule of ambient DGModule
     Degrees  => {{1, 0}, {0, 0}}
                          2
     natural  => (R[T   ])
                     1,1
     inclusion => {0, 0} | 0 x |
                  {1, 0} | 1 0 |

o6 : DGSubmodule
i7 : Q = M / S

o7 = DGQuotientModule Q = M / S
     Q.natural = cokernel {0, 0} | 0 x |
                          {1, 0} | 1 0 |
     Degrees   = {{0, 0}, {1, 0}}

o7 : DGQuotientModule
i8 : isWellDefined Q

o8 = true

See also

Ways to use this method:


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