From 71386c555d720bfa04a8ef07623318aa38d25a1f Mon Sep 17 00:00:00 2001 From: Max Horn Date: Sat, 8 Aug 2026 10:36:28 +0200 Subject: [PATCH 1/2] Convert documentation to GAPDoc/AutoDoc Replace the plain-TeX manual with GAPDoc XML built via AutoDoc, and drop doc/make_doc for a makedoc.g in the package root. See https://github.com/gap-system/gap/issues/639. Converted with dev/gapmacro2gapdoc.py from the GAP repository, which corrected 27 declarations against the package's own source: most of the operations were documented as functions, and the info classes as plain variables. By hand: * Ten operations are documented once for a group and once for a parametrised presentation, and two chapters both had a section called "Example". GAPDoc labels are book-wide, so these are labelled apart. * The chapter reference read "p-power-poly-pcp-group", one letter short of the chapter, and GAP has since renamed the .gaprc file to gaprc. * GeneratorsOfGroup and One belong to GAP; they are here. * The recorded output of ParPresGlobalVar and the Schur extension examples predates a change in how a pp-presentation is represented. Refreshed from what GAP prints -- tst/manual.example-*.tst had been kept current while the manual had not, which is how it went unnoticed. The \eqalign displays are now array environments, since GAPDoc's LaTeX loads amssymb but not amsmath. tst/manual.example-*.tst are replaced by the generated tst/symbcompcc0*.tst. The test suite passes. Co-Authored-By: Claude Opus 5 --- .gitignore | 23 +- PackageInfo.g | 4 +- doc/install.tex | 58 --- doc/install.xml | 44 +++ doc/intro.tex | 172 --------- doc/intro.xml | 135 +++++++ doc/make_doc | 26 -- doc/manual.tex | 103 ----- doc/parpres.tex | 46 --- doc/parpres.xml | 32 ++ doc/ppowerpolypcpgroup.tex | 363 ------------------ doc/ppowerpolypcpgroup.xml | 310 +++++++++++++++ doc/schurextensions.tex | 228 ----------- doc/schurextensions.xml | 232 +++++++++++ makedoc.g | 31 ++ tst/manual.example-1.tst | 2 - tst/symbcompcc01.tst | 18 + ...{manual.example-3.tst => symbcompcc02.tst} | 18 + ...{manual.example-5.tst => symbcompcc03.tst} | 28 ++ 19 files changed, 863 insertions(+), 1010 deletions(-) delete mode 100644 doc/install.tex create mode 100644 doc/install.xml delete mode 100644 doc/intro.tex create mode 100644 doc/intro.xml delete mode 100755 doc/make_doc delete mode 100644 doc/manual.tex delete mode 100644 doc/parpres.tex create mode 100644 doc/parpres.xml delete mode 100644 doc/ppowerpolypcpgroup.tex create mode 100644 doc/ppowerpolypcpgroup.xml delete mode 100644 doc/schurextensions.tex create mode 100644 doc/schurextensions.xml create mode 100644 makedoc.g delete mode 100644 tst/manual.example-1.tst create mode 100644 tst/symbcompcc01.tst rename tst/{manual.example-3.tst => symbcompcc02.tst} (64%) rename tst/{manual.example-5.tst => symbcompcc03.tst} (81%) diff --git a/.gitignore b/.gitignore index 5a3c92c..8941fb3 100644 --- a/.gitignore +++ b/.gitignore @@ -1,22 +1,25 @@ -/htm/ - +/doc/*.css +/doc/*.js +/doc/_*.xml +/doc/chap*.html +/doc/chap*.txt +/doc/chap*_mj.html +/doc/chap*_mj.txt +/doc/chooser.html +/doc/main.* /doc/manual.aux /doc/manual.bbl /doc/manual.blg -/doc/manual.dvi -/doc/manual.example-*.tst /doc/manual.idx /doc/manual.ilg /doc/manual.ind /doc/manual.lab /doc/manual.log /doc/manual.pdf -/doc/manual.ps /doc/manual.six /doc/manual.toc -/doc/tthin -/doc/tthmacros.tex -/doc/tthout +/doc/title.xml -/gh-pages/ -/tmp/ +# Output of the old plain-TeX manual; kept ignored until the leftover +# directory is removed for good. +/htm/ diff --git a/PackageInfo.g b/PackageInfo.g index 0510374..5f9636d 100644 --- a/PackageInfo.g +++ b/PackageInfo.g @@ -56,8 +56,8 @@ AbstractHTML := PackageDoc := rec( BookName := "SymbCompCC", -ArchiveURLSubset := ["doc", "htm"], -HTMLStart := "htm/chapters.htm", +ArchiveURLSubset := ["doc"], +HTMLStart := "doc/chap0_mj.html", PDFFile := "doc/manual.pdf", SixFile := "doc/manual.six", LongTitle := "SymbCompCC/Symbolic computation with p-groups of fixed coclass", diff --git a/doc/install.tex b/doc/install.tex deleted file mode 100644 index 3cac0e2..0000000 --- a/doc/install.tex +++ /dev/null @@ -1,58 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%W install.tex GAP documentation Dörte Feichtenschlager -%% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\Chapter{Installing and Loading the SymbCompCC Package} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\Section{Installing the SymbCompCC Package} - -The following installation instruction is for unix although the package -should work as well with any other operating system. - -To install the {\SymbCompCC} package, unpack the archive file, which should -have a name of the form `SymbCompCC-.tar.gz' for some version number -, by typing - -\){\kernttindent}bunzip2 SymbCompCC-.tar.gz -\){\kernttindent}tar -xvf SymbCompCC-.tar - -in the `pkg' directory of your version of {\GAP}~4, or in a directory -named `pkg' (e.g.~in your home directory). (The only essential difference -with installing {\SymbCompCC} in a `pkg' directory different to the {\GAP}~4 -home directory is that one must start {\GAP} with the `-l' switch, -e.g.~if your private `pkg' directory is a subdirectory of `mygap' in your -home directory you might type: - -%begintt -\){\kernttindent}gap -l ";/mygap" -%endtt - -where is the path to your home directory, which -may be replaced by a tilde. The empty path before the -semicolon is filled in by the default path of the {\GAP}~4 home -directory.) - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\Section{Loading the SymbCompCC Package} - -To use the {\SymbCompCC} Package you have to request it explicitly. This is -done by calling - -\beginexample -gap> LoadPackage("SymbCompCC"); -true -\endexample - -The `LoadPackage' command is described in Section~"ref:LoadPackage" in -the {\GAP} Reference Manual. - -If you want to load the {\SymbCompCC} package by default, you can put the -`LoadPackage' command into your `.gaprc' file (see Section~"ref:The -.gaprc file" in the {\GAP} Reference Manual). - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%E diff --git a/doc/install.xml b/doc/install.xml new file mode 100644 index 0000000..50d0b6a --- /dev/null +++ b/doc/install.xml @@ -0,0 +1,44 @@ + + +Installing and Loading the SymbCompCC Package +
+Installing the SymbCompCC Package +The following installation instruction is for unix although the package +should work as well with any other operating system. +

+To install the &SymbCompCC; package, unpack the archive file, which should +have a name of the form SymbCompCC-XXX.tar.gz for some version number +XXX, by typing +.tar.gz + tar -xvf SymbCompCC-.tar +]]> +in the pkg directory of your version of ⪆ 4, or in a directory +named pkg (e.g. in your home directory). (The only essential difference +with installing &SymbCompCC; in a pkg directory different to the ⪆ 4 +home directory is that one must start ⪆ with the -l switch, +e.g. if your private pkg directory is a subdirectory of mygap in your +home directory you might type: +/mygap" +]]> +where myhomedir is the path to your home directory, which +may be replaced by a tilde. The empty path before the +semicolon is filled in by the default path of the ⪆ 4 home +directory.) +

+
+Loading the SymbCompCC Package +To use the &SymbCompCC; Package you have to request it explicitly. This is +done by calling + LoadPackage("SymbCompCC"); +true +]]> +The LoadPackage command is described in Section  in +the ⪆ Reference Manual. +

+If you want to load the &SymbCompCC; package by default, you can put the +LoadPackage command into your .gaprc file (see Section  in the ⪆ Reference Manual). +

