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

isFreeDGModule -- Is the underlying A.natural-module free?

Description

Every DGModule built via freeDGModule (and every DGSubmodule of one) has free .natural, so this returns true in the typical case. The check exists because it is possible to build a DGModule directly whose underlying .natural module is non-free, and isWellDefined will tolerate such an object as long as the differential closes.

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

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}, {2, 0}}
      Differentials on gens => {0, 0}

o3 : DGModule
i4 : isFreeDGModule 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}})

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

o7 : DGSubmodule
i8 : isFreeDGModule S

o8 = true

Tensor products, base changes, and direct sums constructed by this package all land in the free case, so isFreeDGModule remains true after any of those operations.

i9 : MNK = (M ** R^2) ** R^2

o9 = {Base ring => R                                                                       }
      DG algebra => Anat
                            8
      Natural module => Anat
      Generator degrees => {{0, 0}, {0, 0}, {0, 0}, {0, 0}, {2, 0}, {2, 0}, {2, 0}, {2, 0}}
      Differentials on gens => {0, 0, 0, 0, 0, 0, 0, 0}

o9 : DGModule
i10 : isFreeDGModule MNK

o10 = true

See also

Ways to use isFreeDGModule:

  • isFreeDGModule(DGModule)
  • isFreeDGModule(DGSubmodule)

For the programmer

The object isFreeDGModule is a method function.


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