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

rank(DGModule) -- Rank of the underlying free A.natural-module

Description

For a free DGModule, rank and numgens coincide. For a DGSubmodule, rank reports the rank of the included free module (which is numgens S when the inclusion is injective on natural generators — always the case for submodules built by dgSubmodule).

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})

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

o3 : DGModule
i4 : rank M == numgens M

o4 = true
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 : rank S

o8 = 2

After pruning a DGSubmodule with redundant inclusions, rank equals numgens on the pruned object.

i9 : Sbig = dgSubmodule(M1, matrix {{1_Anat, x_Anat, y_Anat}})

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

o9 : DGSubmodule
i10 : Sp = prune Sbig

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

o10 : DGSubmodule
i11 : numgens Sp == rank Sp

o11 = true

Caveat

rank is not defined on DGQuotientModule: the rank of a cokernel module triggers codim computations that fail over non-affine graded ambients. Use numgens for the generator count.

See also

Ways to use this method:

  • rank(DGModule) -- Rank of the underlying free A.natural-module
  • rank(DGSubmodule)

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