Determines if a ring is F-rational. If you pass it IsLocal=>true, it will only check if the ring is F-rational at the origin (this can be slower). If you pass it AssumeCM=>true, it will not verify that the ring is Cohen-Macaulay.
i1 : T = ZZ/5[x,y]; |
i2 : S = ZZ/5[a,b,c,d]; |
i3 : g = map(T, S, {x^3, x^2*y, x*y^2, y^3}); o3 : RingMap T <--- S |
i4 : R = S/(ker g); |
i5 : isFrational(R) o5 = true |
i6 : R = ZZ/7[x,y,z]/ideal(x^3+y^3+z^3); |
i7 : isFrational(R) o7 = false |
We conclude with a more interesting example of a ring that is F-rational but not F-regular. This came up in A. K. Singh’s work on deformation of F-regularity.
i8 : S = ZZ/3[a,b,c,d,t]; |
i9 : m = 4; |
i10 : n = 3; |
i11 : M = matrix{ {a^2 + t^m, b, d}, {c, a^2, b^n-d} }; 2 3 o11 : Matrix S <--- S |
i12 : I = minors(2, M); o12 : Ideal of S |
i13 : R = S/I; |
i14 : isFrational(R) testModule: Multiple trace map for omega generators (Macaulay2 failed to find the principal generator of a principal ideal). Using them all. o14 = true |
Warning, this function assumes that Spec R is connected. Like isCohenMacaulay, if you pass it a non-equidimensional F-rational ring (for example, if Spec R has two connected components of different dimensions), this function will return false.