FlabbyResolutionFromBase.gap

Definition of $M_G$
Let $G$ be a finite subgroup of $\mathrm{GL}(n,\mathbb{Z})$. The $G$-lattice $M_G$ of rank $n$ is defined to be the $G$-lattice with a $\mathbb{Z}$-basis $\{u_1,\ldots,u_n\}$ on which $G$ acts by $\sigma(u_i)=\sum_{j=1}^n a_{i,j}u_j$ for any $ \sigma=[a_{i,j}]\in G$.

Hminus1

Hminus1(G)
returns the Tate cohomology group $\widehat H^{-1}(G,M_G)$ for a finite subgroup $G \leq \mathrm{GL}(n,\mathbb{Z})$.

H0

H0(G)
returns the Tate cohomology group $\widehat H^0(G,M_G)$ for a finite subgroup $G \leq \mathrm{GL}(n,\mathbb{Z})$.

H1

H1(G)
returns the cohomology group $H^1(G,M_G)$ for a finite subgroup $G \leq \mathrm{GL}(n,\mathbb{Z})$.

Z0lattice

Z0lattice(G)
returns a $\mathbb{Z}$-basis of the group of Tate $0$-cocycles $\widehat Z^0(G,M_G)$ for a finite subgroup $G \leq \mathrm{GL}(n,\mathbb{Z})$.

ConjugacyClassesSubgroups2, ConjugacyClassesSubgroupsFromPerm

ConjugacyClassesSubgroups2(G)
ConjugacyClassesSubgroupsFromPerm(G)
returns the list of conjugacy classes of subgroups of a group $G$. We use this function because the ordering of the conjugacy classes of subgroups of $G$ by the built-in function ConjugacyClassesSubgroups(G) is not fixed for some groups. If a group $G$ is too big, ConjugacyClassesSubgroups2(G) may not work well.

IsFlabby

IsFlabby(G)
returns whether $G$-lattice $M_G$ is flabby or not.

IsCoflabby

IsCoflabby(G)
returns whether $G$-lattice $M_G$ is coflabby or not.

IsInvertible

IsInvertible(G)
returns whether $G$-lattice $M_G$ is invertible or not.

FlabbyResoluton

FlabbyResolution(G)
returns a flabby resolution $0 \rightarrow M_G \xrightarrow{\iota} P \xrightarrow{\phi} F \rightarrow 0$ of $M_G$ as follows:
FlabbyResolution(G).actionP
returns the matrix representation of the action of $G$ on $P$;
FlabbyResolution(G).actionF
returns the matrix representation of the action of $G$ on $F$;
FlabbyResolution(G).injection
returns the matrix which corresponds to the injection $\iota: M_G \rightarrow P$;
FlabbyResolution(G).surjection
returns the matrix which corresponds to the surjection $\phi: P \rightarrow F$.

IsInvertibleF

IsInvertibleF(G)
returns whether $[M_G]^{fl}$ is invertible.

flfl

flfl(G)
returns the $G$-lattice $E$ with $[[M_G]^{fl}]^{fl}=[E]$.

PossibilityOfStablyPermutationF

PossibilityOfStablyPermutationF(G)
returns a basis $\mathcal{L}=\{l_1,\dots,l_s\}$ of the solution space of the system of linear equations which is obtained by computing some $\mathbb{Z}$-class invariants. Each isomorphism class of irreducible permutation $G$-lattices corresponds to a conjugacy class of subgroup $H$ of $G$ by $H \leftrightarrow \mathbb{Z}[G/H]$. Let $H_1,\dots,H_r$ be conjugacy classes of subgroups of $G$ whose ordering corresponds to the GAP function ConjugacyClassesSubgroups2(G). Let $F$ be the flabby class of $M_G$. We assume that $F$ is stably permutation, i.e. for $x_{r+1}=\pm 1$, \begin{align*} \left(\bigoplus_{i=1}^r \mathbb{Z}[G/H_i]^{\oplus x_i}\right)\oplus F^{\oplus x_{r+1}} \ \simeq\ \bigoplus_{i=1}^r \mathbb{Z}[G/H_i]^{\oplus y_i}.%\label{eqpos} \end{align*} Define $a_i=x_i-y_i$ and $b_1=x_{r+1}$. Then we have for $b_1=\pm 1$, \[ \bigoplus_{i=1}^r \mathbb{Z}[G/H_i]^{\oplus a_i}\ \simeq\ F^{\oplus(-b_1)}. \] $[M_G]^{fl}=0\Longrightarrow$ there exist $a_1,\ldots,a_r\in\mathbb{Z}$ and $b_1=\pm 1$ which satisfy the system of linear equations.

