Macaulay2 » Documentation
Packages » DGAlgebras » Image, kernel, and cokernel of DG module maps » kernel(DGModuleMap)
next | previous | forward | backward | up | index | toc

kernel(DGModuleMap) -- Kernel of a DG module map as a DG submodule of its source

Description

A chain map sends cycles to cycles, so the kernel of f.natural at the module level is already d-closed. The constructor takes the natural-level kernel generators and wraps them with dgSubmodule.

Mathematically interesting example: over R = k[x, y]/(x^2, y^2) the endomorphism "multiplication by x" of the Koszul DG module KM squares to zero, so its kernel contains its image:

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

o1 = R

o1 : QuotientRing
i2 : A = koszulComplexDGA R

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

o2 : DGAlgebra
i3 : KM = koszulComplexDGM R^1

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 : mx = dgModuleMap(KM, KM, x * id_(KM.natural))

                               1
o4 = {Source => (R[T   ..T   ]) }
                    1,1   1,2
                               1
      Target => (R[T   ..T   ])
                    1,1   1,2
      Natural => | x |

o4 : DGModuleMap
i5 : kerMx = kernel mx

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

o5 : DGSubmodule
i6 : imgMx = image mx

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

o6 : DGSubmodule
i7 : isWellDefined kerMx

o7 = true
i8 : numcols (inclusion kerMx).natural

o8 = 1
i9 : isSubset(imgMx, kerMx)

o9 = true

The inclusion of a DG submodule is injective, so its kernel is zero:

i10 : Sfull = dgSubmodule(KM, id_(KM.natural));
i11 : isZero kernel (inclusion Sfull)

o11 = 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:4063:0.