# isFJumpingExponent -- whether a given number is an F-jumping exponent

## Synopsis

• Usage:
isFJumpingExponent(t, f)
• Inputs:
• t, , a rational number candidate for $F$-jumping exponent of f
• f, , in a $\mathbb{Q}$-Gorenstein ring of positive characteristic $p$, whose index is not divisible by $p$
• Optional inputs:
• AssumeDomain => , default value true, indicates whether the ambient ring of f is an integral domain
• FrobeniusRootStrategy => , default value Substitution, passed to computations in the TestIdeals package
• AtOrigin => , default value false, tells the function whether to consider only the behavior at the origin
• MaxCartierIndex => an integer, default value 10, sets the maximum $\mathbb{Q}$-Gorenstein index to search for
• QGorensteinIndex => an integer, default value 0, specifies the $\mathbb{Q}$-Gorenstein index of the ring
• Verbose => , default value false, whether the output is to be verbose
• Outputs:
• , reporting whether t is an $F$-jumping exponent of f

## Description

Consider a $\mathbb{Q}$-Gorenstein ring $R$ of characteristic $p>0$, of index not divisible by $p$. Given an element $f$ of $R$ and a rational number $t$, isFJumpingExponent(t, f) returns true if $t$ is an $F$-jumping exponent of $f$, and otherwise it returns false.

 i1 : R = ZZ/5[x,y]; i2 : f = x^4 + y^3 + x^2*y^2; i3 : isFJumpingExponent(7/12, f) o3 = true i4 : isFJumpingExponent(4/5, f) o4 = true i5 : isFJumpingExponent(5/6, f) o5 = false i6 : isFJumpingExponent(11/12, f) o6 = true

The ring $R$ below is singular, and the jumping numbers of $f$ in the open unit interval are 1/4, 1/2 and 3/4.

 i7 : R = ZZ/11[x,y,z]/(x*y - z^2); i8 : f = x^2; i9 : isFJumpingExponent(1/4, f) o9 = true i10 : isFJumpingExponent(3/8, f) o10 = false i11 : isFJumpingExponent(1/2, f) o11 = true i12 : isFJumpingExponent(2/3, f) o12 = false i13 : isFJumpingExponent(3/4, f) o13 = true

Setting the option AtOrigin to true (its default value is false) tells the function to consider only $F$-jumping exponents at the origin. The following example considers a polynomial that looks locally analytically like two lines at the origin, and four lines at (2,0).

 i14 : R = ZZ/13[x,y]; i15 : f = y*((y + 1) - (x - 1)^2)*(x - 2)*(x + y - 2); i16 : isFJumpingExponent(3/4, f) o16 = true i17 : isFJumpingExponent(3/4, f, AtOrigin => true) o17 = false

If the ambient ring $R$ is not a domain, the option AssumeDomain should be set to false. We assume that the ring is a domain by default, in order to speed up the computation.

If the Gorenstein index of $R$ is known, the user should set the option QGorensteinIndex to this value. Otherwise, the function attempts to find the Gorenstein index of $R$, assuming it is between 1 and the value passed to the option MaxCartierIndex (default value 10).

The option FrobeniusRootStrategy is passed to internal calls of functions from the TestIdeals package. The two valid values of FrobeniusRootStrategy are Substitution and MonomialBasis.

Setting the option Verbose (default value false) to true produces verbose output.