+
diff --git a/doc/intro.tex b/doc/intro.tex deleted file mode 100644 index a3ee752..0000000 --- a/doc/intro.tex +++ /dev/null @@ -1,172 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%W intro.tex GAP documentation Dörte Feichtenschlager -%% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\Chapter{Introduction} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\Section{Overview} - -The coclass of a finite $p$-group of order $p^n$ and nilpotency class $c$ is -defined as $n-c$. This invariant of finite $p$-groups has been introduced by -Leedham-Green and Newman in \cite{LGN80} and it became of major importance -in $p$-group theory. - -A first tool in the classification of all $p$-groups of coclass $r$ is the -coclass graph $G(p,r)$. Its vertices are the isomorphism types of finite -$p$-groups of coclass $r$. Two vertices $G$ and $H$ are joined by an edge if -$G$ is isomorphic to the quotient $H/\gamma(H)$ where $\gamma(H)$ is the last -non-trivial term of the lower series of $H$. - -Du Sautoy \cite{dS00} and Eick and Leedham-Green \cite{ELG08} proved that -$G(p,r)$ contains certain periodic patterns. Eick and Leedham-Green -\cite{ELG08} define infinite coclass sequences of finite $p$-groups of -coclass $r$ which underpin this periodic pattern. In $G(2,r)$ and $G(3,1)$ -almost all groups are contained in an infinite coclass sequence. - -Eick and Leedham-Green \cite{ELG08} also proved that the infinitely many -$p$-groups in an infinite coclass sequence can be defined by a single -parametrised presentation. - -The first aim of this package is the definition of polycyclic parametrised -presentations; these are parametrised presentations as defined by Eick -and Leedham-Green \cite{ELG08} and additionally they have various features -of polycyclic presentations. Each such presentation defines all the -infinitely many finite $p$-groups in an infinite coclass sequence. - -We then provide some algorithms to compute with polycyclic parametrised -presentations. In particular, we introduce a generalisation of the -collection algorithm for polycyclic parametrised presentations. Based -on this, we describe algorithms to compute polycyclic parametrised -presentations for Schur extensions, for the Schur multiplicator and -for some low-dimensional cohomology groups. We refer to \cite{EF11} -for details on the underlying algorithms and further references. - -Finally, we exhibit a database of polycyclic parametrised presentations -for the infinite coclass families of the finite $2$-groups of coclass at -most $2$ and the finite $3$-groups of coclass $1$. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\Section{Background on (polycyclic) parametrised presentations} - -In this section we describe the polycyclic parametrised presentations -(pp-presentations) for infinite coclass sequences. - -Let $(G_x | x\in \N)$, where $\N$ denotes the natural numbers, be an -infinite coclass sequence; $x$ is the parameter of this infinite coclass -sequence. Then every group $G_x$ is an extension of a finite $p$-group $P$ -of order $p^n$ by an abelian $p$-group $T_x$ of rank $d$. Furthermore, every -$G_x$ has a polycyclic presentation (short pp-presentation) on generators -$g_1, \ldots, g_n, t_1, \ldots, t_d$ with relations of the form -%display{nontext} -$$ -\eqalign{ -&g_i^{p} = g_{i+1}^{a_{i,i,i+1}} \cdots g_n^{a_{i,i,n}}t_1^{\alpha_{i,i,1}(x)} \cdots t_d^{\alpha_{i,i,d}(x)}, \cr -&g_i^{g_j} = g_{j+1}^{a_{i,j,j+1}} \cdots g_n^{a_{i,j,n}}t_1^{\alpha_{i,j,1}(x)} \cdots t_d^{\alpha_{i,j,d}(x)}, \cr -&t_k^{g_i} = t_1^{b_{k,i,1}(x)} \cdots t_d^{b_{k,i,d}(x)}, \cr -&t_k^{t_l} = t_k, \cr -&t_k^{p^{x+e}} = 1, -} -$$ -%display{text} -%g_i^p = g_{i+1}^{a_{i,i,i+1}} ... g_n^{a_{i,i,n}}t_1^{\alpha_{i,i,1}(x)}... t_d^{\alpha_{i,i,d}(x)}, -%g_i^{g_j} = g_{j+1}^{a_{i,j,j+1}} ... g_n^{a_{i,j,n}}t_1^{\alpha_{i,j,1}(x)}... t_d^{\alpha_{i,j,d}(x)}, -%t_k^{g_i} = t_1^{b_{k,i,1}(x)}... t_d^{b_{k,i,d}(x)}, -%t_k^{t_l} = t_k, -%t_k^{p^{x+e}} = 1, -%enddisplay -where $1\le j \< i\le n$ and $1 \le k \< l\le d$; certain $a_{i,j,m}\in \{0, -\ldots, p-1\}$, a non-negative integer $e$, $\alpha_{k,l,m}(x)$ of the form -$c_{k,l,m}+p^xd_{k,l,m}$ and $b_{k,l,m}$ with $b_{k,l,m},c_{k,l,m},d_{k,l,m}$ -certain $p$-adic integers. The $p$-adic exponents arising in the relations -can be reduced modulo the relative orders of the involved elements and thus -can be reduced to integers for every specific $x$. - -We call such a pp-presentation $integral$ if -all the $p$-adic numbers $b_{k,l,m}, c_{k,l,m}, d_{k,l,m}$ are integers. -Our algorithms introduced in this package compute with integral -pp-presentations only. - -We call such an pp-presentation $consistent$ if for every $x \in \N$ -the presentation is consistent as a polycyclic presentation; where we -possibly reduce the exponents in the presentation modulo the relative -orders of the generators. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\Section{Computation of Schur multiplicators} - -In this section we recall briefly the method of \cite{EF11} to determine -the Schur multiplicators of almost all groups $G_x$ in an infinite coclass -sequence. - -Suppose we are given a consistent integral pp-presentation $F/R_x$ for the -groups $G_x$ in an infinite coclass sequence, where $F$ is a free group and -$R_x$ is generated by parametrised relations as above. Note that the -exponents in these relations depend on $x$, while the number of generators -and the number of relations does not depend on the parameter. - -Using this presentation we can define a parametrised presentation for the -Schur extensions $G_x^{*} = F/[F,R_x]$, corresponding to the parametrised -presentation $F/R_x$. The next step is to find the isomorphism types of -$Y_x = R_x/[F,R_x]$ since $M(G_x) \cong (F^\prime \cap R_x)/[F,R_x]$ are the -torsion subgroups of $Y_x$ as all $G_x$ are finite

-groups. - -Then $Y_x = R_x/[F,R_x]$ are generated by certain so-called -consistency relations. Using this we can compute the isomorphism types of -$Y_x$ and thus the isomorphism types of $M(G_x)$ for almost all $G_x$ in the -chosen infinite coclass sequence. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\Section{Computation of low-dimensional cohomology} - -From the parametrised presentation $F/R_x$ we can see that the Abelian -invariants are the same for all groups $G_x$ in an infinite coclass sequence, -and we can compute them. Using this and the computation of the Schur -multiplicators one obtains $H^n(G_x,\Z)$ and $H^n(G_x,GF(p))$ for $0 \le n -\le 2$, where the $G_x$ act trivially on $\Z$ and $GF(p)$, respectively. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\Section{Example} - -In this section we present the well-known example of quaternion groups -$Q_{2^{x+3}}$. It is well known that they have a parametrised presentation of -the following form: - -%display{nontext} -$$ -\eqalign{ -\{ g_1,g_2,t_1 | &\, g_1^{2} = t_1^{2^x}, \, g_2^{g_1} = g_2t_1^{-1+2^{x+1}},\cr -&\, g_2^{2} = t_1, \, t_1^{g_1} = t_1^{-1+2^{x+1}},\cr -&\, t_1^{2^{x+1}} = 1 \}. -} -$$ -%display{text} -% { g_1,g_2,t_1|g_1^2 = t_1^{2^x}, g_2^{g_1} = g_2t_1^{-1+2^{x+1}}, -% g_2^{2} = t_1, t_1^{g_1} = t_1^{-1+2^{x+1}}, -% t_1^{2^{x+1}} = 1 }. -%enddisplay - -Using this we can define the Schur extensions $Q_{2^{x+3}}^{*}$ - -%display{nontext} -$$ -\eqalign{ -\{ g_1,g_2,t_1,c_1, c_2, c_3 | &g_1^{2} = t_1^{2^x}c_3, - \, g_2^{g_1} = g_2t_1^{-1+2^{x+1}}c_2^{1-2^{x+1}},\cr - &\, g_2^{2} = t_1c_1,\, t_1^{g_1} = t_1^{-1+2^{x+1}}c_2^{2-2^{x+1}},\cr - &\, t_1^{2^{x+1}} = c_2^{2^{x+1}}, \cr - &\, c_1,c_2,c_3 central \}. -} -$$ -%display{text} -% { g_1,g_2,t_1,c_1,c_2,c_3|g_1^{2} = t_1^{2^x}c_3, -% g_2^{g_1} = g_2t_1^{-1+2^{x+1}} c_2^{1-2^{x+1}}, -% g_2^{2} = t_1c_1, -% t_1^{g_1} = t_1^{-1+2^{x+1}} c_2^{2-2^{x+1}}, -% t_1^{2^{x+1}} = c_2^{2^{x+1}}, -% c_1,c_2,c_3 central }. -%enddisplay - -This yields $M(Q_{2^{x+3}}) = 1$. diff --git a/doc/intro.xml b/doc/intro.xml new file mode 100644 index 0000000..84d8cdc --- /dev/null +++ b/doc/intro.xml @@ -0,0 +1,135 @@ + + +Introduction +

+Overview +The coclass of a finite p-group of order p^n and nilpotency class c is +defined as n-c. This invariant of finite p-groups has been introduced by +Leedham-Green and Newman in and it became of major importance +in p-group theory. +

+A first tool in the classification of all p-groups of coclass r is the +coclass graph G(p,r). Its vertices are the isomorphism types of finite +p-groups of coclass r. Two vertices G and H are joined by an edge if +G is isomorphic to the quotient H/\gamma(H) where \gamma(H) is the last +non-trivial term of the lower series of H. +

+Du Sautoy and Eick and Leedham-Green proved that +G(p,r) contains certain periodic patterns. Eick and Leedham-Green + define infinite coclass sequences of finite p-groups of +coclass r which underpin this periodic pattern. In G(2,r) and G(3,1) +almost all groups are contained in an infinite coclass sequence. +

+Eick and Leedham-Green also proved that the infinitely many +p-groups in an infinite coclass sequence can be defined by a single +parametrised presentation. +

+The first aim of this package is the definition of polycyclic parametrised +presentations; these are parametrised presentations as defined by Eick +and Leedham-Green and additionally they have various features +of polycyclic presentations. Each such presentation defines all the +infinitely many finite p-groups in an infinite coclass sequence. +

+We then provide some algorithms to compute with polycyclic parametrised +presentations. In particular, we introduce a generalisation of the +collection algorithm for polycyclic parametrised presentations. Based +on this, we describe algorithms to compute polycyclic parametrised +presentations for Schur extensions, for the Schur multiplicator and +for some low-dimensional cohomology groups. We refer to +for details on the underlying algorithms and further references. +

+Finally, we exhibit a database of polycyclic parametrised presentations +for the infinite coclass families of the finite 2-groups of coclass at +most 2 and the finite 3-groups of coclass 1. +

+
+Background on (polycyclic) parametrised presentations +In this section we describe the polycyclic parametrised presentations +(pp-presentations) for infinite coclass sequences. +

+Let (G_x | x\in &NN;), where &NN; denotes the natural numbers, be an +infinite coclass sequence; x is the parameter of this infinite coclass +sequence. Then every group G_x is an extension of a finite p-group P +of order p^n by an abelian p-group T_x of rank d. Furthermore, every +G_x has a polycyclic presentation (short pp-presentation) on generators +g_1, \ldots, g_n, t_1, \ldots, t_d with relations of the form + +\begin{array}{rl}&g_i^{p} = g_{i+1}^{a_{i,i,i+1}} \cdots g_n^{a_{i,i,n}}t_1^{\alpha_{i,i,1}(x)} \cdots t_d^{\alpha_{i,i,d}(x)}, \\ +&g_i^{g_j} = g_{j+1}^{a_{i,j,j+1}} \cdots g_n^{a_{i,j,n}}t_1^{\alpha_{i,j,1}(x)} \cdots t_d^{\alpha_{i,j,d}(x)}, \\ +&t_k^{g_i} = t_1^{b_{k,i,1}(x)} \cdots t_d^{b_{k,i,d}(x)}, \\ +&t_k^{t_l} = t_k, \\ +&t_k^{p^{x+e}} = 1,\end{array} + +where 1\le j < i\le n and 1 \le k < l\le d; certain a_{i,j,m}\in \{0, +\ldots, p-1\}, a non-negative integer e, \alpha_{k,l,m}(x) of the form +c_{k,l,m}+p^xd_{k,l,m} and b_{k,l,m} with b_{k,l,m},c_{k,l,m},d_{k,l,m} +certain p-adic integers. The p-adic exponents arising in the relations +can be reduced modulo the relative orders of the involved elements and thus +can be reduced to integers for every specific x. +

