Sophie

Sophie

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

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>ideals to and from modules</title>
<link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/>
</head>
<body>
<table class="buttons">
  <tr>
    <td><div><a href="_sums_cm_spproducts_cm_spand_sppowers_spof_spideals.html">next</a> | <a href="_ideals_spto_spand_spfrom_spmatrices.html">previous</a> | <a href="_sums_cm_spproducts_cm_spand_sppowers_spof_spideals.html">forward</a> | <a href="_ideals_spto_spand_spfrom_spmatrices.html">backward</a> | <a href="_ideals.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="_ideals.html" title="">ideals</a> > <a href="_ideals_spto_spand_spfrom_spmodules.html" title="">ideals to and from modules</a></div>
<hr/>
<div><h1>ideals to and from modules</h1>
<div><h2>from ideals to modules</h2>
An ideal <tt>I</tt> is also an <tt>R</tt>-submodule.  In Macaulay2 we distinguish between when we are thinking of <tt>I</tt> as as ideal or a module.  If it is first defined as an ideal, it is easily turned into a module using the function <a href="_module.html" title="make or get a module">module</a> and for any submodule of the rank one free module <tt>R</tt> we can obtain an ideal of the generators using the function <a href="_ideal.html" title="make an ideal">ideal</a>.<table class="examples"><tr><td><pre>i1 : R = ZZ/32003[x,y,z];</pre>
</td></tr>
<tr><td><pre>i2 : I = ideal(x^2,y*z-x);

o2 : Ideal of R</pre>
</td></tr>
<tr><td><pre>i3 : module I

o3 = image | x2 yz-x |

                             1
o3 : R-module, submodule of R</pre>
</td></tr>
</table>
<h2>from modules to ideals</h2>
For any submodule of the rank one free module <tt>R</tt> we can obtain an ideal of the generators using the function <tt>ideal</tt>.<table class="examples"><tr><td><pre>i4 : A = matrix{{x*y-z,z^3}};

             1       2
o4 : Matrix R  &lt;--- R</pre>
</td></tr>
<tr><td><pre>i5 : M = image A

o5 = image | xy-z z3 |

                             1
o5 : R-module, submodule of R</pre>
</td></tr>
<tr><td><pre>i6 : ideal M

                      3
o6 = ideal (x*y - z, z )

o6 : Ideal of R</pre>
</td></tr>
</table>
<h2>getting the quotient module corresponding to an ideal</h2>
We also often work with <tt>R/I</tt> as an <tt>R</tt>-module.  Simply typing <tt>R/I</tt> at a prompt in Macaulay2 constructs the quotient ring (see <a href="_quotient_springs.html" title="">quotient rings</a>).  There are two ways to tell Macaulay2 that we want to work with this as a module.<table class="examples"><tr><td><pre>i7 : coker generators I

o7 = cokernel | x2 yz-x |

                            1
o7 : R-module, quotient of R</pre>
</td></tr>
<tr><td><pre>i8 : R^1/I

o8 = cokernel | x2 yz-x |

                            1
o8 : R-module, quotient of R</pre>
</td></tr>
</table>
<h2>modules versus ideals for computations</h2>
Some functions in Macaulay2 try to make an informed decision about ideal and modules.  For example, if <a href="_resolution.html" title="projective resolution">resolution</a> is given an ideal <tt>I</tt>, it will compute a resolution of the module <tt>R^1/I</tt>, as in the following example.<table class="examples"><tr><td><pre>i9 : resolution I

      1      2      1
o9 = R  &lt;-- R  &lt;-- R  &lt;-- 0
                           
     0      1      2      3

o9 : ChainComplex</pre>
</td></tr>
</table>
The functions <a href="_dim.html" title="compute the Krull dimension">dim</a> and <a href="_degree.html" title="">degree</a> also operate on <tt>R^1/I</tt> if the input is <tt>I</tt> or <tt>R^1/I</tt>.  However, the function <a href="_hilbert__Polynomial.html" title="compute the Hilbert polynomial">hilbertPolynomial</a> computes the Hilbert polynomial of the module <tt>I</tt> if the input is <tt>hilbertPolynomial I</tt>.<p/>
For basic information about working with modules see <a href="_modules.html" title="">modules</a>.</div>
</div>
</body>
</html>