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.
AMS
Preprint version:
arXiv:1210.4525.
[HHY20] Sumito Hasegawa, Akinari Hoshi and Aiichi Yamasaki,
Rationality problem for norm one tori in small dimensions,
Math. Comp. 89 (2020) 923-940.
AMS
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/.