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 Parameter-test-ideals of Cohen–Macaulay rings (Compositio Mathematica 144 (4), 933-948), under the name "star-closure". It is a key tool in computing test ideals and test modules.
The object ascendIdeal is a method function with options.