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 \over 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 to improve this.
(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.
The object icFractions is a method function.