+We call such a pp-presentation integral if +all the p-adic numbers b_{k,l,m}, c_{k,l,m}, d_{k,l,m} are integers. +Our algorithms introduced in this package compute with integral +pp-presentations only. +

+We call such an pp-presentation consistent if for every x \in &NN; +the presentation is consistent as a polycyclic presentation; where we +possibly reduce the exponents in the presentation modulo the relative +orders of the generators. +

+
+Computation of Schur multiplicators +In this section we recall briefly the method of to determine +the Schur multiplicators of almost all groups G_x in an infinite coclass +sequence. +

+Suppose we are given a consistent integral pp-presentation F/R_x for the +groups G_x in an infinite coclass sequence, where F is a free group and +R_x is generated by parametrised relations as above. Note that the +exponents in these relations depend on x, while the number of generators +and the number of relations does not depend on the parameter. +

+Using this presentation we can define a parametrised presentation for the +Schur extensions G_x^{*} = F/[F,R_x], corresponding to the parametrised +presentation F/R_x. The next step is to find the isomorphism types of +Y_x = R_x/[F,R_x] since M(G_x) \cong (F^\prime \cap R_x)/[F,R_x] are the +torsion subgroups of Y_x as all G_x are finite p-groups. +

+Then Y_x = R_x/[F,R_x] are generated by certain so-called +consistency relations. Using this we can compute the isomorphism types of +Y_x and thus the isomorphism types of M(G_x) for almost all G_x in the +chosen infinite coclass sequence. +

+
+Computation of low-dimensional cohomology +From the parametrised presentation F/R_x we can see that the Abelian +invariants are the same for all groups G_x in an infinite coclass sequence, +and we can compute them. Using this and the computation of the Schur +multiplicators one obtains H^n(G_x,&ZZ;) and H^n(G_x,GF(p)) for 0 \le n +\le 2, where the G_x act trivially on &ZZ; and GF(p), respectively. +
+
+Example +In this section we present the well-known example of quaternion groups +Q_{2^{x+3}}. It is well known that they have a parametrised presentation of +the following form: +

+ +\begin{array}{rl}\{ g_1,g_2,t_1 | & g_1^{2} = t_1^{2^x}, g_2^{g_1} = g_2t_1^{-1+2^{x+1}},\\ +& g_2^{2} = t_1, t_1^{g_1} = t_1^{-1+2^{x+1}},\\ +& t_1^{2^{x+1}} = 1 \}.\end{array} + +

+Using this we can define the Schur extensions Q_{2^{x+3}}^{*} +

+ +\begin{array}{rl}\{ g_1,g_2,t_1,c_1, c_2, c_3 | &g_1^{2} = t_1^{2^x}c_3, + g_2^{g_1} = g_2t_1^{-1+2^{x+1}}c_2^{1-2^{x+1}},\\ + & g_2^{2} = t_1c_1, t_1^{g_1} = t_1^{-1+2^{x+1}}c_2^{2-2^{x+1}},\\ + & t_1^{2^{x+1}} = c_2^{2^{x+1}}, \\ + & c_1,c_2,c_3 \text{ central} \}.\end{array} + +

+This yields M(Q_{2^{x+3}}) = 1. +

+ diff --git a/doc/make_doc b/doc/make_doc deleted file mode 100755 index fe57b26..0000000 --- a/doc/make_doc +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh -set -e - -echo "TeXing documentation" -# delete old stuff to avoid spurious or "hidden errors" caused by their presence -rm -f manual.{aux,bbl,blg,dvi,idx,ilg,ind,lab,log,pdf,ps,six,toc} - -# TeX the manual -tex manual -# ... and build its bibliography -bibtex manual -# TeX the manual again to incorporate the ToC -tex manual -# ... and build the index -../../../doc/manualindex manual -# Finally TeX the manual again to get cross-references right -tex manual - -# Create PDF version -pdftex manual -pdftex manual - -# The HTML version of the manual -mkdir -p ../htm -echo "Creating HTML documentation" -../../../etc/convert.pl -i -u -c -n SymbCompCC . ../htm diff --git a/doc/manual.tex b/doc/manual.tex deleted file mode 100644 index ea02eeb..0000000 --- a/doc/manual.tex +++ /dev/null @@ -1,103 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%W manual.tex GAP documentation Dörte Feichtenschlager -%% -%% based on manual.tex by -%% -%W Thomas Breuer -%W & Frank Celler -%W & Martin Schoenert -%W & Heiko Theissen -%% -%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%F gapmacro . . . . . . . . . . . . . . . . . read the GAP macro package -%% -\input ../../../doc/gapmacro -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%F BeginningOfBook . . . . . . . . . . . . . . . . . . . start the book -%% -\BeginningOfBook{symbcompcc} -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%F UseReferences . . . . . . . . . . . . . . . . . . specify references -%% -\UseReferences{../../../doc/ref} -% -% -\Package{SymbCompCC} -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%F TitlePage -%% -\TitlePage{ - \centerline{\titlefont SymbCompCC}\medskip - \centerline{\titlefont ---}\medskip - \centerline{\titlefont A GAP4 Package}\bigskip\bigskip - \centerline{\secfont Version \input ../VERSION}\vfill - \centerline{\secfont by}\vfill - \centerline{\secfont D\accent127orte Feichtenschlager}\medskip - \centerline{Institut Computational Mathematics, TU Brausnchweig}\medskip - \centerline{Pockelsstr. 14, 38106 Braunschweig, Germany}\medskip - \centerline{email: d.feichtenschlager@tu-braunschweig.de}\vfill - \centerline{\secfont{\Month} \Year} -} -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%F TableOfContents -%% -\OneColumnTableOfContents %since it's very short -%\TableOfContents %use instead if ToC is longer than a column -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%F FrontMatter -%% -\FrontMatter -%The following is needed if there are -%\cite commands and a `manual.bib' file -\immediate\write\citeout{\bs bibdata{./symbcompcc}} -%\immediate\write\citeout{\bs bibdata{symbcompcc}} -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%F Chapters -%% -\Chapters -\Input{install} -\Input{intro} -\Input{ppowerpolypcpgroup} -\Input{parpres} -\Input{schurextensions} -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%F Appendices -%% -\Appendices -\Bibliography -%\Index %to generate a proper index `manual.mst' -% %must be present -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%F EndOfBook -%% -\EndOfBook -% -% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%E manual.tex . . . . . . . . . . . . . . . . . . . . . . . . ends here diff --git a/doc/parpres.tex b/doc/parpres.tex deleted file mode 100644 index a26dcc0..0000000 --- a/doc/parpres.tex +++ /dev/null @@ -1,46 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%W parpres.tex GAP documentation Dörte Feichtenschlager -%% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\Chapter{Parametrised Presentations} - -In this chapter we describe which pp-presentations for infinite -coclass sequences (see \cite{ELG08}) are provided. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\Section{Provided pp-presentations} - -\>`ParPresGlobalVar_2_1' V -\>`ParPresGlobalVar_2_2' V -\>`ParPresGlobalVar_3_1' V - -are lists consisting of the pp-presentations of the infinite -coclass sequences of finite

