# idealizer -- compute Hom(I,I) as a quotient ring

## Synopsis

• Usage:
(F,G) = idealizer(I,f)
• Inputs:
• I, an ideal, in a domain R
• f, , an element of the ideal I
• Variable,
• Index, an integer
• Optional inputs:
• Index => ..., -- Sets the starting index on the new variables used to build the endomorphism ring Hom(J,J). If the program idealizer is used independently, the user will generally want to use the default value of 0. However, when used as part of the integralClosure computation the number needs to start higher depending on the level of recursion involved.
• Strategy => ... (missing documentation),
• Variable => ..., -- Sets the name of the indexed variables introduced in computing the endomorphism ring Hom(J,J).
• Outputs:
• F, , The inclusion map from R into S = HomR(I,I)
• G, , frac S →frac R, giving the fractions corresponding to each generator of S.

## Description

This is a key subroutine used in the computation of integral closures.

 ```i1 : R = QQ[x,y]/(y^3-x^7) o1 = R o1 : QuotientRing``` ```i2 : I = ideal(x^2,y^2) 2 2 o2 = ideal (x , y ) o2 : Ideal of R``` `i3 : (F,G) = idealizer(I,x^2);` ```i4 : target F QQ[w , x, y] 0,0 o4 = ------------------------------------- 5 2 2 2 3 (w y - x , w x - y , w - x y) 0,0 0,0 0,0 o4 : QuotientRing``` ```i5 : first entries G.matrix 2 y o5 = {--, x, y} 2 x o5 : List```