next | previous | forward | backward | up | top | index | toc | directory | Macaulay 2 web site

integralClosure -- compute the integral closure of a reduced ring

Synopsis

Description

The code for this function allows users to retrieve certain information if desired. The information of largest interest is the fractions that correspond to the added variables in this description of the integral closure. Unfortunately, all of the added features currently only work on affine domains. The map and the corresponding fractions are obtained as a matrix using the function icFractions where R is an affine domain. This function can be run without first using integralClosure. The natural map from R into its integral closure is obtained using the function icMap and the conductor of the integral closure of R into R is found using conductor (icMap R). Note that both icFractions and icMap take the input ring R as input rather than the output of integralClosure. In this way you can use these functions without running integralClosure. The function integralClosure is based on Theo De Jong's paper, An Algorithm for Computing the Integral Closure, J. Symbolic Computation, (1998) 26, 273-277. This implementation is written and maintained by Amelia Taylor, <amelia.taylor@coloradocollege.edu>.

A domain example.

i1 : R = QQ[x,y,z]/ideal(x^6-z^6-y^2*z^4);
i2 : integralClosure R

                  QQ[w , w , x, y, z]
                      7   6
o2 = ---------------------------------------------
             2                    2   2    2    2
     (w z - x , w z - w x, w x - w , w  - y  - z )
       6         7     6    7     6   7

o2 : QuotientRing
In the case that the input ring R is reduced, but not a domain, the direct sum of the rings returned is isomporphic to the integral closure of R, but the rings returned are not necessarily all domains.
i3 : S=ZZ/101[a..d]/ideal(a*(b-c),c*(b-d),b*(c-d));
i4 : integralClosure S

               ZZ
              ---[w , a, d]
       ZZ     101  0
o4 = {---[c], -------------}
      101         2
                 w  - w
                  0    0

o4 : List
The algorithm can correctly proceed without decomposing a reduced ring if it finds a non-zero divisor f with which to compute 1/f(fJ:J), where J is the ideal defining the non-normal locus at that stage.

A package implementing product rings is in development. When this package is complete, the interface for the integralClosure code will change. In particular, in the case of a non-domain, a quotient ring of a polynomial ring isomorphic to the direct product of the factors formed during the computation will be returned. The individual factors will be available either as a part of the ring, or via a function and in this case, all the rings returned will be domains. This provides two advantages: first access to all the factors as domains and the ability to use other functions described below in the reduced case.

The code for this function allows users to retrieve certain information if desired. The information of largest interest is the fractions that correspond to the added variables in this description of the integral closure. Unfortunately, all of the added features currently only work on affine domains. The map and the corresponding fractions are obtained as a matrix using the function where R is an affine domain. This function can be run without first using integralClosure. The natural map from R into its integral closure is obtained using the function icMap and the conductor of the integral closure of R into R is found using conductor (icMap R). Note that both icFractions and icMap take the input ring R as input rather than the output of integralClosure. In this way you can use these functions without running integralClosure.

See also

Ways to use integralClosure :