# intclMonIdeal(Ideal,RingElement,allComputations=>...) -- normalization of Rees algebra

## Synopsis

• Usage:
intclMonIdeal(I,t)
• Inputs:
• an ideal, the leading monomials of the elements of the ideal are considered as generators of a monomial ideal
• , the free variable of the ring that should be used for the computation (optional)
• Outputs:
• an ideal, the integral closure of the input ideal
• an instance of the type MonomialSubalgebra, the normalization of the Rees algebra of I

## Description

The leading monomials of the elements of I are considered as generators of a monomial ideal. This function computes the integral closure of I\subset R in the polynomial ring R[t] and the normalization of its Rees algebra. If f_1,\ldots,f_m are the monomial generators of I, then the normalization of the Rees algebra is the integral closure of K[f_1t,\ldots,f_nt] in R[t]. For a definition of the Rees algebra (or Rees ring) see Bruns and Herzog, Cohen-Macaulay rings, Cambridge University Press 1998, p. 182. The function returns the integral closure of the ideal I and the normalization of its Rees algebra. If there is a free variable in the original ring (i.e. a variable that does not appear in any of the generators of I), you can give the function that variable as second input. The function then uses it instead of creating a new one. Note that in this case the input ideal is considered as ideal in the smaller polynomial ring. If the option allComputations is set to true, all data that has been computed by Normaliz is stored in a RationalCone in the CacheTable of the monomial subalgebra returned. This method can also be used with the option grading.

 i1 : R=ZZ/37[x,y,t]; i2 : I=ideal(x^3, x^2*y, y^3, x*y^2); o2 : Ideal of R i3 : (intCl,normRees)=intclMonIdeal(allComputations=>true,I) 3 2 2 3 o3 = (ideal (y , x*y , x y, x ), ------------------------------------------------------------------------ MonomialSubalgebra{cache => CacheTable{...1...} }) 3 2 2 3 generators => {t, y, y a, x, x*y a, x y*a, x a} ZZ ring => --[x..y, t, a] 37 o3 : Sequence i4 : normRees.cache#"cone" o4 = RationalCone{cgr => | 0 | } | 5 | equ => | 0 | | 4 | gen => | 0 0 1 0 | | 0 1 0 0 | | 0 3 0 1 | | 1 0 0 0 | | 1 2 0 1 | | 2 1 0 1 | | 3 0 0 1 | inv => HashTable{ => (1, 1, 1, 1) } class group => 1 : (1) degree 1 elements => 7 dim max subspace => 0 embedding dim => 4 external index => 1 graded => true grading denom => 1 grading => (1, 1, 1, -2) hilbert basis elements => 7 hilbert quasipolynomial denom => 6 hilbert series denom => (1, 1, 1, 1) hilbert series num => (1, 3) inhomogeneous => false integrally closed => true internal index => 1 multiplicity denom => 1 multiplicity => 4 number extreme rays => 5 number support hyperplanes => 5 primary => false rank => 4 size triangulation => 4 sum dets => 4 sup => | 0 0 0 1 | | 0 0 1 0 | | 0 1 0 0 | | 1 0 0 0 | | 1 1 0 -3 | o4 : RationalCone