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 : 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 |

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).

i3 : S = QQ[a,b,c]/ideal(a^6-c^6-b^2*c^4); |

i4 : F = icMap S; QQ[w , w , a, b, c] 4,0 3,0 o4 : 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 |

i5 : conductor F 3 2 3 4 o5 = ideal (c , a*c , a c, a ) o5 : 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.

- integralClosure(Ring) -- compute the integral closure (normalization) of an affine domain
- conductor -- the conductor of a finite ring map

- icMap(Ring)