-groups of coclass , where the first number -in the name gives the underlying prime and the second the underlying coclass. -Each entry in the list is a record -( , , , , , , , , ) -with = 0 and = [ ]. The record entries are of a form such that -each record can be used as input for -%display{tex} -{\tt PPPPcpGroups}, -%enddisplay -"PPPPcpGroups". See "PPPPcpGroups" for more information. - -\>`ParPresGlobalVar_p_r_Names' V - -gives the names of the infinite coclass sequences of finite

-groups of -coclass . - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -% -%E Emacs . . . . . . . . . . . . . . . . . . . . . local emacs variables -%% -%% Local Variables: -%% fill-column: 73 -%% End: -%% - - diff --git a/doc/parpres.xml b/doc/parpres.xml new file mode 100644 index 0000000..9805b36 --- /dev/null +++ b/doc/parpres.xml @@ -0,0 +1,32 @@ + + +Parametrised Presentations +In this chapter we describe which pp-presentations for infinite +coclass sequences (see ) are provided. +

+Provided pp-presentations + + + + + +are lists consisting of the pp-presentations of the infinite +coclass sequences of finite p-groups of coclass r, where the first number +in the name gives the underlying prime and the second the underlying coclass. +Each entry in the list is a record +rec( rel, expo, n, d, m, prime, cc, expo_vec, name ) +with m = 0 and expo_vec = [ ]. The record entries are of a form such that +each record can be used as input for + PPPPcpGroups, +. See for more information. + + + + + +gives the names of the infinite coclass sequences of finite p-groups of +coclass r. + + +
+ diff --git a/doc/ppowerpolypcpgroup.tex b/doc/ppowerpolypcpgroup.tex deleted file mode 100644 index b0c96dc..0000000 --- a/doc/ppowerpolypcpgroup.tex +++ /dev/null @@ -1,363 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%W ppowerpolypcpgroup.tex GAP documentation Dörte Feichtenschlager -%% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\Chapter{p-power-poly-pcp-groups} - -Eick and Leedham-Green \cite{ELG08} defined for a prime

and a fixed -coclass infinite coclass sequences. These sequences consist of finite -

-groups of coclass . For each infinite coclass sequence there exists a -consistent pp-presentation (see -Section~"Background on (polycyclic) parametrised presentations") -such that if we choose a natural number for the parameter and possibly reduce -the exponents modulo the relative orders, we obtain a consistent polycyclic -presentation for a group in the sequence; and for each group in the sequence -there exists a natural number such that using this as a value for the -parameter, we obtain a polycyclic presentation for the group. - -We use these consistent pp-presentations to compute parametrised -groups, which we call

-power-poly-pcp-groups. Furthermore, methods for -these are presented. Without specifying the parameter we compute certain -properties and using the

-power-poly-pcp-groups we do this for all groups -they represent at once. - -The

-power-poly-pcp-groups have a consistent pp-presentation with -generators $g_1, \ldots, g_n, t_1, \ldots t_d$ and $c_1, \ldots, c_m$, for some -non-negative integers , and , and relations of the form, where -$rel[i,j]$ stores the right hand sides of the relations (see -Section~"Background on (polycyclic) parametrised presentations" for more -information on pp-presentations), - -%display{nontext} -$$ -\eqalign{ -&\, g_i^p=rel[i,i],\cr -&\, t_i^{expo} = rel[n+i,n+i],\cr -&\, c_i^{expo\_vec[i]} = rel[n+d+i,n+d+i],\cr -&\, g_i^{g_j} = rel[j,i], \cr -&\, t_i^{g_j} = rel[j,n+i], \cr -&\, t_i^{t_j} = rel[n+j,n+i], -} -$$ -%display{text} -% g_i^p = rel[i,i], -% t_i^{expo} = rel[n+i,n+i], -% c_i^{expo\_vec[i]} = rel[n+d+i,n+d+i], -% g_i^{g_j} = rel[j,i], -% t_i^{g_j} = rel[j,n+i], -% t_i^{t_j} = rel[n+j,n+i], -%enddisplay -where the $t_i$'s commute modulo $\langle c_1,\ldots, c_m\rangle$ and the -$c_i$'s are central. So (see Section~"Obtaining p-power-poly-pcp-groups") -are the right hand sides of the relations, where some depend on the parameter. -The relative orders and of the generators $t_j$ and -$c_i$ depend on the parameter. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\Section{Example} - -In this section we present the well-known example of quaternion groups -$Q_{2^{x+3}}$. They have a pp-presentation of the following form: - -%display{nontext} -$$ -\eqalign{ -\{ g_1,g_2,t_1 \mid &g_1^{2} = t_1^{2^x},\, g_2^{g_1} = g_2 -t_1^{-1+2^{x+1}},\cr -&\, g_2^{2} = t_1,\, t_1^{g_1} = t_1^{-1+2^{x+1}},\cr -&\, t_1^{2^{x+1}} = 1 \}. -} -$$ -%display{text} -% { g_1,g_2,t_1|g_1^2 = t_1^{2^x}, g_2^{g_1} = g_2t_1^{-1+2^{x+1}}, -% g_2^{2} = t_1, t_1^{g_1} = t_1^{-1+2^{x+1}}, -% t_1^{2^{x+1}} = 1 }. -%enddisplay - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\Section{Obtaining p-power-poly-pcp-groups} - -To obtain

-power-poly-pcp-groups: - -\>PPPPcpGroups( , , , , , , , , ) F -\>PPPPcpGroups( ) F - -returns the p-power-poly-pcp-groups described by the consistent -pp-presentation with generators $g_1, \ldots, g_n$, $t_1, \ldots t_d$, -$c_1, \ldots, c_m$, for some non-negative integers , and , and -relations of the form - -%display{nontext} -$$ -\eqalign{ -&\, g_i^p=rel[i,i],\cr -&\, t_i^{expo} = rel[n+i,n+i],\cr -&\, c_i^{expo\_vec[i]} = rel[n+d+i,n+d+i],\cr -&\, g_i^{g_j} = rel[j,i], \cr -&\, t_i^{g_j} = rel[j,n+i], \cr -&\, t_i^{t_j} = rel[n+j,n+i]. -} -$$ -%display{text} -% g_i^p = rel[i,i], -% t_i^{expo} = rel[n+i,n+i], -% c_i^{expo\_vec[i]} = rel[n+d+i,n+d+i], -% g_i^{g_j} = rel[j,i], -% t_i^{g_j} = rel[j,n+i], -% t_i^{t_j} = rel[n+j,n+i]. -%enddisplay - -The input consists of the following: - -%display{nonhtml} -\beginitems -`' & is the list of the right hand sides of the relations, where each -relation is presented by a list consisting of tuples; the first entry of -a tuple is the index of the generator (if $i \le n$, then it represents -generator $g_i$, if $n \< i \le d$, then it represents generator $t_{i-n}$ -and otherwise it represents generator $c_{i-n-d}$) and the second entry of -the tuple is the corresponding exponent. -Note that the exponents of the $g_i$'s are saved as integers and all other -exponents as lists, representing elements depending on the parameter. - -`' & is the number of generators $g_i$, - -`' & is the number of generators $t_i$, - -`' & is the number of generators $c_i$, - -`' & is the relative order of all generators $t_i$; note that is -a list that represents an element depending on the parameter, - -`' & is the list of relative orders, where the th entry of the -list gives the relative order of the generator $c_i$; note that each -relative order is a list that represents an element depending on the -parameter, - -`' & is the underlying prime

, - -`' & if the

-power-poly-pcp-groups represent an infinite coclass -sequence of

-groups of coclass , then = . If they represent -Schur extensions of groups in an infinite coclass sequence, then is -the coclass of the groups in this infinite coclass sequence. - -`' & a string to name the

-power-poly-pcp-groups. - -`' & is a record of the form -. -\enditems -%display{nontext} -%\beginitems -%`' & is the list of relations, where each relation is presented by a -%list consisting of tuples; the first entry of a tuple is the index of the -%generator (if $i \le n$, then it represents generator $g_i$, if $n \< i \le d$, -%then it represents generator $t_{i-n}$ and otherwise it represents generator -%$c_{i-n-d}$) and the second entry of the tuple is the corresponding exponent. -%Note that the exponents of the $g_i$'s are saved as integers and all other -%exponents as lists, representing elements depending on the parameter. -%`' & is the number of generators $g_i$, -%`' & is the number of generators $t_i$, -%`' & is the number of generators $c_i$, -%`' & is the relative order of all generators $t_i$; note that expo is -%given as a list to represent an element depending on the parameter, -%`' & is the list of relative orders, where the th entry of the -%list gives the relative order of the generator $c_i$; note that each -%relative order is given as a list to represent an element depending on the -%parameter, -%`' & is the underlying prime

, -%`' & if the

-power-poly-pcp-groups represent an infinite coclass -%sequence of

-groups of coclass , then = . If they represent -%Schur extensions of groups in an infinite coclass sequence, then is -%the coclass of the groups in this infinite coclass sequence. -%`' & a string to name the

-power-poly-pcp-groups. -%`' & is a record of the form -%. -%\enditems -%enddisplay - -The pp-presentation is described at the beginning of Chapter -"p-power-poly-pcp-group". Note that the consistency of the presentation is -checked and that the presentation has to be consistent. - -\beginexample -gap> ParPresGlobalVar_2_1[1]; -rec( - rel := [ [ [ [ 1, 0 ] ] ], [ [ [ 2, 1 ], [ 3, -1+2*2^x ] ], [ [ 3, 1 ] ] ], - [ [ [ 3, -1+2*2^x ] ], [ [ 3, 1 ] ], [ [ 3, 0 ] ] ] ], expo := 2*2^x, - n := 2, d := 1, m := 0, prime := 2, cc := 1, expo_vec := [ ], name := "D" ) -gap> G := PPPPcpGroups( ParPresGlobalVar_2_1[1] ); -< P-Power-Poly-pcp-groups with 3 generators of relative orders [ 2,2,2*2^x ] > -\endexample - -\>PPPPcpGroupsElement( , ) F - -constructs an element in

-power-poly-pcp-groups, where is a -

-power-poly-pcp-group (thus representing an infinite coclass sequence -through a pp-presentation) with generators $g_1, \ldots, g_n, t_1, -\ldots, t_d, c_1, \ldots, c_m$ and is a list of tuples, where the first -entry in the tuple gives the index of the generator (if $i \le n$, then -it represents generator $g_i$, if $n \< i \le d$, then it represents generator -$t_{i-n}$ and otherwise it represents generator $c_{i-n-d}$) and the second -entry of the tuple is the corresponding exponent. Note that the exponents -of the $g_i$'s must be integers, while all other exponents can be integers -or lists, representing an element depending on the parameter. - -\beginexample -gap> G := PPPPcpGroups( ParPresGlobalVar_2_1[3] ); -< P-Power-Poly-pcp-groups with 3 generators of relative orders [ 2,2,2*2^x ] > -gap> g1 := PPPPcpGroupsElement( G , [[1,1]] ); -g1 -gap> g := PPPPcpGroupsElement( G , [[1,1],[2,1],[3,1]] ); -g1*g2*t1 -gap> h := PPPPcpGroupsElement( G , [[1,1],[2,1],[3,G!.expo-1]] ); -g1*g2*t1^(-1+2*2^x) -\endexample - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\Section{Operations and functions for p-power-poly-pcp-group elements} - -The typical operations for group elements can be carried out for -

-power-poly-pcp-group elements, like `*', `/', Inverse, One, equality and -ShallowCopy. - -\>CollectPPPPcp( ) F - -collects the

