Macaulay2 » Documentation
Packages » DGAlgebras » Operations on DG Submodules
next | previous | forward | backward | up | index | toc

Operations on DG Submodules -- Sum, intersection, equality, and containment of DG submodules

DGSubmodules of a common ambient DGModule M form a lattice under sum, intersection, and inclusion — each operation preserves d-closure by elementary arguments paralleling the Operations on DG Ideals story:

Sum: d(s + t) = d(s) + d(t) \in S + T when s \in S and t \in T.

Intersection: if x \in S \cap T then d(x) \in S (by d-closure of S) and d(x) \in T (by d-closure of T), so d(x) \in S \cap T.

Containment / equality: read off directly from the images of the inclusions in M.natural.

i1 : R = ZZ/101[x, y]

o1 = R

o1 : PolynomialRing
i2 : A = koszulComplexDGA R

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

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

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

o3 : DGModule
i4 : Anat = A.natural

o4 = Anat

o4 : PolynomialRing, 2 skew commutative variable(s)
i5 : S = dgSubmodule(M, matrix {{x_Anat}})

o5 = DGSubmodule of ambient DGModule
     Degrees  => {{0, 1}}
                     1
     natural  => Anat
     inclusion => | x |

o5 : DGSubmodule
i6 : T = dgSubmodule(M, matrix {{y_Anat}})

o6 = DGSubmodule of ambient DGModule
     Degrees  => {{0, 1}}
                     1
     natural  => Anat
     inclusion => | y |

o6 : DGSubmodule
i7 : ST = S + T

o7 = DGSubmodule of ambient DGModule
     Degrees  => {{0, 1}, {0, 1}}
                     2
     natural  => Anat
     inclusion => | x y |

o7 : DGSubmodule
i8 : isWellDefined ST

o8 = true
i9 : isSubset(S, ST) and isSubset(T, ST)

o9 = true
i10 : cap = intersect(S, T)

o10 = DGSubmodule of ambient DGModule
      Degrees  => {{0, 2}}
                      1
      natural  => Anat
      inclusion => | xy |

o10 : DGSubmodule
i11 : isWellDefined cap

o11 = true
i12 : isSubset(cap, S) and isSubset(cap, T)

o12 = true

Sum is idempotent (S + S == S) and intersecting with the zero submodule yields the zero submodule.

i13 : (S + S) == S

o13 = true
i14 : Z = dgSubmodule(M, map(M.natural, (Anat)^0, 0))

o14 = DGSubmodule of ambient DGModule
      Degrees  => {}
      natural  => 0
      inclusion => 0

o14 : DGSubmodule
i15 : isZero intersect(S, Z)

o15 = true

All four operations require the DGSubmodules to share an ambient DGModule (via === — object identity, not just isomorphism), and raise an error otherwise.

See also

Menu


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