PossibilityOfStablyPermutationM

PossibilityOfStablyPermutationM(G)
returns the same as PossibilityOfStablyPermutationF(G) but with respect to $M_G$ instead of $F$.

Nlist

Nlist(l)
returns the negative part of the list $l$.

Plist

Plist(l)
returns the positive part of the list $l$.

StablyPermutationFCheck

StablyPermutationFCheck(G,L1,L2)
returns the matrix $P$ which satisfies $G_1P=PG_2$ where $G_1$ (resp. $G_2$) is the matrix representation group of the action of $G$ on $(\oplus_{i=1}^r \mathbb{Z}[G/H_i]^{\oplus a_i})\oplus F^{\oplus b_1}$ (resp. $(\oplus_{i=1}^r \mathbb{Z}[G/H_i]^{\oplus a_i^{\prime}})\oplus F^{\oplus b_1^{\prime}}$) with the isomorphism \[ \left(\bigoplus_{i=1}^r \mathbb{Z}[G/H_i]^{\oplus a_i}\right)\oplus F^{\oplus b_1} \simeq \left(\bigoplus_{i=1}^r \mathbb{Z}[G/H_i]^{\oplus a_i^{\prime}}\right)\oplus F^{\oplus b_1^{\prime}} \] for lists $L_1=[a_1,\ldots,a_r,b_1]$ and $L_2=[a_1^{\prime},\ldots,a_r^{\prime},b_1^{\prime}]$, if $P$ exists. If such $P$ does not exist, this returns false.

StablyPermutationMCheck

StablyPermutationMCheck(G,L1,L2)
returns the same as StablyPermutationFCheck(G,L1,L2) but with respect to $M_G$ instead of $F$.

StablyPermutationFCheckP

StablyPermutationFCheckP(G,L1,L2)
returns a basis $\mathcal{P}=\{P_1,\dots,P_m\}$ of the solution space of $G_1P=PG_2$ where $G_1$ (resp. $G_2$) is the matrix representation group of the action of $G$ on $(\oplus_{i=1}^r \mathbb{Z}[G/H_i]^{\oplus a_i})\oplus F^{\oplus b_1}$ (resp. $(\oplus_{i=1}^r \mathbb{Z}[G/H_i]^{\oplus a_i^{\prime}})\oplus F^{\oplus b_1^{\prime}}$) for lists $L_1=[a_1,\ldots,a_r,b_1]$ and $L_2=[a_1^{\prime},\ldots,a_r^{\prime},b_1^{\prime}]$, if $P$ exists. If such $P$ does not exist, this returns [ ].

StablyPermutationMCheckP

StablyPermutationMCheckP(G,L1,L2)
returns the same as StablyPermutationFCheckP(G,L1,L2) but with respect to $M_G$ instead of $F$.

StablyPermutationFCheckMat

StablyPermutationFCheckMat(G,L1,L2,P)
returns true if $G_1P=PG_2$ and det $P=\pm 1$ where $G_1$ (resp. $G_2$) is the matrix representation group of the action of $G$ on $(\oplus_{i=1}^r \mathbb{Z}[G/H_i]^{\oplus a_i})\oplus F^{\oplus b_1}$ (resp. $(\oplus_{i=1}^r \mathbb{Z}[G/H_i]^{\oplus a_i^{\prime}})\oplus F^{\oplus b_1^{\prime}}$) for lists $L_1=[a_1,\ldots,a_r,b_1]$ and $L_2=[a_1^{\prime},\ldots,a_r^{\prime},b_1^{\prime}]$. If not, this returns false.

StablyPermutationMCheckMat

StablyPermutationMCheckMat(G,L1,L2,P)
returns the same as StablyPermutationFCheckMat(G,L1,L2,P) but with respect to $M_G$ instead of $F$.

StablyPermutationFCheckGen

StablyPermutationFCheckP(G,L1,L2)
returns the list $[\mathcal{M}_1,\mathcal{M}_2]$ where $\mathcal{M}_1=[g_1,\ldots,g_t]$ (resp. $\mathcal{M}_2=[g_1^{\prime},\ldots,g_t^{\prime}]$) is a list of the generators of $G_1$ (resp. $G_2$) which is the matrix representation group of the action of $G$ on $(\oplus_{i=1}^r \mathbb{Z}[G/H_i]^{\oplus a_i})\oplus F^{\oplus b_1}$ (resp. $(\oplus_{i=1}^r \mathbb{Z}[G/H_i]^{\oplus a_i^{\prime}})\oplus F^{\oplus b_1^{\prime}}$) for lists $L_1=[a_1,\ldots,a_r,b_1]$ and $L_2=[a_1^{\prime},\ldots,a_r^{\prime},b_1^{\prime}]$.

