[top][index]
search for:

isQuotientModule Module -- whether a module is evidently a quotient of a free module

Synopsis:

  • Usage: b = isQuotientModule(M)
  • Function: isQuotientModule -- whether a module is evidently a quotient of a free module
  • Input:
  • M, an instance of class Module.
  • Output:
  • b, an instance of class Boolean: whether M is evidently a quotient of a free module.
  • No computation is done. This routine simply detects whether the given description of M is such a quotient.

    i1 : R = ZZ/101[a,b,c];
    i2 : M = R^1/(a^2,b^2,c^2)

    o2 = cokernel | a2 b2 c2 |

                                1
    o2 : R-module, quotient of R
    i3 : isQuotientModule M

    o3 = true
    i4 : f = M_{0}

    o4 = | 1 |

    o4 : Matrix
    i5 : N = image f

    o5 = subquotient (| 1 |, | a2 b2 c2 |)

                                   1
    o5 : R-module, subquotient of R

    Recall (Module _ {...}) that f is a map to the first generator of M so that the module N is the same as M but its description is now as a submodule of M so isQuotientModule returns false. However, these two modules are equal:

    i6 : isQuotientModule N

    o6 = false
    i7 : M == N

    o7 = true

    Code:

         -- ../../../Macaulay2/m2/modules.m2:41
         isQuotientModule Module := M -> not M.?generators

    [top][index]
    search for: