<?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>integralClosure(Ring) -- compute the integral closure (normalization) of an affine domain</title> <link rel="stylesheet" type="text/css" href="../../../../Macaulay2/Style/doc.css"/> </head> <body> <table class="buttons"> <tr> <td><div><a href="_is__Normal.html">next</a> | <a href="_integral__Closure_lp__Ideal_cm__Z__Z_rp.html">previous</a> | <a href="_is__Normal.html">forward</a> | <a href="_integral__Closure_lp__Ideal_cm__Z__Z_rp.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>integralClosure(Ring) -- compute the integral closure (normalization) of an affine domain</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>R' = integralClosure R</tt></div> </dd></dl> </div> </li> <li><span>Function: <a href="_integral__Closure.html" title="integral closure of an ideal or a domain">integralClosure</a></span></li> <li><div class="single">Inputs:<ul><li><span><tt>R</tt>, <span>a <a href="../../Macaulay2Doc/html/___Ring.html">ring</a></span>, a quotient of a polynomial ring over a field</span></li> </ul> </div> </li> <li><div class="single">Consequences:<ul><li><div>The inclusion map <i>R →R’</i> can be obtained with <a href="_ic__Map.html" title="natural map from an affine domain into its integral closure">icMap</a>. The fractions corresponding to the variables of the ring <tt>R’</tt> can be found with <a href="_ic__Fractions.html" title="fractions integral over an affine domain">icFractions</a></div> </li> </ul> </div> </li> <li><div class="single">Outputs:<ul><li><span><tt>R'</tt>, <span>a <a href="../../Macaulay2Doc/html/___Ring.html">ring</a></span>, the integral closure of <tt>R</tt></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="_integral__Closure_lp..._cm_sp__Keep_sp_eq_gt_sp..._rp.html">Keep => ...</a>, -- list ring generators which should not be simplified away</span></li> <li><span><a href="_integral__Closure_lp..._cm_sp__Limit_sp_eq_gt_sp..._rp.html">Limit => ...</a>, -- do a partial integral closure</span></li> <li><span><a href="_integral__Closure_lp..._cm_sp__Strategy_sp_eq_gt_sp..._rp.html">Strategy => ...</a>, -- control the algorithm used</span></li> <li><span><a href="_integral__Closure_lp..._cm_sp__Variable_sp_eq_gt_sp..._rp.html">Variable => ...</a>, -- set the base letter for the indexed variables introduced while computing the integral closure</span></li> <li><span><a href="_integral__Closure_lp..._cm_sp__Verbosity_sp_eq_gt_sp..._rp.html">Verbosity => ...</a>, -- display a certain amount of detail about the computation</span></li> </ul> </div> </li> </ul> </div> <div class="single"><h2>Description</h2> <div><div>The integral closure of a domain is the subring of the fraction field consisting of all fractions integral over the domain. For example,</div> <table class="examples"><tr><td><pre>i1 : R = QQ[x,y,z]/ideal(x^6-z^6-y^2*z^4-z^3);</pre> </td></tr> <tr><td><pre>i2 : R' = integralClosure R o2 = R' o2 : QuotientRing</pre> </td></tr> <tr><td><pre>i3 : gens R' o3 = {w , x, y, z} 3,0 o3 : List</pre> </td></tr> <tr><td><pre>i4 : icFractions R 2 x o4 = {--, x, y, z} z o4 : List</pre> </td></tr> <tr><td><pre>i5 : icMap R o5 = map(R',R,{x, y, z}) o5 : RingMap R' <--- R</pre> </td></tr> <tr><td><pre>i6 : I = trim ideal R' 2 3 2 3 o6 = ideal (w z - x , w - y z - z - 1) 3,0 3,0 o6 : Ideal of QQ[w , x, y, z] 3,0</pre> </td></tr> </table> <div>Sometimes using <a href="../../Macaulay2Doc/html/_trim.html" title="minimize generators and relations">trim</a> provides a cleaner set of generators.</div> <p></p> <div>If <i>R</i> is not a domain, first decompose it, and collect all of the integral closures.</div> <table class="examples"><tr><td><pre>i7 : S = ZZ/101[a..d]/ideal(a*(b-c),c*(b-d),b*(c-d));</pre> </td></tr> <tr><td><pre>i8 : C = decompose ideal S o8 = {ideal (b - c, - c + d), ideal (b, d, a), ideal (c, b), ideal (c, d, a)} o8 : List</pre> </td></tr> <tr><td><pre>i9 : Rs = apply(C, I -> (ring I)/I);</pre> </td></tr> <tr><td><pre>i10 : Rs/integralClosure ZZ ZZ ZZ ZZ ---[a, b, c, d] ---[a, b, c, d] ---[a, b, c, d] ---[a, b, c, d] 101 101 101 101 o10 = {----------------, ---------------, ---------------, ---------------} (b - c, - c + d) (b, d, a) (c, b) (c, d, a) o10 : List</pre> </td></tr> <tr><td><pre>i11 : oo/prune ZZ ZZ ZZ ZZ o11 = {---[a, d], ---[c], ---[a, d], ---[b]} 101 101 101 101 o11 : List</pre> </td></tr> </table> <div>This function is roughly based on Theo De Jong’s paper, <em>An Algorithm for Computing the Integral Closure</em>, J. Symbolic Computation, (1998) 26, 273-277. This algorithm is similar to the round two algorithm of Zassenhaus in algebraic number theory.</div> <div>There are several optional parameters which allows the user to control the way the integral closure is computed. These options may change in the future.</div> </div> </div> <div class="single"><h2>Caveat</h2> <div><div>This function requires that the degree of the field extension (over a pure transcendental subfield) be greater than the characteristic of the base field. If not, use <a href="_ic__Frac__P.html" title="compute the integral closure in prime characteristic">icFracP</a>. This function requires that the ring be finitely generated over a ring. If not (e.g. if it is f.g. over the integers), then the result is integral, but not necessarily the entire integral closure. Finally, if the ring is not a domain, then the answers will often be incorrect, or an obscure error will occur.</div> </div> </div> <div class="single"><h2>See also</h2> <ul><li><span><a href="_ic__Map.html" title="natural map from an affine domain into its integral closure">icMap</a> -- natural map from an affine domain into its integral closure</span></li> <li><span><a href="_ic__Fractions.html" title="fractions integral over an affine domain">icFractions</a> -- fractions integral over an affine domain</span></li> <li><span><a href="_conductor.html" title="the conductor of a finite ring map">conductor</a> -- the conductor of a finite ring map</span></li> <li><span><a href="_ic__Frac__P.html" title="compute the integral closure in prime characteristic">icFracP</a> -- compute the integral closure in prime characteristic</span></li> </ul> </div> </div> </body> </html>