# isFRational -- whether a ring is F-rational

## Synopsis

• Usage:
isFRational(R)
• Inputs:
• Optional inputs:
• AtOrigin => , default value false, specifies that $F$-rationality be checked only at the origin, and that the Cohen-Macaulayness test be done with the isCM command, from the Depth package
• AssumeCM => , default value false, assumes the ring is Cohen-Macaulay
• AssumeDomain => , default value false, assumes the ring is an integral domain
• FrobeniusRootStrategy => , default value Substitution, selects the strategy for internal frobeniusRoot calls
• Outputs:

## Description

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.

## Caveat

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 :

• "isFRational(Ring)"

## For the programmer

The object isFRational is .