-power-poly-pcp-group element so that after reducing to -integers for every specific value for the parameter , the element is -collected in the polycyclic group, represented by in the underlying -pp-presentation. - -Note that the global -variable `COLLECT_PPOWERPOLY_PCP' determines whether every element will be -collected immediately, when created, or not, see -%display{tex} -{\tt COLLECT_PPOWERPOLY_PCP}, -%enddisplay -"COLLECT_PPOWERPOLY_PCP". - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\Section{Operations and functions for p-power-poly-pcp-groups} - -For

-power-poly-pcp-groups: - -\> GeneratorsOfGroup( ) - -returns a set of generators for the

-power-poly-pcp-groups . - -\> One( ) - -obtains the identity element of the

-power-poly-pcp-groups . - -\>IsConsistentPPPPcp( ) F -\>IsConsistentPPPPcp( ) F - -checks if the underlying pp-presentation of the -

-power-poly-pcp-groups is consistent or if the pp-presenta-tion - is consistent. - -\>GetPcGroupPPowerPoly( , ) F -\>GetPcGroupPPowerPoly( , ) F - -takes the pp-presentation given by the record as in -%display{tex} -{\tt PPPPcpGroups}, -%enddisplay -"PPPPcpGroups" or the

-power-poly-pcp-groups and takes , a -non-negative integer, as a value for the parameter to obtain a -pc-presentation for the corresponding finite

-group. - -\>GetPcpGroupPPowerPoly( , ) F -\>GetPcpGroupPPowerPoly( , ) F - -takes pp-presentation given by the record as in -%display{tex} -{\tt PPPPcpGroups}, -%enddisplay -"PPPPcpGroups" or the

-power-poly-pcp-groups and takes , a -non-negative integer, as the parameter to obtain a pcp-presentation for the -corresponding finite

-group, for further information we refer to the -polycyclic package. - -\>GAPInputPPPPcpGroups( , ) F -\>GAPInputPPPPcpGroups( , ) F - -prints the

-power-poly-pcp-groups defined by in the file - as a record that could be used as input to -%display{tex} -{\tt PPPPcpGroups}, -%enddisplay -"PPPPcpGroups" to create

-power-poly-pcp-groups. - -\>GAPInputPPPPcpGroupsAppend( , ) F -\>GAPInputPPPPcpGroupsAppend( , ) F - -appends the pp-presentation of the

-power-poly-pcp-groups defined by - to the file as a record that could be used as input to -%display{tex} -{\tt PPPPcpGroups}, -%enddisplay -"PPPPcpGroups" to create

-power-poly-pcp-groups. - -\>LatexInputPPPPcpGroups( , ) F -\>LatexInputPPPPcpGroups( , ) F - -prints the pp-presentation of as given by in latex-code to the -file . Note that only non-trivial relations are printed. - -\>LatexInputPPPPcpGroupsAppend( , ) F -\>LatexInputPPPPcpGroupsAppend( , ) F - -appends the pp-presentation of as given by in latex-code to the -file . Note that only non-trivial relations are appended. - -\> LatexInputPPPPcpGroupsAllAppend( , ) F -\> LatexInputPPPPcpGroupsAllAppend( , ) F - -appends the pp-presentation of as given by in latex-code to the -file . Note that all relations are appended. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\Section{Info classes for the p-power-poly-pcp-groups} - -The following info classes are available: - -\>`InfoConsistencyPPPPcp' V - -is an InfoClass with the following levels. - -%display{nonhtml} -\beginitems -`level 1' & displays the first consistency relation that fails during the consistency check; - -`level 2' & displays which family of consistency relations have been checked during a consistency check. -\enditems -%display{nontext} -%\beginitems -%`level 1' & displays the first consistency relation that fails during the consistency check; -%`level 2' & displays which family of consistency relations have been checked during a consistency check. -%\enditems -%enddisplay - -the default value is 1. - -\>`InfoCollectingPPPPcp' V - -is an InfoClass with the following levels. - -\beginitems -`level 1' & displays some information during collecting; -\enditems - -the default value is 0. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\Section{Global variables for the p-power-poly-pcp-groups} - -The following global variables are available with default value: - -\>`COLLECT_PPOWERPOLY_PCP' V - -is a global variable determining if every

-power-poly-pcp-group -element is collected, when created, the default value is true. diff --git a/doc/ppowerpolypcpgroup.xml b/doc/ppowerpolypcpgroup.xml new file mode 100644 index 0000000..96ab88f --- /dev/null +++ b/doc/ppowerpolypcpgroup.xml @@ -0,0 +1,310 @@ + + +p-power-poly-pcp-groups +Eick and Leedham-Green defined for a prime p and a fixed +coclass r infinite coclass sequences. These sequences consist of finite +p-groups of coclass r. For each infinite coclass sequence there exists a +consistent pp-presentation (see +Section ) +such that if we choose a natural number for the parameter and possibly reduce +the exponents modulo the relative orders, we obtain a consistent polycyclic +presentation for a group in the sequence; and for each group in the sequence +there exists a natural number such that using this as a value for the +parameter, we obtain a polycyclic presentation for the group. +

+We use these consistent pp-presentations to compute parametrised +groups, which we call p-power-poly-pcp-groups. Furthermore, methods for +these are presented. Without specifying the parameter we compute certain +properties and using the p-power-poly-pcp-groups we do this for all groups +they represent at once. +

+The p-power-poly-pcp-groups have a consistent pp-presentation with +generators g_1, \ldots, g_n, t_1, \ldots t_d and c_1, \ldots, c_m, for some +non-negative integers n, d and m, and relations of the form, where +rel[i,j] stores the right hand sides of the relations (see +Section  for more +information on pp-presentations), +

+ +\begin{array}{rl}& g_i^p=rel[i,i],\\ +& t_i^{expo} = rel[n+i,n+i],\\ +& c_i^{expo\_vec[i]} = rel[n+d+i,n+d+i],\\ +& g_i^{g_j} = rel[j,i], \\ +& t_i^{g_j} = rel[j,n+i], \\ +& t_i^{t_j} = rel[n+j,n+i],\end{array} + +where the t_i's commute modulo \langle c_1,\ldots, c_m\rangle and the +c_i's are central. So rel (see Section ) +are the right hand sides of the relations, where some depend on the parameter. +The relative orders expo and <expo_vec[i]> of the generators t_j and +c_i depend on the parameter. +

+Example +In this section we present the well-known example of quaternion groups +Q_{2^{x+3}}. They have a pp-presentation of the following form: +

+ +\begin{array}{rl}\{ g_1,g_2,t_1 \mid &g_1^{2} = t_1^{2^x}, g_2^{g_1} = g_2 +t_1^{-1+2^{x+1}},\\ +& g_2^{2} = t_1, t_1^{g_1} = t_1^{-1+2^{x+1}},\\ +& t_1^{2^{x+1}} = 1 \}.\end{array} + +

+
+Obtaining p-power-poly-pcp-groups +To obtain p-power-poly-pcp-groups: + + + + +returns the p-power-poly-pcp-groups described by the consistent +pp-presentation with generators g_1, \ldots, g_n, t_1, \ldots t_d, +c_1, \ldots, c_m, for some non-negative integers n, d and m, and +relations of the form +

+ +\begin{array}{rl}& g_i^p=rel[i,i],\\ +& t_i^{expo} = rel[n+i,n+i],\\ +& c_i^{expo\_vec[i]} = rel[n+d+i,n+d+i],\\ +& g_i^{g_j} = rel[j,i], \\ +& t_i^{g_j} = rel[j,n+i], \\ +& t_i^{t_j} = rel[n+j,n+i].\end{array} + +

