If the integral closure of `R` has not yet been computed, that computation is performed first. No extra computation is then involved to find the fractions.

i1 : R = QQ[x,y,z]/ideal(x^6-z^6-y^2*z^4); |

i2 : icFractions R 3 2 x x o2 = {--, --, x, y, z} 2 z z o2 : List |

i3 : R' = integralClosure R o3 = R' o3 : QuotientRing |

i4 : gens R' o4 = {w , w , x, y, z} 4,0 3,0 o4 : List |

i5 : netList (ideal R')_* +--------------+ | 2 | o5 = |w z - x | | 3,0 | +--------------+ |w z - w x | | 4,0 3,0 | +--------------+ | 2 | |w x - w | | 4,0 3,0 | +--------------+ | 2 2 2| |w - y - z | | 4,0 | +--------------+ |

Notice that the *i*-th fraction corresponds to the *i*-th generator of the integral closure. For instance, the variable *w _{(}3,0) = x^{2} /z*.

(a) Currently in Macaulay2, fractions over quotients of polynomial rings do not have a nice normal form. In particular, sometimes the fractions are ’simplified’ to give much nastier looking fractions. We hope that in the near future, this misfeature will be corrected. (b) If you want to control the computation of the integral closure via optional arguments, then make sure you call integralClosure(Ring) first, since `icFractions` does not have optional arguments.

- integralClosure -- integral closure of an ideal or a domain
- icMap -- natural map from an affine domain into its integral closure

- icFractions(Ring)