next | previous | forward | backward | up | top | index | toc | Macaulay2 website
TestIdeals :: isFRational

isFRational -- whether a ring is F-rational



The function isFRational determines whether a ring is $F$-rational. If the option AtOrigin (default value false) is set to true, it will only check if the ring is $F$-rational at the origin (this can be slower). If the option AssumeCM (default value false) is set to 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]/(x^3 + y^3 + z^3);
i7 : isFRational(R)

o7 = false

Below is a more interesting example, of a ring that is $F$-rational but not $F$-regular. This example first appeared in A. K. Singh's work on deformation of $F$-regularity.

i8 : S = ZZ/3[a,b,c,d,t];
i9 : M = matrix{{a^2 + t^4, b, d}, {c, a^2, b^3 - d}};

             2       3
o9 : Matrix S  <--- S
i10 : I = minors(2, M);

o10 : Ideal of S
i11 : R = S/I;
i12 : isFRational(R)

o12 = true

The option AssumeDomain is used when computing a test element. The option FrobeniusRootStrategy is passed to internal frobeniusRoot calls.


This function assumes that the spectrum of the ring is connected. Like isCohenMacaulay, if given a non-equidimensional $F$-rational ring (e.g., a ring whose spectrum has two connected components of different dimensions), isFRational will return false.

Ways to use isFRational :

For the programmer

The object isFRational is a method function with options.