Let φ be the p-e linear map obtained by multiplying e-th Frobenius trace on a polynomial ring by h. Then this function finds the smallest φ-stable ideal containing J. The idea is to consider the ascending chain J, J+φ(J), J+φ(J)+φ2(J), .... We return the stable value. For instance, this can be used to compute the test ideal. Note if the ideal J is not an ideal in a polynomial ring, the function will do the computation with e-th Frobenius trace in the ambient polynomial ring, but will do the comparison inside the quotient ring (to see if we are done).
i1 : S = ZZ/5[x,y,z]; |
i2 : g = x^4+y^4+z^4; |
i3 : h = g^4; |
i4 : R = S/ideal(g); |
i5 : ascendIdeal(1, h, ideal(y^3)) 2 2 2 o5 = ideal (z , y*z, x*z, y , x*y, x ) o5 : Ideal of R |
i6 : ascendIdeal(1, h, ideal((sub(y, S))^3)) 2 2 2 o6 = ideal (z , y*z, x*z, y , x*y, x ) o6 : Ideal of S |
The alternate ways to call the function allow the function to behave in a more efficient way. Indeed, frequently the polynomial passed is a power, ha. If a is large, we don’t want to compute ha; instead we try to keep the exponent small by only raising it to the minimal power needed to do computation at that time.
i7 : S = ZZ/5[x,y,z]; |
i8 : g = x^4+y^4+z^4; |
i9 : R = S/ideal(g); |
i10 : ascendIdeal(1, 4, g, ideal(y^3)) 2 2 2 o10 = ideal (z , y*z, x*z, y , x*y, x ) o10 : Ideal of R |
i11 : ascendIdeal(1, 4, g, ideal((sub(y, S))^3)) 2 2 2 o11 = ideal (z , y*z, x*z, y , x*y, x ) o11 : Ideal of S |
More generally, if h is a product of powers, h = h1a1…hnan, then you should pass ascendIdeal the lists expList={a1,...,an} and {h1,...,hn} of exponents and bases.
This method appared first in the work of Mordechai Katzman on star closure.