Sophie

Sophie

distrib > Fedora > 15 > i386 > by-pkgid > 7ebd25ac536d248d499a3ce2acda963a > files > 5160

Macaulay2-1.3.1-8.fc15.i686.rpm

<?xml version="1.0" encoding="utf-8" ?>  <!-- for emacs: -*- coding: utf-8 -*- -->
<!-- Apache may like this line in the file .htaccess: AddCharset utf-8 .html -->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN"	 "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg-flat.dtd" >
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head><title>submodules and quotients</title>
<link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/>
</head>
<body>
<table class="buttons">
  <tr>
    <td><div><a href="_subquotient_spmodules.html">next</a> | <a href="_matrices_spto_spand_spfrom_spmodules.html">previous</a> | <a href="_subquotient_spmodules.html">forward</a> | <a href="_matrices_spto_spand_spfrom_spmodules.html">backward</a> | <a href="_modules.html">up</a> | <a href="index.html">top</a> | <a href="master.html">index</a> | <a href="toc.html">toc</a> | <a href="http://www.math.uiuc.edu/Macaulay2/">Macaulay2 web site</a></div>

    </td>
  </tr>
</table>
<div><a href="index.html" title="">Macaulay2Doc</a> > <a href="_modules.html" title="">modules</a> > <a href="_submodules_spand_spquotients.html" title="">submodules and quotients</a></div>
<hr/>
<div><h1>submodules and quotients</h1>
<div><h2>submodules</h2>
We can create submodules by using standard mathematical notation, keeping in mind that the generators of a module <tt>M</tt> are denoted by <tt>M_0, M_1</tt>, etc.<table class="examples"><tr><td><pre>i1 : R = QQ[x,y,z];</pre>
</td></tr>
<tr><td><pre>i2 : M = R^3

      3
o2 = R

o2 : R-module, free</pre>
</td></tr>
<tr><td><pre>i3 : I = ideal(x^2,y^2-x*z)

             2   2
o3 = ideal (x , y  - x*z)

o3 : Ideal of R</pre>
</td></tr>
</table>
Here are some examples of submodules of <tt>M</tt>.<table class="examples"><tr><td><pre>i4 : I*M

o4 = image | x2 0  0  y2-xz 0     0     |
           | 0  x2 0  0     y2-xz 0     |
           | 0  0  x2 0     0     y2-xz |

                             3
o4 : R-module, submodule of R</pre>
</td></tr>
<tr><td><pre>i5 : R*M_0

o5 = image | 1 |
           | 0 |
           | 0 |

                             3
o5 : R-module, submodule of R</pre>
</td></tr>
<tr><td><pre>i6 : I*M_1

o6 = image | 0  0     |
           | x2 y2-xz |
           | 0  0     |

                             3
o6 : R-module, submodule of R</pre>
</td></tr>
<tr><td><pre>i7 : J = I*M_1 + R*y^5*M_1 + R*M_2

o7 = image | 0  0     0  0 |
           | x2 y2-xz y5 0 |
           | 0  0     0  1 |

                             3
o7 : R-module, submodule of R</pre>
</td></tr>
</table>
To determine if one submodule is contained in the other, use <a href="_is__Subset_lp__Module_cm__Module_rp.html" title="whether one object is a subset of another">isSubset(Module,Module)</a>.<table class="examples"><tr><td><pre>i8 : isSubset(I*M,M)

o8 = true</pre>
</td></tr>
<tr><td><pre>i9 : isSubset((x^3-x)*M,x*M)

o9 = true</pre>
</td></tr>
</table>
Another way to construct submodules is to take the kernel or image of a matrix.<table class="examples"><tr><td><pre>i10 : F = matrix{{x,y,z}}

o10 = | x y z |

              1       3
o10 : Matrix R  &lt;--- R</pre>
</td></tr>
<tr><td><pre>i11 : image F

o11 = image | x y z |

                              1
o11 : R-module, submodule of R</pre>
</td></tr>
<tr><td><pre>i12 : kernel F

o12 = image {1} | -y 0  -z |
            {1} | x  -z 0  |
            {1} | 0  y  x  |

                              3
o12 : R-module, submodule of R</pre>
</td></tr>
</table>
The module <tt>M</tt> does not need to be a free module.  We will see examples below.<h2>quotients</h2>
If N is a submodule of M, construct the quotient using <a href="___Module_sp_sl_sp__Module.html" title="quotient module">Module / Module</a>.<table class="examples"><tr><td><pre>i13 : F = R^3

       3
o13 = R

o13 : R-module, free</pre>
</td></tr>
<tr><td><pre>i14 : F/(x*F+y*F+R*F_2)

o14 = cokernel | x 0 0 y 0 0 0 |
               | 0 x 0 0 y 0 0 |
               | 0 0 x 0 0 y 1 |

                             3
o14 : R-module, quotient of R</pre>
</td></tr>
</table>
When constructing M/N, it is not necessary that M be a free module, or a quotient of a free module.  In this case, we obtain a subquotient module, which we describe below.</div>
</div>
</body>
</html>