Macaulay2 » Documentation
Packages » Macaulay2Doc :: subquotient
next | previous | forward | backward | up | index | toc

subquotient -- make a subquotient module

Synopsis

Description

If g is omitted, then the identity map on the target of r is used as g, and the cokernel of r is returned. If r is omitted (but not the comma), then a zero map to the target of g is used as r, and the image of g is returned. If both are omitted, then M is returned.

See subquotient modules for an overview of subquotient modules in Macaulay2.

The general form in which modules are represented in Macaulay2 is as subquotients, and subquotient modules are often returned as values of computations, as in the example below.

i1 : R = ZZ/101[a..d]

o1 = R

o1 : PolynomialRing
i2 : M = kernel vars R ++ cokernel vars R

o2 = subquotient ({1} | -b 0  -c 0  0  -d 0 |, {1} | 0 0 0 0 |)
                  {1} | a  -c 0  0  -d 0  0 |  {1} | 0 0 0 0 |
                  {1} | 0  b  a  -d 0  0  0 |  {1} | 0 0 0 0 |
                  {1} | 0  0  0  c  b  a  0 |  {1} | 0 0 0 0 |
                  {0} | 0  0  0  0  0  0  1 |  {0} | a b c d |

                               5
o2 : R-module, subquotient of R
i3 : generators M

o3 = {1} | -b 0  -c 0  0  -d 0 |
     {1} | a  -c 0  0  -d 0  0 |
     {1} | 0  b  a  -d 0  0  0 |
     {1} | 0  0  0  c  b  a  0 |
     {0} | 0  0  0  0  0  0  1 |

             5      7
o3 : Matrix R  <-- R
i4 : relations M

o4 = {1} | 0 0 0 0 |
     {1} | 0 0 0 0 |
     {1} | 0 0 0 0 |
     {1} | 0 0 0 0 |
     {0} | a b c d |

             5      4
o4 : Matrix R  <-- R
i5 : M === subquotient(generators M, relations M)

o5 = true
i6 : prune M,

o6 = (cokernel {2} | 0 0 0 0 c  0  0  d  |, )
               {2} | 0 0 0 0 a  d  0  0  |
               {2} | 0 0 0 0 -b 0  d  0  |
               {2} | 0 0 0 0 0  b  a  0  |
               {2} | 0 0 0 0 0  -c 0  a  |
               {2} | 0 0 0 0 0  0  -c -b |
               {0} | d c b a 0  0  0  0  |

o6 : Sequence

See also

Ways to use subquotient :

For the programmer

The object subquotient is a method function.