ascendIdeal(e, h, J)
ascendIdeal(e, a, h, J)
ascendIdeal(e, expList, hList, J)
Let $J$ be an ideal in a polynomial ring $S$ of characteristic $p>0$. An element $h$ of $S$ determines a $p^{e}$linear map $\phi: S \to\ S$, obtained by premultiplying the $e^{th}$ Frobenius trace on $S$ by $h$. The function ascendIdeal finds the smallest $\phi$stable ideal of $S$ containing $J$, which is the stable value of the ascending chain $J\subseteq J + \phi(J)\subseteq J + \phi(J) + \phi^2(J)\subseteq \cdots$.
If $J$ is not an ideal of a polynomial ring, but of a quotient of a polynomial ring, ascendIdeal will do the computation with the $e^{th}$ Frobenius trace in the ambient polynomial ring, but will do the comparison, to see if stabilization has occurred, inside the quotient ring.






The alternate ways to call the function allow the function to behave more efficiently. Indeed, frequently the polynomial passed is a power, $h^a$. If $a$ is large, it is more efficient not to compute $h^a$, but instead, to keep the exponent small by only raising $h$ to the minimal power needed to do the computation at that time.





More generally, if $h$ is a product of powers, $h = h_1^{a_1}\ldots h_n^{a_n}$, then it is more efficient to pass ascendIdeal the lists expList = \{a_1,\ldots,a_n\} and hList = \{h_1,\ldots,h_n\} of exponents and bases.
By default (when AscentCount => false), ascendIdeal just returns the stable (ascended) ideal. If, instead, AscentCount is set to true, then ascendIdeal returns a sequence whose first entry is the stable ideal, and the second is the number of steps it took for the ascending chain to stabilize and reach that ideal.





The option FrobeniusRootStrategy is passed to internal frobeniusRoot calls.
This method is described in M. Katzman's Parametertestideals of Cohen–Macaulay rings (Compositio Mathematica 144 (4), 933948), under the name "starclosure". It is a key tool in computing test ideals and test modules.
The object ascendIdeal is a method function with options.