StablyPermutationMCheckGen

StablyPermutationMCheckGen(G,L1,L2)
returns the same as StablyPermutationFCheckGen(G,L1,L2) but with respect to $M_G$ instead of $F$.

DirectSumMatrixGroup

DirectSumMatrixGroup(l)
returns the direct sum of the groups $G_1,\ldots,G_n$ for the list $l=[G_1,\ldots,G_n]$.

DirectProductMatrixGroup

DirectProductMatrixGroup(l)
returns the direct product of the groups $G_1,\ldots,G_n$ for the list $l=[G_1,\ldots,G_n]$.

Norm1TorusJ

Norm1TorusJ(d,m)
returns the Chevalley module $J_{G/H}$ for the $m$-th transitive subgroup $G=dTm\leq S_d$ of degree $d$ where $H$ is the stabilizer of one of the letters in $G$.

FlabbyResolutionLowRankFromGroup

FlabbyResolutionLowRankFromGroup(M,G)
returns a suitable flabby resolution with low rank for $G$-lattice $M$ by using backtracking techniques. Repeating the algorithm, by defining $[M]^{fl^n}:=[[M]^{fl^{n-1}}]^{fl}$ inductively, $[M]^{fl}=0$ is provided if we may find some $n$ with $[M]^{fl^n}=0$ (this method is slightly improved to the flfl algorithm, see above).

Hcandidates

Hcandidates(G)
retruns subgroups $H$ of $G$ which satisfy $\bigcap_{\sigma\in G} H^\sigma=\{1\}$ where $H^\sigma=\sigma^{-1}H\sigma$ (hence $H$ contains no normal subgroup of $G$ except for $\{1\}$).

Norm1TorusJTransitiveGroup

Norm1TorusJTransitiveGroup(d,m)
returns the Chevalley module $J_{G/H}$ for the $m$-th transitive subgroup $G = {}_dT_m \leq S_d$ of degree $d$ where $H$ is the stabilizer of one of the letters in $G$. (The input and output of this function is the same as the function Norm1TorusJ(d,m) but this function is more efficient.)

Norm1TorusJCoset

Norm1TorusJCoset(G,H)
retruns the Chevalley module $J_{G/H}$ for a group $G$ and a subgroup $H\leq G$.

StablyPermutationMCheckPPari

StablyPermutationMCheckPPari(G,L1,L2)
returns the same as StablyPermutationMCheckP(G,L1,L2) but using efficient PARI/GP functions (e.g. matker, matsnf) [PARI2]. (This function applies union-find algorithm and it also requires PARI/GP [PARI2].)

StablyPermutationFCheckPPari

StablyPermutationFCheckPPari(G,L1,L2)
returns the same as StablyPermutationFCheckP(G,L1,L2) but using efficient PARI/GP functions (e.g. matker, matsnf) [PARI2]. (This function applies union-find algorithm and it also requires PARI/GP [PARI2].)

StablyPermutationFCheckPFromBasePari

StablyPermutationFCheckPFromBasePari(G,mi,L1,L2)
returns the same as StablyPermutationFCheckPPari(G,L1,L2) but with respect to $m_i=\mathcal{P}^\circ$ instead of the original $\mathcal{P}^\circ$ as in Hoshi and Yamasaki [HY17, Equation (4) in Section 5.1]. (See [HY17, Section 5.7, Method III]. This function applies union-find algorithm and it also requires PARI/GP [PARI2].)

References

[HY17] Akinari Hoshi and Aiichi Yamasaki, Rationality problem for algebraic tori, Mem. Amer. Math. Soc. 248 (2017) no. 1176, v+215 pp.
[HHY20] Sumito Hasegawa, Akinari Hoshi and Aiichi Yamasaki, Rationality problem for norm one tori in small dimensions, Math. Comp. 89 (2020) 923-940. Extended version: arXiv:1811.02145.
[HY] Akinari Hoshi and Aiichi Yamasaki, Rationality problem for norm one tori for $A_5$ and ${\rm PSL}_2(\mathbb{F}_8)$ extensions, arXiv:2309.16187.
[PARI2] The PARI Group, PARI/GP version 2.13.3, Univ. Bordeaux, 2021, http://pari.math.u-bordeaux.fr/.