+The input consists of the following: + +rel +is the list of the right hand sides of the relations, where each +relation is presented by a list consisting of tuples; the first entry i of +a tuple is the index of the generator (if i \le n, then it represents +generator g_i, if n < i \le d, then it represents generator t_{i-n} +and otherwise it represents generator c_{i-n-d}) and the second entry of +the tuple is the corresponding exponent. +Note that the exponents of the g_i's are saved as integers and all other +exponents as lists, representing elements depending on the parameter. +n +is the number of generators g_i, +d +is the number of generators t_i, +m +is the number of generators c_i, +expo +is the relative order of all generators t_i; note that expo is +a list that represents an element depending on the parameter, +expo_vec +is the list of relative orders, where the ith entry of the +list gives the relative order of the generator c_i; note that each +relative order is a list that represents an element depending on the +parameter, +prime +is the underlying prime p, +cc +if the p-power-poly-pcp-groups represent an infinite coclass +sequence of p-groups of coclass r, then cc = r. If they represent +Schur extensions of groups in an infinite coclass sequence, then cc is +the coclass of the groups in this infinite coclass sequence. +name +a string to name the p-power-poly-pcp-groups. +rec +is a record of the form +<rec( rel, expo, n, d, m, prime, cc, expo_vec, name )>. + +The pp-presentation is described at the beginning of Chapter +. Note that the consistency of the presentation is +checked and that the presentation has to be consistent. + ParPresGlobalVar_2_1[1]; +rec( cc := 1, d := 1, expo := [ 2, [ 0, 2 ], true, [ 1, 1 ] ], + expo_vec := [ ], m := 0, n := 2, name := "D", prime := 2, + rel := + [ [ [ [ 1, 0 ] ] ], + [ [ [ 2, 1 ], [ 3, [ 2, [ -1, 2 ], true ] ] ], + [ [ 3, [ 2, [ 1 ], true, [ 0, 0 ] ] ] ] ], + [ [ [ 3, [ 2, [ -1, 2 ], true ] ] ], + [ [ 3, [ 2, [ 1 ], true, [ 0, 0 ] ] ] ], + [ [ 3, [ 2, [ ], true, [ infinity, infinity ] ] ] ] ] ] ) +gap> G := PPPPcpGroups( ParPresGlobalVar_2_1[1] ); +< P-Power-Poly-pcp-groups with 3 generators of relative orders [ 2,2,2*2^x ] > +]]> + + + + + +constructs an element in p-power-poly-pcp-groups, where G is a +p-power-poly-pcp-group (thus representing an infinite coclass sequence +through a pp-presentation) with generators g_1, \ldots, g_n, t_1, +\ldots, t_d, c_1, \ldots, c_m and word is a list of tuples, where the first +entry i in the tuple gives the index of the generator (if i \le n, then +it represents generator g_i, if n < i \le d, then it represents generator +t_{i-n} and otherwise it represents generator c_{i-n-d}) and the second +entry of the tuple is the corresponding exponent. Note that the exponents +of the g_i's must be integers, while all other exponents can be integers +or lists, representing an element depending on the parameter. + G := PPPPcpGroups( ParPresGlobalVar_2_1[3] ); +< P-Power-Poly-pcp-groups with 3 generators of relative orders [ 2,2,2*2^x ] > +gap> g1 := PPPPcpGroupsElement( G , [[1,1]] ); +g1 +gap> g := PPPPcpGroupsElement( G , [[1,1],[2,1],[3,1]] ); +g1*g2*t1 +gap> h := PPPPcpGroupsElement( G , [[1,1],[2,1],[3,G!.expo-1]] ); +Error, no method found! For debugging hints type ?Recovery from NoMethodFound +Error, no 1st choice method found for `+' on 2 arguments +]]> + + +

+
+Operations and functions for p-power-poly-pcp-group elements +The typical operations for group elements can be carried out for +p-power-poly-pcp-group elements, like *, /, Inverse, One, equality and +ShallowCopy. + + + +collects the p-power-poly-pcp-group element a so that after reducing to +integers for every specific value for the parameter x, the element is +collected in the polycyclic group, represented by x in the underlying +pp-presentation. +

+Note that the global +variable COLLECT_PPOWERPOLY_PCP determines whether every element will be +collected immediately, when created, or not, see + COLLECT_PPOWERPOLY_PCP, +. + + +

+
+Operations and functions for p-power-poly-pcp-groups +For p-power-poly-pcp-groups: + + + +returns a set of generators for the p-power-poly-pcp-groups G. + + + + + +obtains the identity element of the p-power-poly-pcp-groups G. + + + + + + +checks if the underlying pp-presentation of the +p-power-poly-pcp-groups G is consistent or if the pp-presenta-tion +ParPres is consistent. + + + + + + +takes the pp-presentation given by the record ParPres as in + PPPPcpGroups, + or the p-power-poly-pcp-groups G and takes n, a +non-negative integer, as a value for the parameter to obtain a +pc-presentation for the corresponding finite p-group. + + + + + + +takes pp-presentation given by the record ParPres as in + PPPPcpGroups, + or the p-power-poly-pcp-groups G and takes n, a +non-negative integer, as the parameter to obtain a pcp-presentation for the +corresponding finite p-group, for further information we refer to the +polycyclic package. + + + + + + +prints the p-power-poly-pcp-groups G defined by ParPres in the file +file as a record that could be used as input to + PPPPcpGroups, + to create p-power-poly-pcp-groups. + + + + + + +appends the pp-presentation of the p-power-poly-pcp-groups G defined by +ParPres to the file file as a record that could be used as input to + PPPPcpGroups, + to create p-power-poly-pcp-groups. + + + + + + +prints the pp-presentation of G as given by ParPres in latex-code to the +file file. Note that only non-trivial relations are printed. + + + + + + +appends the pp-presentation of G as given by ParPres in latex-code to the +file file. Note that only non-trivial relations are appended. + + + + + + +appends the pp-presentation of G as given by ParPres in latex-code to the +file file. Note that all relations are appended. + + +
+
+Info classes for the p-power-poly-pcp-groups +The following info classes are available: + + + +is an InfoClass with the following levels. + +level 1 +displays the first consistency relation that fails during the consistency check; +level 2 +displays which family of consistency relations have been checked during a consistency check. + +the default value is 1. + + + + + +is an InfoClass with the following levels. + +level 1 +displays some information during collecting; + +the default value is 0. + + +
+
+Global variables for the p-power-poly-pcp-groups +The following global variables are available with default value: + + + +is a global variable determining if every p-power-poly-pcp-group +element is collected, when created, the default value is true. + + +
+ diff --git a/doc/schurextensions.tex b/doc/schurextensions.tex deleted file mode 100644 index 28071b3..0000000 --- a/doc/schurextensions.tex +++ /dev/null @@ -1,228 +0,0 @@ -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%% -%W schurextension.tex GAP documentation Dörte Feichtenschlager -%% - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\Chapter{Schur extensions for p-power-poly-pcp-groups} - -In this chapter we describe how the consistent pp-presentations -of infinite coclass sequences can be used to compute a pp-presentation for -the corresponding Schur extensions (see \cite{EF11}). - -For a group $G = F/R$ the Schur extension $H$ is defined as $H = F/[F,R]$ -(see \cite{EN08}). - -So for a parameter that can take values in the positive integers, let -$(G_x = F/R_x | x \in \N)$, for $\N$ the positive integers, describe an -infinite coclass sequence of finite $p$-groups $G_X$ of coclass $r$. Then for -each value for the parameter , the group $G_x$ has a consistent polycyclic -presentation with generators $g_1, ..., g_n, t_1, ..., t_d$ and relations - -%display{nontext} -$$ -\eqalign{ -&\, g_i^p = rel[i][i],\cr -&\, t_i^{expo} = rel[n+i][n+i],\cr -&\, g_i^{g_j} = rel[j][i],\cr -&\, t_i^{g_j} = rel[j][n+i],\cr -&\, t_i^{t_j} = 1. -} -$$ -%display{text} -%g_i^p = rel[i][i], -%t_i^{expo} = rel[n+i][n+i], -%g_i^{g_j} = rel[j][i], -%t_i^{g_j} = rel[j][n+i], -%t_i^{t_j} = 1. -%enddisplay - -Then we compute a consistent pp-presentation of the corresponding Schur -extensions of with generators $g_1, ..., g_n, t_1, ..., t_d, c_1, ... c_m$ and -relations - -%display{nontext} -$$ -\eqalign{ -&\, g_i^p=rel[i][i],\cr -&\, t_i^{expo} = rel[n+i][n+i],\cr -&\, c_i^{expo\_vec[i]} = rel[n+d+i,n+d+i],\cr -&\, g_i^{g_j} = rel[j][i], \cr -&\, t_i^{g_j} = rel[j][n+i],\cr -&\, t_i^{t_j} = rel[n+j][n+i],\cr -&\, c_i^{g_j} = 1, \cr -&\, c_i^{t_j} = 1, \cr -&\, c_i^{c_j} = 1. -} -$$ -%display{text} -%g_i^p=rel[i][i], -%t_i^{expo}=rel[n+i][n+i], -%c_i^{expo\_vec[i]}=rel[n+d+i,n+d+i], -%g_i^{g_j} = rel[j][i], -%t_i^{g_j} = rel[j][n+i], -%t_i^{t_j} = rel[n+j][n+i], -%c_i^{g_j} = 1, -%c_i^{t_j} = 1, -%c_i^{c_j} = 1. -%enddisplay - -where the $t_i$'s commute modulo $< c_1, ..., c_m>$ and the $c_i$'s are -central. - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\Section{Computing Schur extensions} - -\>SchurExtParPres( ) - -computes the Schur extensions corresponding to the

-power-poly-pcp-groups - and returns them as

-power-poly-pcp-groups. - -\>SchurExtParPres( ) F - -computes a consistent pp-presentation of Schur extensions of the -groups defined by the record which describes -

-power-poly-pcp-groups. The output is a record -(, , , , , , , , ), -which describes the Schur extensions as

-power-poly-pcp-groups; it is -encoded in a form that it can be used as input for -%display{tex} -{\tt PPPPcpGroups}, -%enddisplay -"PPPPcpGroups". - -\beginexample -gap> SchurExtParPres( ParPresGlobalVar_2_1[1] ); -rec( prime := 2, - rel := [ [ [ [ 7, 1 ] ] ], [ [ [ 2, 1 ], [ 3, -1+2*2^x ], [ 6, 1-2*2^x ] ], - [ [ 3, 1 ], [ 5, 1 ] ] ], - [ [ [ 3, -1+2*2^x ], [ 4, 1 ], [ 6, 2-2*2^x ] ], [ [ 3, 1 ] ], - [ [ 4, 1 ], [ 6, 2*2^x ] ] ], - [ [ [ 4, 1 ] ], [ [ 4, 1 ] ], [ [ 4, 1 ] ], [ [ 4, 0 ] ] ], - [ [ [ 5, 1 ] ], [ [ 5, 1 ] ], [ [ 5, 1 ] ], [ [ 5, 1 ] ], [ [ 5, 0 ] ] ] - , - [ [ [ 6, 1 ] ], [ [ 6, 1 ] ], [ [ 6, 1 ] ], [ [ 6, 1 ] ], [ [ 6, 1 ] ], - [ [ 6, 0 ] ] ], - [ [ [ 7, 1 ] ], [ [ 7, 1 ] ], [ [ 7, 1 ] ], [ [ 7, 1 ] ], [ [ 7, 1 ] ], - [ [ 7, 1 ] ], [ [ 7, 0 ] ] ] ], n := 2, d := 1, m := 4, - expo := 2*2^x, expo_vec := [ 2, 0, 0, 0 ], cc := fail, name := "SchurExt_D" - ) -\endexample - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\Section{Computing other invariants from Schur extensions} - -\>AbelianInvariantsMultiplier( ) F - -computes the abelian invariants of the Schur multiplicators of the -

-power-poly-pcp-groups . The output is a list $[d_1, ..., d_k]$ -consisting elements $d_i$, depending on the underlying parameter, such that -$M(G) \cong C_{d_1} \times \ldots \times C_{d_k}$. - -\beginexample -gap> G := PPPPcpGroups( ParPresGlobalVar_2_1[1] ); -< P-Power-Poly-pcp-groups with 3 generators of relative orders [ 2,2,2*2^x ] > -gap> AbelianInvariantsMultiplier( G ); -[ 2 ] -\endexample - -\>SchurMultiplicatorPPPPcps( )!{for p-power-poly-pcp-groups} F - -computes the Schur multiplicators of the

-power-poly-pcp-groups and -then returns the corresponding -%display{tex} -{\tt PPPPcpGroups}, -%enddisplay -"PPPPcpGroups". - -\beginexample -gap> G := PPPPcpGroups( ParPresGlobalVar_3_1[1] ); -< P-Power-Poly pcp-group with 5 generators of relative orders [ 3,3,3,3*3^x,3*3^x ] > -gap> SchurMultiplicatorPPPPcps( G ); -< P-Power-Poly-pcp-groups with 2 generators of relative orders [ 3,9*3^x ] > -\endexample - -\>AbelianInvariants( )!{for p-power-poly-pcp-groups} F - -computes the abelian invariants of the

-power-poly-pcp-groups and returns -them as a list of list describing the parametrised elements. - -\beginexample -gap> G := PPPPcpGroups( ParPresGlobalVar_2_1[1] ); -< P-Power-Poly-pcp-groups with 3 generators of relative orders [ 2,2,2*2^x ] > -gap> AbelianInvariants( G ); -[ 2, 2 ] -\endexample - -\>ZeroCohomologyPPPPcps( [,

] ) F - -computes the zero-th-cohomology groups $H^0(G,R)$ of the -

-power-poly-pcp-groups with coefficients in $R$, where $R \cong GF(p)$ if -the prime $p$ is given or $R \cong \Z$ otherwise. The action of $G$ on $R$ is -taken to be trivial. The function returns a list of integers $[a_1,\ldots, -a_k]$ where the cohomology group is isomorphic to $C_{a_1} \times \ldots -\times C_{a_k}$ with $C_i$ a cyclic group of order $i$ (for $i > 0$) and $C_0$ -is interpreted as $\Z$. - -\beginexample -gap> G := PPPPcpGroups( ParPresGlobalVar_2_1[1] ); -< P-Power-Poly-pcp-groups with 3 generators of relative orders [ 2,2,2*2^x ] > -gap> ZeroCohomologyPPPPcp( G, 2 ); -[ 2 ] -\endexample - -\>FirstCohomologyPPPPcps( [,

] ) F - -computes the first-cohomology groups $H^1(G,R)$ of the -

-power-poly-pcp-groups with coefficients in $R$, where $R \cong GF(p)$ if -the prime $p$ is given or $R \cong \Z$ otherwise. The action of $G$ on $R$ is -taken to be trivial. The function returns a list of integers $[a_1,\ldots, -a_k]$ where the cohomology group is isomorphic to $C_{a_1} \times \ldots -\times C_{a_k}$ with $C_i$ a cyclic group of order $i$ (for $i > 0$) and $C_0$ -is interpreted as $\Z$. - -\beginexample -gap> G := PPPPcpGroups( ParPresGlobalVar_2_1[1] ); -< P-Power-Poly-pcp-groups with 3 generators of relative orders [ 2,2,2*2^x ] > -gap> FirstCohomologyPPPPcps( G ); -[ ] -\endexample - -\>SecondCohomologyPPPPcps( [,

] ) F - -computes the second-cohomology groups $H^2(G,R)$ of the -

-power-poly-pcp-groups with coefficients in $R$, where $R \cong GF(p)$ if -the prime $p$ is given or $R \cong \Z$ otherwise. The action of $G$ on $R$ is -taken to be trivial. The function returns a list of integers $[a_1,\ldots, -a_k]$ where the cohomology group is isomorphic to $C_{a_1} \times \ldots -\times C_{a_k}$ with $C_i$ a cyclic group of order $i$ (for $i > 0$) and $C_0$ -is interpreted as $\Z$. - -\beginexample -gap> G := PPPPcpGroups( ParPresGlobalVar_2_1[1] ); -< P-Power-Poly-pcp-groups with 3 generators of relative orders [ 2,2,2*2^x ] > -gap> SecondCohomologyPPPPcps( G, 2 ); -[ 2, 2, 2 ] -\endexample - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\Section{Info classes for the computation of the Schur extension} - -The following info classes are available - -\>`InfoConsistencyRelPPowerPoly' V - -\beginitems -`level 1' & shows which consistency relations are computed and gives the -result; -\enditems - -the default value is 0. - -\>`InfoCollectingPPowerPoly' V - -\beginitems -`level 1' & shows what is done during collecting; -\enditems - -the default value is 0. diff --git a/doc/schurextensions.xml b/doc/schurextensions.xml new file mode 100644 index 0000000..4b4dc2e --- /dev/null +++ b/doc/schurextensions.xml @@ -0,0 +1,232 @@ + + +Schur extensions for p-power-poly-pcp-groups +In this chapter we describe how the consistent pp-presentations +of infinite coclass sequences can be used to compute a pp-presentation for +the corresponding Schur extensions (see ). +

