Macaulay2 » Documentation
Packages » DGAlgebras » Module-like operations on DG modules » numgens(DGModule)
next | previous | forward | backward | up | index | toc

numgens(DGModule) -- Number of natural generators of a DG module (or sub- or quotient module)

Description

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, 1, 2})

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

o3 : DGModule
i4 : numgens M == 3

o4 = true

For a DGSubmodule the count is the number of columns of the inclusion matrix (= number of generators being included). For a DGQuotientModule it is the number of natural generators of the quotient presentation, which by construction equals numgens (cover Q).natural.

i5 : Anat = A.natural

o5 = Anat

o5 : PolynomialRing, 2 skew commutative variable(s)
i6 : M1 = freeDGModule(A, {0})

o6 = {Base ring => R               }
      DG algebra => Anat
                            1
      Natural module => Anat
      Generator degrees => {{0, 0}}
      Differentials on gens => {0}

o6 : DGModule
i7 : S = dgSubmodule(M1, matrix {{x_Anat, y_Anat}})

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

o7 : DGSubmodule
i8 : numgens S == 2

o8 = true
i9 : Q = M1 / S

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

o9 : DGQuotientModule
i10 : numgens Q == numgens M1

o10 = true

Boundary case: a DGModule freely generated on an empty list has zero generators and is isZero.

i11 : M0 = freeDGModule(A, {})

o11 = {Base ring => R             }
       DG algebra => Anat
       Natural module => 0
       Generator degrees => {}
       Differentials on gens => {}

o11 : DGModule
i12 : numgens M0 == 0

o12 = true
i13 : isZero M0

o13 = true

See also

Ways to use this method:

  • numgens(DGModule) -- Number of natural generators of a DG module (or sub- or quotient module)
  • numgens(DGQuotientModule)
  • numgens(DGSubmodule)

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