If I is an ideal in a ring of positive characteristic p, then frobeniusPower(t, I) computes the generalized Frobenius power I[t], as introduced by Hernandez, Teixeira, and Witt. If the exponent is a power of the characteristic, this is just the usual Frobenius power.
i1 : R = ZZ/5[x,y]; |
i2 : I = ideal(x, y); o2 : Ideal of R |
i3 : frobeniusPower(125, I) 125 125 o3 = ideal (x , y ) o3 : Ideal of R |
If n is an arbitrary nonnegative integer, then write the base p expansion of n as follows: n = a0 + a1 p + a2 p2 + ... + ar pr. Then the nth Frobenius power of I is defined as follows: I[n] = (Ia0)(Ia1)[p](Ia2)[p2]…(Iar)[pr].
i4 : R = ZZ/3[x,y]; |
i5 : I = ideal(x, y); o5 : Ideal of R |
i6 : adicExpansion(3, 17) o6 = {2, 2, 1} o6 : List |
i7 : J1 = I^2*frobenius(1, I^2)*frobenius(2, I); o7 : Ideal of R |
i8 : J2 = frobeniusPower(17, I); o8 : Ideal of R |
i9 : J1 == J2 o9 = true |
If t is a rational number of the form t = a/pe, then I[t] = (I[a])[1/pe].
i10 : R = ZZ/5[x,y,z]; |
i11 : I = ideal(x^50*z^95, y^100 + z^27); o11 : Ideal of R |
i12 : frobeniusPower(4/5^2, I) 4 4 3 8 2 12 16 o12 = ideal (z , y z , y z , y z, y ) o12 : Ideal of R |
i13 : frobeniusRoot(2, frobeniusPower(4, I)) 4 4 3 8 2 12 16 o13 = ideal (z , y z , y z , y z, y ) o13 : Ideal of R |
If t is an arbitrary nonegative rational number, and {tn}= {an/pen} is a sequence of rational numbers converging to t from above, then I[t] is the largest ideal in the increasing chain of ideals {I[tn]}.
i14 : p = 7; |
i15 : R = ZZ/p[x,y]; |
i16 : I = ideal(x^50, y^30); o16 : Ideal of R |
i17 : t = 6/19; |
i18 : expon = e -> ceiling(p^e*t)/p^e; -- a sequence converging to t from above |
i19 : print \ apply(6, i -> frobeniusPower(expon i, I)); 50 30 ideal (x , y ) 12 7 8 14 4 21 ideal (y , x y , x y , x ) 9 2 8 7 5 8 4 14 15 ideal (y , x y , x y , x y , x y, x ) 9 8 7 4 14 ideal (y , x*y , x y , x ) 9 8 7 4 14 ideal (y , x*y , x y , x ) 9 8 7 4 14 ideal (y , x*y , x y , x ) |
i20 : frobeniusPower(t, I) 9 8 7 4 14 o20 = ideal (y , x*y , x y , x ) o20 : Ideal of R |
The option FrobeniusPowerStrategy controls the strategy for computing the generalized Frobenius power I[t]. The two valid options are Safe and Naive, and the default strategy is Naive.
The option FrobeniusRootStrategy is passed to internal frobeniusRoot calls.