# ascendModule -- find the smallest submodule of free module containing a given submodule which is compatible with a given Cartier linear map

## Synopsis

• Usage:
V = ascendModule(e, M, U)
B = ascendModule(e, A, U)
• Inputs:
• M, , a submodule of a free module R^n, where R is a polynomial ring over a finite field of characteristic p
• A, , an {n\times m} matrix with entries in R
• U, , an {n\times n} matrix with entries in R
• e, an integer,
• Outputs:
• V, , the smallest submodule of R^n containing M such that U^{1+p+\ldots+p^{e-1}} V \subseteq V^{[p^e]}
• B, , whose image is the smallest submodule V of R^n containing the image of A such that U^{1+p+\ldots+p^{e-1}} V \subseteq V^{[p^e]}

## Description

Given an $n\times n$ matrix $U$ and a submodule $M$ of a free module $R^n$, ascendModule finds the smallest submodule $V$ of $R^n$ containing $M$ and which satisfies $U^{1 + p + \cdots + p^{e-1}} V\subseteq V^{[p^e]}$.

 i1 : R = ZZ/2[a,b,c,d]; i2 : A = matrix {{b*c, a, 0}, {a^2* d, d^2 , c + d}}; 2 3 o2 : Matrix R <--- R i3 : M = image A; i4 : U = matrix {{a^4 + a*b*c^2 + a*b*c*d, a^2* b}, {a^2*c*d^3 , a^3* c*d + a^3 *d^2 + b*c*d^3}}; 2 2 o4 : Matrix R <--- R i5 : ascendModule(1, M, U) o5 = image | 0 a bc | | c+d d2 a2d | 2 o5 : R-module, submodule of R

For ease of use, instead of passing the module $M$, one can instead pass a matrix $A$ whose image is $M$, and ascendModule will return a matrix whose image is $V$.

 i6 : ascendModule(1, A, U) o6 = | 0 a bc | | c+d d2 a2d | 2 3 o6 : Matrix R <--- R

This method is described in M. Katzman and W. Zhang's "Annihilators of Artinian modules compatible with a Frobenius map", under the name "star-closure".

## Ways to use ascendModule :

• "ascendModule(ZZ,Matrix,Matrix)"
• "ascendModule(ZZ,Module,Matrix)"

## For the programmer

The object ascendModule is .