+For a group G = F/R the Schur extension H is defined as H = F/[F,R] +(see ). +

+So for a parameter x that can take values in the positive integers, let +(G_x = F/R_x | x \in &NN;), for &NN; the positive integers, describe an +infinite coclass sequence of finite p-groups G_X of coclass r. Then for +each value for the parameter x, the group G_x has a consistent polycyclic +presentation with generators g_1, ..., g_n, t_1, ..., t_d and relations +

+ +\begin{array}{rl}& g_i^p = rel[i][i],\\ +& t_i^{expo} = rel[n+i][n+i],\\ +& g_i^{g_j} = rel[j][i],\\ +& t_i^{g_j} = rel[j][n+i],\\ +& t_i^{t_j} = 1.\end{array} + +

+Then we compute a consistent pp-presentation of the corresponding Schur +extensions of with generators g_1, ..., g_n, t_1, ..., t_d, c_1, ... c_m and +relations +

+ +\begin{array}{rl}& g_i^p=rel[i][i],\\ +& t_i^{expo} = rel[n+i][n+i],\\ +& c_i^{expo\_vec[i]} = rel[n+d+i,n+d+i],\\ +& g_i^{g_j} = rel[j][i], \\ +& t_i^{g_j} = rel[j][n+i],\\ +& t_i^{t_j} = rel[n+j][n+i],\\ +& c_i^{g_j} = 1, \\ +& c_i^{t_j} = 1, \\ +& c_i^{c_j} = 1.\end{array} + +

+where the t_i's commute modulo < c_1, ..., c_m> and the c_i's are +central. +

