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.