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..1fbf2dc --- /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\ \mathrm{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);