+Computing Schur extensions + + + +computes the Schur extensions corresponding to the p-power-poly-pcp-groups +G and returns them as p-power-poly-pcp-groups. + + + + + +computes a consistent pp-presentation of Schur extensions of the +groups defined by the record ParPres which describes +p-power-poly-pcp-groups. The output is a record +rec(rel, expo, n, d, m, prime, cc, <expo_vec>, name), +which describes the Schur extensions as p-power-poly-pcp-groups; it is +encoded in a form that it can be used as input for + PPPPcpGroups, +. + SchurExtParPres( ParPresGlobalVar_2_1[1] ); +rec( cc := fail, d := 1, expo := [ 2, [ 0, 2 ], true, [ 1, 1 ] ], + expo_vec := [ [ 2, [ 2 ] ], [ 2, [ ], true, [ infinity, infinity ] ], + [ 2, [ ], true, [ infinity, infinity ] ], + [ 2, [ ], true, [ infinity, infinity ] ] ], m := 4, n := 2, + name := "SchurExt_D", prime := 2, + rel := [ [ [ [ 7, [ 2, [ 1 ], true, [ 0, 0 ] ] ] ] ], + [ + [ [ 2, 1 ], [ 3, [ 2, [ -1, 2 ], true ] ], + [ 6, [ 2, [ 1, -2 ], true, [ 0, 0 ] ] ] ], + [ [ 3, [ 2, [ 1 ], true, [ 0, 0 ] ] ], + [ 5, [ 2, [ 1 ], true, [ 0, 0 ] ] ] ] ], + [ [ [ 3, [ 2, [ -1, 2 ], true ] ], [ 4, [ 2, [ 1 ], true, [ 0, 0 ] ] ], + [ 6, [ 2, [ 2, -2 ], true, [ 0, 1 ] ] ] ], + [ [ 3, [ 2, [ 1 ], true, [ 0, 0 ] ] ] ], + [ [ 4, [ 2, [ 1 ], true, [ 0, 0 ] ] ], [ 6, [ 2, [ 0, 2 ] ] ] ] ], + [ [ [ 4, [ 2, [ 1 ], true, [ 0, 0 ] ] ] ], + [ [ 4, [ 2, [ 1 ], true, [ 0, 0 ] ] ] ], + [ [ 4, [ 2, [ 1 ], true, [ 0, 0 ] ] ] ], + [ [ 4, [ 2, [ ], true, [ infinity, infinity ] ] ] ] ], + [ [ [ 5, [ 2, [ 1 ], true, [ 0, 0 ] ] ] ], + [ [ 5, [ 2, [ 1 ], true, [ 0, 0 ] ] ] ], + [ [ 5, [ 2, [ 1 ], true, [ 0, 0 ] ] ] ], + [ [ 5, [ 2, [ 1 ], true, [ 0, 0 ] ] ] ], + [ [ 5, [ 2, [ ], true, [ infinity, infinity ] ] ] ] ], + [ [ [ 6, [ 2, [ 1 ], true, [ 0, 0 ] ] ] ], + [ [ 6, [ 2, [ 1 ], true, [ 0, 0 ] ] ] ], + [ [ 6, [ 2, [ 1 ], true, [ 0, 0 ] ] ] ], + [ [ 6, [ 2, [ 1 ], true, [ 0, 0 ] ] ] ], + [ [ 6, [ 2, [ 1 ], true, [ 0, 0 ] ] ] ], + [ [ 6, [ 2, [ ], true, [ infinity, infinity ] ] ] ] ], + [ [ [ 7, [ 2, [ 1 ], true, [ 0, 0 ] ] ] ], + [ [ 7, [ 2, [ 1 ], true, [ 0, 0 ] ] ] ], + [ [ 7, [ 2, [ 1 ], true, [ 0, 0 ] ] ] ], + [ [ 7, [ 2, [ 1 ], true, [ 0, 0 ] ] ] ], + [ [ 7, [ 2, [ 1 ], true, [ 0, 0 ] ] ] ], + [ [ 7, [ 2, [ 1 ], true, [ 0, 0 ] ] ] ], + [ [ 7, [ 2, [ ], true, [ infinity, infinity ] ] ] ] ] ] ) +]]> + + +
+
+Computing other invariants from Schur extensions + + + +computes the abelian invariants of the Schur multiplicators <M(G)> of the +p-power-poly-pcp-groups G. The output is a list [d_1, ..., d_k] +consisting elements d_i, depending on the underlying parameter, such that +M(G) \cong C_{d_1} \times \ldots \times C_{d_k}. + G := PPPPcpGroups( ParPresGlobalVar_2_1[1] ); +< P-Power-Poly-pcp-groups with 3 generators of relative orders [ 2,2,2*2^x ] > +gap> AbelianInvariantsMultiplier( G ); +[ [ 2, [ 2 ] ] ] +]]> + + + + + +computes the Schur multiplicators of the p-power-poly-pcp-groups G and +then returns the corresponding + PPPPcpGroups, +. + G := PPPPcpGroups( ParPresGlobalVar_3_1[1] ); +< P-Power-Poly-pcp-groups with 5 generators of relative orders [ 3,3,3,3*3^x, +3*3^x ] > +gap> SchurMultiplicatorPPPPcps( G ); +< P-Power-Poly-pcp-groups with 2 generators of relative orders [ 3,9*3^x ] > +]]> + + + + + +computes the abelian invariants of the p-power-poly-pcp-groups G and returns +them as a list of list describing the parametrised elements. + G := PPPPcpGroups( ParPresGlobalVar_2_1[1] ); +< P-Power-Poly-pcp-groups with 3 generators of relative orders [ 2,2,2*2^x ] > +gap> AbelianInvariants( G ); +[ [ 2, [ 1 ], true, [ 0, 0 ] ], [ 2, [ 1 ], true, [ 0, 0 ] ] ] +]]> + + + + + +computes the zero-th-cohomology groups H^0(G,R) of the +p-power-poly-pcp-groups G with coefficients in R, where R \cong GF(p) if +the prime p is given or R \cong &ZZ; otherwise. The action of G on R is +taken to be trivial. The function returns a list of integers [a_1,\ldots, +a_k] where the cohomology group is isomorphic to C_{a_1} \times \ldots +\times C_{a_k} with C_i a cyclic group of order i (for i > 0) and C_0 +is interpreted as &ZZ;. + G := PPPPcpGroups( ParPresGlobalVar_2_1[1] ); +< P-Power-Poly-pcp-groups with 3 generators of relative orders [ 2,2,2*2^x ] > +gap> ZeroCohomologyPPPPcp( G, 2 ); +Error, Variable: 'ZeroCohomologyPPPPcp' must have a value +]]> + + + + + +computes the first-cohomology groups H^1(G,R) of the +p-power-poly-pcp-groups G with coefficients in R, where R \cong GF(p) if +the prime p is given or R \cong &ZZ; otherwise. The action of G on R is +taken to be trivial. The function returns a list of integers [a_1,\ldots, +a_k] where the cohomology group is isomorphic to C_{a_1} \times \ldots +\times C_{a_k} with C_i a cyclic group of order i (for i > 0) and C_0 +is interpreted as &ZZ;. + G := PPPPcpGroups( ParPresGlobalVar_2_1[1] ); +< P-Power-Poly-pcp-groups with 3 generators of relative orders [ 2,2,2*2^x ] > +gap> FirstCohomologyPPPPcps( G ); +[ ] +]]> + + + + + +computes the second-cohomology groups H^2(G,R) of the +p-power-poly-pcp-groups G with coefficients in R, where R \cong GF(p) if +the prime p is given or R \cong &ZZ; otherwise. The action of G on R is +taken to be trivial. The function returns a list of integers [a_1,\ldots, +a_k] where the cohomology group is isomorphic to C_{a_1} \times \ldots +\times C_{a_k} with C_i a cyclic group of order i (for i > 0) and C_0 +is interpreted as &ZZ;. + G := PPPPcpGroups( ParPresGlobalVar_2_1[1] ); +< P-Power-Poly-pcp-groups with 3 generators of relative orders [ 2,2,2*2^x ] > +gap> SecondCohomologyPPPPcps( G, 2 ); +[ 2, 2, 2 ] +]]> + + +
+
+Info classes for the computation of the Schur extension +The following info classes are available + + + + +level 1 +shows which consistency relations are computed and gives the +result; + +the default value is 0. + + + + + + +level 1 +shows what is done during collecting; + +the default value is 0. + + +
+ diff --git a/makedoc.g b/makedoc.g new file mode 100644 index 0000000..3e0c6d2 --- /dev/null +++ b/makedoc.g @@ -0,0 +1,31 @@ +############################################################################# +## +## makedoc.g +## +## Builds the package documentation with AutoDoc/GAPDoc. +## +############################################################################# + +LoadPackage("AutoDoc"); + +# Run this from the package's root directory: gap makedoc.g +AutoDoc(rec( + autodoc := rec(scan_dirs := []), + gapdoc := rec(main := "main", files := []), + extract_examples := true, + scaffold := rec( + includes := [ + "install.xml", + "intro.xml", + "ppowerpolypcpgroup.xml", + "parpres.xml", + "schurextensions.xml" + ], + entities := rec( + SymbCompCC := "SymbCompCC", + ), + bib := "symbcompcc.bib", + ), +)); + +QuitGap(); diff --git a/tst/manual.example-1.tst b/tst/manual.example-1.tst deleted file mode 100644 index d8f9f12..0000000 --- a/tst/manual.example-1.tst +++ /dev/null @@ -1,2 +0,0 @@ -gap> LoadPackage("SymbCompCC"); -true diff --git a/tst/symbcompcc01.tst b/tst/symbcompcc01.tst new file mode 100644 index 0000000..83a407d --- /dev/null +++ b/tst/symbcompcc01.tst @@ -0,0 +1,18 @@ +# SymbCompCC, chapter 1 +# +# DO NOT EDIT THIS FILE - EDIT EXAMPLES IN THE SOURCE INSTEAD! +# +# This file has been generated by AutoDoc. It contains examples extracted from +# the package documentation. Each example is preceded by a comment which gives +# the name of a GAPDoc XML file and a line range from which the example were +# taken. Note that the XML file in turn may have been generated by AutoDoc +# from some other input. +# +gap> START_TEST("symbcompcc01.tst"); + +# doc/install.xml:34-37 +gap> LoadPackage("SymbCompCC"); +true + +# +gap> STOP_TEST("symbcompcc01.tst", 1); diff --git a/tst/manual.example-3.tst b/tst/symbcompcc02.tst similarity index 64% rename from tst/manual.example-3.tst rename to tst/symbcompcc02.tst index 389fb1e..2bee275 100644 --- a/tst/manual.example-3.tst +++ b/tst/symbcompcc02.tst @@ -1,3 +1,16 @@ +# SymbCompCC, chapter 3 +# +# DO NOT EDIT THIS FILE - EDIT EXAMPLES IN THE SOURCE INSTEAD! +# +# This file has been generated by AutoDoc. It contains examples extracted from +# the package documentation. Each example is preceded by a comment which gives +# the name of a GAPDoc XML file and a line range from which the example were +# taken. Note that the XML file in turn may have been generated by AutoDoc +# from some other input. +# +gap> START_TEST("symbcompcc02.tst"); + +# doc/ppowerpolypcpgroup.xml:115-128 gap> ParPresGlobalVar_2_1[1]; rec( cc := 1, d := 1, expo := [ 2, [ 0, 2 ], true, [ 1, 1 ] ], expo_vec := [ ], m := 0, n := 2, name := "D", prime := 2, @@ -10,6 +23,8 @@ rec( cc := 1, d := 1, expo := [ 2, [ 0, 2 ], true, [ 1, 1 ] ], [ [ 3, [ 2, [ ], true, [ infinity, infinity ] ] ] ] ] ] ) gap> G := PPPPcpGroups( ParPresGlobalVar_2_1[1] ); < P-Power-Poly-pcp-groups with 3 generators of relative orders [ 2,2,2*2^x ] > + +# doc/ppowerpolypcpgroup.xml:144-154 gap> G := PPPPcpGroups( ParPresGlobalVar_2_1[3] ); < P-Power-Poly-pcp-groups with 3 generators of relative orders [ 2,2,2*2^x ] > gap> g1 := PPPPcpGroupsElement( G , [[1,1]] ); @@ -19,3 +34,6 @@ g1*g2*t1 gap> h := PPPPcpGroupsElement( G , [[1,1],[2,1],[3,G!.expo-1]] ); Error, no method found! For debugging hints type ?Recovery from NoMethodFound Error, no 1st choice method found for `+' on 2 arguments + +# +gap> STOP_TEST("symbcompcc02.tst", 1); diff --git a/tst/manual.example-5.tst b/tst/symbcompcc03.tst similarity index 81% rename from tst/manual.example-5.tst rename to tst/symbcompcc03.tst index 1511212..f60450a 100644 --- a/tst/manual.example-5.tst +++ b/tst/symbcompcc03.tst @@ -1,3 +1,16 @@ +# SymbCompCC, chapter 5 +# +# DO NOT EDIT THIS FILE - EDIT EXAMPLES IN THE SOURCE INSTEAD! +# +# This file has been generated by AutoDoc. It contains examples extracted from +# the package documentation. Each example is preceded by a comment which gives +# the name of a GAPDoc XML file and a line range from which the example were +# taken. Note that the XML file in turn may have been generated by AutoDoc +# from some other input. +# +gap> START_TEST("symbcompcc03.tst"); + +# doc/schurextensions.xml:63-102 gap> SchurExtParPres( ParPresGlobalVar_2_1[1] ); rec( cc := fail, d := 1, expo := [ 2, [ 0, 2 ], true, [ 1, 1 ] ], expo_vec := [ [ 2, [ 2 ] ], [ 2, [ ], true, [ infinity, infinity ] ], @@ -36,28 +49,43 @@ rec( cc := fail, d := 1, expo := [ 2, [ 0, 2 ], true, [ 1, 1 ] ], [ [ 7, [ 2, [ 1 ], true, [ 0, 0 ] ] ] ], [ [ 7, [ 2, [ 1 ], true, [ 0, 0 ] ] ] ], [ [ 7, [ 2, [ ], true, [ infinity, infinity ] ] ] ] ] ] ) + +# doc/schurextensions.xml:115-120 gap> G := PPPPcpGroups( ParPresGlobalVar_2_1[1] ); < P-Power-Poly-pcp-groups with 3 generators of relative orders [ 2,2,2*2^x ] > gap> AbelianInvariantsMultiplier( G ); [ [ 2, [ 2 ] ] ] + +# doc/schurextensions.xml:130-136 gap> G := PPPPcpGroups( ParPresGlobalVar_3_1[1] ); < P-Power-Poly-pcp-groups with 5 generators of relative orders [ 3,3,3,3*3^x, 3*3^x ] > gap> SchurMultiplicatorPPPPcps( G ); < P-Power-Poly-pcp-groups with 2 generators of relative orders [ 3,9*3^x ] > + +# doc/schurextensions.xml:144-149 gap> G := PPPPcpGroups( ParPresGlobalVar_2_1[1] ); < P-Power-Poly-pcp-groups with 3 generators of relative orders [ 2,2,2*2^x ] > gap> AbelianInvariants( G ); [ [ 2, [ 1 ], true, [ 0, 0 ] ], [ 2, [ 1 ], true, [ 0, 0 ] ] ] + +# doc/schurextensions.xml:162-167 gap> G := PPPPcpGroups( ParPresGlobalVar_2_1[1] ); < P-Power-Poly-pcp-groups with 3 generators of relative orders [ 2,2,2*2^x ] > gap> ZeroCohomologyPPPPcp( G, 2 ); Error, Variable: 'ZeroCohomologyPPPPcp' must have a value + +# doc/schurextensions.xml:180-185 gap> G := PPPPcpGroups( ParPresGlobalVar_2_1[1] ); < P-Power-Poly-pcp-groups with 3 generators of relative orders [ 2,2,2*2^x ] > gap> FirstCohomologyPPPPcps( G ); [ ] + +# doc/schurextensions.xml:198-203 gap> G := PPPPcpGroups( ParPresGlobalVar_2_1[1] ); < P-Power-Poly-pcp-groups with 3 generators of relative orders [ 2,2,2*2^x ] > gap> SecondCohomologyPPPPcps( G, 2 ); [ 2, 2, 2 ] + +# +gap> STOP_TEST("symbcompcc03.tst", 1); From 29b1528bac5bb616db38d9498c0eaf9ba3aa7344 Mon Sep 17 00:00:00 2001 From: Max Horn Date: Tue, 11 Aug 2026 00:25:30 +0200 Subject: [PATCH 2/2] fixup --- doc/intro.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/intro.xml b/doc/intro.xml index 84d8cdc..1fbf2dc 100644 --- a/doc/intro.xml +++ b/doc/intro.xml @@ -127,7 +127,7 @@ Using this we can define the Schur extensions Q_{2^{x+3}}^{*} g_2^{g_1} = g_2t_1^{-1+2^{x+1}}c_2^{1-2^{x+1}},\\ & g_2^{2} = t_1c_1, t_1^{g_1} = t_1^{-1+2^{x+1}}c_2^{2-2^{x+1}},\\ & t_1^{2^{x+1}} = c_2^{2^{x+1}}, \\ - & c_1,c_2,c_3 \text{ central} \}.\end{array} + & c_1,c_2,c_3\ \mathrm{central} \}.\end{array}

This yields M(Q_{2^{x+3}}) = 1.