If the integral closure of R has not yet been computed, that computation is performed first. No extra computation is involved. If R is integrally closed, then the identity map is returned.
i1 : R = QQ[x,y]/(y^2-x^3) o1 = R o1 : QuotientRing |
i2 : f = icMap R QQ[w , x, y] 0,0 o2 = map(---------------------------------,R,{x, y}) 2 2 (w y - x , w x - y, w - x) 0,0 0,0 0,0 QQ[w , x, y] 0,0 o2 : RingMap --------------------------------- <--- R 2 2 (w y - x , w x - y, w - x) 0,0 0,0 0,0 |
i3 : isWellDefined f o3 = true |
i4 : source f === R o4 = true |
i5 : describe target f QQ[w , x, y] 0,0 o5 = --------------------------------- 2 2 (w y - x , w x - y, w - x) 0,0 0,0 0,0 |
This finite ring map can be used to compute the conductor, that is, the ideal of elements of R which are universal denominators for the integral closure (i.e. those d ∈R such that d R’ ⊂R).
i6 : S = QQ[a,b,c]/ideal(a^6-c^6-b^2*c^4); |
i7 : F = icMap S; QQ[w , w , a, b, c] 4,0 3,0 o7 : RingMap --------------------------------------------------------- <--- S 2 2 2 2 2 (w c - a , w c - w a, w a - w , w - b - c ) 3,0 4,0 3,0 4,0 3,0 4,0 |
i8 : conductor F 3 2 3 4 o8 = ideal (c , a*c , a c, a ) o8 : Ideal of S |
If you want to control the computation of the integral closure via optional arguments, then make sure you call integralClosure(Ring) first, since icMap does not have optional arguments.