Sophie

Sophie

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

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>reesIdeal -- compute the defining ideal of the Rees Algebra</title>
<link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/>
</head>
<body>
<table class="buttons">
  <tr>
    <td><div><a href="_special__Fiber.html">next</a> | <a href="_rees__Algebra.html">previous</a> | <a href="_special__Fiber.html">forward</a> | <a href="_rees__Algebra.html">backward</a> | up | <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>
<hr/>
<div><h1>reesIdeal -- compute the defining ideal of the Rees Algebra</h1>
<div class="single"><h2>Synopsis</h2>
<ul><li><div class="list"><dl class="element"><dt class="heading">Usage: </dt><dd class="value"><div><tt>reesIdeal M</tt><br/><tt>reesIdeal(M,f)</tt></div>
</dd></dl>
</div>
</li>
<li><div class="single">Inputs:<ul><li><span><tt>M</tt>, <span>a <a href="../../Macaulay2Doc/html/___Module.html">module</a></span>, or <span>an <a href="../../Macaulay2Doc/html/___Ideal.html">ideal</a></span> of a quotient polynomial ring <i>R</i></span></li>
<li><span><tt>f</tt>, <span>a <a href="../../Macaulay2Doc/html/___Ring__Element.html">ring element</a></span>, any non-zero divisor modulo the ideal or module.  Optional</span></li>
</ul>
</div>
</li>
<li><div class="single">Outputs:<ul><li><span><span>an <a href="../../Macaulay2Doc/html/___Ideal.html">ideal</a></span>, defining the Rees algebra of M</span></li>
</ul>
</div>
</li>
<li><div class="single"><a href="../../Macaulay2Doc/html/_using_spfunctions_spwith_spoptional_spinputs.html">Optional inputs</a>:<ul><li><span><a href="_symmetric__Kernel_lp..._cm_sp__Variable_sp_eq_gt_sp..._rp.html">Variable => ...</a>,  -- Choose name for variables in the created ring</span></li>
</ul>
</div>
</li>
</ul>
</div>
<div class="single"><h2>Description</h2>
<div><p>The Rees algebra of a module <i>M</i> over a ring <i>R</i> is here defined, following the paper What is the Rees algebra of a module? David Eisenbud, Craig Huneke and Bernd Ulrich, Proc. Amer. Math. Soc. 131 (2003) 701--708, as follows: If <i>h:F&rarr;M</i> is a surjection from a free module, and <i>g: M&rarr;G</i> is the universal map to a free module, then the Rees algebra of <i>M</i> is the image of the induced map of <i>Sym(gh): Sym(F)&rarr;Sym(G)</i>, and thus can be computed with symmetricKernel(gh). The paper above proves that if <i>M</i> is isomorphic to an ideal with inclusion <i>g: M&rarr;R</i> (or, in characteristic zero but not in characteristic <i>>0</i> if <i>M</i> is a submodule of a free module and <i>g&rsquo;: M&rarr;G</i>) is any injection), then the Rees algebra is equal to the image of <i>g&rsquo;h</i>, so it is unnecessary to compute the universal embedding.</p>
<p>This package gives the user a choice between two methods for finding the defining ideal of the Rees algebra of an ideal or module <i>M</i> over a ring <i>R</i>: The call</p>
<p><tt>reesIdeal(M)</tt></p>
<p>computes the universal embedding <i>g: M&rarr;G</i> and a surjection <i>f: F&rarr;M</i> and returns the result of symmetricKernel(gf). On the other hand, if the user knows an non-zerodivisor <i>a&isin;R</i> such that <i>M[a<sup>-1</sup></i> is a free module (this is the case, for example, if <i>a &isin;M&sub;R</i> and <i>a</i> is a non-zerodivisor), then it is often much faster to call</p>
<p><tt>reesIdeal(M,a)</tt></p>
<p>which finds a surjection <i>f: F&rarr;M</i> and returns <i>(J:a<sup>&infin;</sup>) &sub;Sym(F)</i>, the saturation of the ideal <i>J:=(ker f)Sym(F)</i>. Note that this gives the correct answer even under the slightly weaker hypothesis that <i>M[a<sup>-1</sup>]</i> is &ldquo;of linear type&rdquo;. (See also <a href="_is__Linear__Type.html" title="is a module of linear type">isLinearType</a>.)</p>
<div><b>Historical Background</b>: The Rees Algebra of an ideal is the basic commutative algebra analogue of the blow up operation in algebraic geometry. It has many applications, and a great deal of modern work in commutative algebra has been devoted to it.  The term "Rees Algebra" (of an ideal <i>I</i> in a ring <i>R</i>, say) is used here to refer to the ring <i>R[It]&sub;R[t]</i> which is sometimes called the "blowup algebra" instead. (The origin of the name may be traced to a paper by David Rees, (On a problem of Zariski. Illinois J. Math. (1958)145–149) where Rees used the ring <i>R[It,t<sup>-1</sup></i>, now also called the &ldquo;extended Rees Algebra.&rdquo;)</div>
<table class="examples"><tr><td><pre>i1 : kk = ZZ/101;</pre>
</td></tr>
<tr><td><pre>i2 : S=kk[x_0..x_4];</pre>
</td></tr>
<tr><td><pre>i3 : i=monomialCurveIdeal(S,{2,3,5,6})

                          2                       3      2     2      2     2
o3 = ideal (x x  - x x , x  - x x , x x  - x x , x  - x x , x x  - x x , x x 
             2 3    1 4   2    0 4   1 2    0 3   3    2 4   1 3    0 4   0 3
     ------------------------------------------------------------------------
        2     2              3    2
     - x x , x x  - x x x , x  - x x )
        1 4   1 3    0 2 4   1    0 4

o3 : Ideal of S</pre>
</td></tr>
<tr><td><pre>i4 : time V1 = reesIdeal i;
     -- used 0.076989 seconds

o4 : Ideal of S[w , w , w , w , w , w , w , w ]
                 0   1   2   3   4   5   6   7</pre>
</td></tr>
<tr><td><pre>i5 : time V2 = reesIdeal(i,i_0);
     -- used 0.183972 seconds

o5 : Ideal of S[w , w , w , w , w , w , w , w ]
                 0   1   2   3   4   5   6   7</pre>
</td></tr>
</table>
<div>This example is particularly interesting upon a bit more exploration.</div>
<table class="examples"><tr><td><pre>i6 : numgens V1

o6 = 15</pre>
</td></tr>
<tr><td><pre>i7 : numgens V2

o7 = 15</pre>
</td></tr>
</table>
<div>The difference is striking and, at least in part, explains the difference in computing time.  Furthermore, if we compute a Grobner basis for both and compare the two matrices, we see that we indeed got the same ideal.</div>
<table class="examples"><tr><td><pre>i8 : M1 = gens gb V1;

                                               1                                         84
o8 : Matrix (S[w , w , w , w , w , w , w , w ])  &lt;--- (S[w , w , w , w , w , w , w , w ])
                0   1   2   3   4   5   6   7             0   1   2   3   4   5   6   7</pre>
</td></tr>
<tr><td><pre>i9 : M2 = gens gb V2;

                                               1                                         84
o9 : Matrix (S[w , w , w , w , w , w , w , w ])  &lt;--- (S[w , w , w , w , w , w , w , w ])
                0   1   2   3   4   5   6   7             0   1   2   3   4   5   6   7</pre>
</td></tr>
<tr><td><pre>i10 : use ring M2

o10 = S[w , w , w , w , w , w , w , w ]
         0   1   2   3   4   5   6   7

o10 : PolynomialRing</pre>
</td></tr>
<tr><td><pre>i11 : M1 = substitute(M1, ring M2);

                                                1                                         84
o11 : Matrix (S[w , w , w , w , w , w , w , w ])  &lt;--- (S[w , w , w , w , w , w , w , w ])
                 0   1   2   3   4   5   6   7             0   1   2   3   4   5   6   7</pre>
</td></tr>
<tr><td><pre>i12 : M1 == M2

o12 = true</pre>
</td></tr>
<tr><td><pre>i13 : numgens source M2

o13 = 84</pre>
</td></tr>
</table>
<div>Another example illustrates the power and usage of the code.  We also show the output in this example.  While a bit messy, the user can see how we handle the degrees in both cases.</div>
<table class="examples"><tr><td><pre>i14 : S=kk[a,b,c]

o14 = S

o14 : PolynomialRing</pre>
</td></tr>
<tr><td><pre>i15 : m=matrix{{a,0},{b,a},{0,b}}

o15 = | a 0 |
      | b a |
      | 0 b |

              3       2
o15 : Matrix S  &lt;--- S</pre>
</td></tr>
<tr><td><pre>i16 : i=minors(2,m)

              2        2
o16 = ideal (a , a*b, b )

o16 : Ideal of S</pre>
</td></tr>
<tr><td><pre>i17 : time reesIdeal i
     -- used 0.027996 seconds

                                        2
o17 = ideal (b*w  - a*w , b*w  - a*w , w  - w w )
                1      2     0      1   1    0 2

o17 : Ideal of S[w , w , w ]
                  0   1   2</pre>
</td></tr>
<tr><td><pre>i18 : res i

       1      3      2
o18 = S  &lt;-- S  &lt;-- S  &lt;-- 0
                            
      0      1      2      3

o18 : ChainComplex</pre>
</td></tr>
<tr><td><pre>i19 : m=random(S^3,S^{4:-1})

o19 = | -10a-10b+17c -40a-5b+31c  -29a+28b-18c -31a-20b+48c |
      | -20a+2b-c    -37a+11b+40c 20a+25b-40c  26a+14b+22c  |
      | -47a+36b+12c -8a-15b-2c   -3a+4b+9c    -2a-49b-48c  |

              3       4
o19 : Matrix S  &lt;--- S</pre>
</td></tr>
<tr><td><pre>i20 : i=minors(3,m)

                  3     2         2      3      2                 2        2
o20 = ideal (- 42a  + 4a b - 43a*b  + 26b  - 11a c - 21a*b*c + 42b c - 3a*c 
      -----------------------------------------------------------------------
             2      3       3     2        2      3      2                2 
      + 10b*c  - 25c , - 48a  - 5a b + 6a*b  + 13b  + 10a c - 22a*b*c + 9b c
      -----------------------------------------------------------------------
             2        2      3       3      2         2      3      2   
      + 17a*c  + 41b*c  + 37c , - 34a  - 37a b + 31a*b  + 36b  - 14a c +
      -----------------------------------------------------------------------
                   2       2      3       3      2         2      3      2   
      33a*b*c - 23b c - b*c  + 19c , - 26a  + 23a b + 47a*b  - 35b  + 18a c +
      -----------------------------------------------------------------------
                   2         2       2      3
      23a*b*c + 41b c + 30a*c  + 7b*c  + 27c )

o20 : Ideal of S</pre>
</td></tr>
<tr><td><pre>i21 : time I=reesIdeal (i,i_0);
     -- used 0.011998 seconds

o21 : Ideal of S[w , w , w , w ]
                  0   1   2   3</pre>
</td></tr>
<tr><td><pre>i22 : transpose gens I

o22 = {-1, -4} | w_0c+39w_1a+26w_1b+45w_1c-45w_2a-31w_2b+10w_2c+49w_3a-28w_
      {-1, -4} | w_0b+14w_1a-25w_1b+27w_1c-32w_2a-44w_2b-46w_2c+16w_3a+27w_
      {-1, -4} | w_0a-18w_1a+41w_1b-20w_1c+50w_2a-39w_2b-21w_2c-26w_3a-22w_
      {-3, -9} | w_0^3+2w_0^2w_1+39w_0w_1^2+17w_1^3+16w_0^2w_2-40w_0w_1w_2-
      -----------------------------------------------------------------------
      3b+22w_3c                                                              
      3b+44w_3c                                                              
      3b+16w_3c                                                              
      18w_1^2w_2-2w_0w_2^2+13w_1w_2^2-21w_2^3+23w_0^2w_3-6w_0w_1w_3+47w_1^2w_
      -----------------------------------------------------------------------
                                                                           
                                                                           
                                                                           
      3+38w_0w_2w_3+9w_1w_2w_3+11w_2^2w_3+19w_0w_3^2+29w_1w_3^2-14w_2w_3^2+
      -----------------------------------------------------------------------
              |
              |
              |
      44w_3^3 |

                                4                         1
o22 : Matrix (S[w , w , w , w ])  &lt;--- (S[w , w , w , w ])
                 0   1   2   3             0   1   2   3</pre>
</td></tr>
<tr><td><pre>i23 : i=minors(2,m);

o23 : Ideal of S</pre>
</td></tr>
<tr><td><pre>i24 : time I=reesIdeal (i,i_0);
     -- used 0.075989 seconds

o24 : Ideal of S[w , w , w , w , w , w , w , w , w , w , w  , w  , w  , w  , w  , w  , w  , w  ]
                  0   1   2   3   4   5   6   7   8   9   10   11   12   13   14   15   16   17</pre>
</td></tr>
</table>
<div><b>Investigating plane curve singularities</b></div>
<table class="examples"><tr><td><pre>i25 : R = ZZ/32003[x,y,z]

o25 = R

o25 : PolynomialRing</pre>
</td></tr>
<tr><td><pre>i26 : I = ideal(x,y)

o26 = ideal (x, y)

o26 : Ideal of R</pre>
</td></tr>
<tr><td><pre>i27 : cusp = ideal(x^2*z-y^3)

               3    2
o27 = ideal(- y  + x z)

o27 : Ideal of R</pre>
</td></tr>
<tr><td><pre>i28 : RI = reesIdeal(I)

o28 = ideal(y*w  - x*w )
               0      1

o28 : Ideal of R[w , w ]
                  0   1</pre>
</td></tr>
<tr><td><pre>i29 : S = ring RI

o29 = S

o29 : PolynomialRing</pre>
</td></tr>
<tr><td><pre>i30 : totalTransform = substitute(cusp, S) + RI

                3    2
o30 = ideal (- y  + x z, y*w  - x*w )
                            0      1

o30 : Ideal of S</pre>
</td></tr>
<tr><td><pre>i31 : D = decompose totalTransform -- the components are the proper transform of the cuspidal curve and the exceptional curve

                            3    2             2       2      2
o31 = {ideal (y*w  - x*w , y  - x z, x*z*w  - y w , z*w  - y*w ), ideal (y,
                 0      1                 0      1     0      1
      -----------------------------------------------------------------------
      x)}

o31 : List</pre>
</td></tr>
<tr><td><pre>i32 : totalTransform = first flattenRing totalTransform

                3    2
o32 = ideal (- y  + x z, w y - w x)
                          0     1

                 ZZ
o32 : Ideal of -----[w , w , x, y, z]
               32003  0   1</pre>
</td></tr>
<tr><td><pre>i33 : L = primaryDecomposition totalTransform

                          3    2              2   2     2            2      
o33 = {ideal (w y - w x, y  - x z, w x*z - w y , w z - w y), ideal (y , x*y,
               0     1              0       1     0     1                   
      -----------------------------------------------------------------------
       2
      x , w y - w x)}
           0     1

o33 : List</pre>
</td></tr>
<tr><td><pre>i34 : apply(L, i -> (degree i)/(degree radical i))

o34 = {1, 2}

o34 : List</pre>
</td></tr>
</table>
<div>The total transform of the cusp contains the exceptional with multiplicity two.  The proper transform of the cusp is a smooth curve but is tangent to the exceptional curve.</div>
<table class="examples"><tr><td><pre>i35 : use ring L_0

        ZZ
o35 = -----[w , w , x, y, z]
      32003  0   1

o35 : PolynomialRing</pre>
</td></tr>
<tr><td><pre>i36 : singular = ideal(singularLocus(L_0));

                 ZZ
o36 : Ideal of -----[w , w , x, y, z]
               32003  0   1</pre>
</td></tr>
<tr><td><pre>i37 : SL = saturate(singular, ideal(x,y,z));

                 ZZ
o37 : Ideal of -----[w , w , x, y, z]
               32003  0   1</pre>
</td></tr>
<tr><td><pre>i38 : saturate(SL, ideal(w_0,w_1)) -- we get 1 so it is smooth.

o38 = ideal 1

                 ZZ
o38 : Ideal of -----[w , w , x, y, z]
               32003  0   1</pre>
</td></tr>
</table>
</div>
</div>
<div class="single"><h2>Caveat</h2>
<div><div/>
</div>
</div>
<div class="single"><h2>See also</h2>
<ul><li><span><a href="_symmetric__Kernel.html" title="Compute the Rees ring of the image of a matrix">symmetricKernel</a> -- Compute the Rees ring of the image of a matrix</span></li>
<li><span><a href="_rees__Algebra.html" title="compute the defining ideal of the Rees Algebra">reesAlgebra</a> -- compute the defining ideal of the Rees Algebra</span></li>
</ul>
</div>
<div class="waystouse"><h2>Ways to use <tt>reesIdeal</tt> :</h2>
<ul><li>reesIdeal(Ideal)</li>
<li>reesIdeal(Ideal,RingElement)</li>
<li>reesIdeal(Module)</li>
<li>reesIdeal(Module,RingElement)</li>
</ul>
</div>
</div>
</body>
</html>