GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it
1[1XA [33X[0;0YExamples[133X[101X23[33X[0;0YThere are a large number of examples provided with the [5XANUPQ[105X package. These4may be executed or displayed via the function [10XPqExample[110X (see [2XPqExample[102X5([14X3.4-4[114X)). Each example resides in a file of the same name in the directory6[10Xexamples[110X. Most of the examples are translations to [5XGAP[105X of examples provided7for the [10Xpq[110X standalone by Eamonn O'Brien; the standalone examples are found8in directories [10Xstandalone/examples[110X ([22Xp[122X-quotient and [22Xp[122X-group generation9examples) and [10Xstandalone/isom[110X (standard presentation examples). The first10line of each example indicates its origin. All the examples seen in earlier11chapters of this manual are also available as examples, in a slightly12modified form (the example which one can run in order to see something very13close to the text example [21Xlive[121X is always indicated near -- usually14immediately after -- the text example). The format of the ([10XPqExample[110X)15examples is such that they can be read by the standard [10XRead[110X function of [5XGAP[105X,16but certain features and comments are interpreted by the function [10XPqExample[110X17to do somewhat more than [10XRead[110X does. In particular, any function without a18[10X-i[110X, [10X-ni[110X or [10X.g[110X suffix has both a non-interactive and interactive form; in19these cases, the default form is the non-interactive form, and giving20[10XPqStart[110X as second argument generates the interactive form.[133X2122[33X[0;0YRunning [10XPqExample[110X without an argument or with a non-existent example [10XInfo[110Xs23the available examples and some hints on usage:[133X2425[4X[32X Example [32X[104X26[4X[25Xgap>[125X [27XPqExample();[127X[104X27[4X[28X#I PqExample Index (Table of Contents)[128X[104X28[4X[28X#I -----------------------------------[128X[104X29[4X[28X#I This table of possible examples is displayed when calling `PqExample'[128X[104X30[4X[28X#I with no arguments, or with the argument: "index" (meant in the sense[128X[104X31[4X[28X#I of ``list''), or with a non-existent example name.[128X[104X32[4X[28X#I [128X[104X33[4X[28X#I Examples that have a name ending in `-ni' are non-interactive only.[128X[104X34[4X[28X#I Examples that have a name ending in `-i' are interactive only.[128X[104X35[4X[28X#I Examples with names ending in `.g' also have only one form. Other[128X[104X36[4X[28X#I examples have both a non-interactive and an interactive form; call[128X[104X37[4X[28X#I `PqExample' with 2nd argument `PqStart' to get the interactive form[128X[104X38[4X[28X#I of the example. The substring `PG' in an example name indicates a[128X[104X39[4X[28X#I p-Group Generation example, `SP' indicates a Standard Presentation[128X[104X40[4X[28X#I example, `Rel' indicates it uses the `Relators' option, and `Id'[128X[104X41[4X[28X#I indicates it uses the `Identities' option.[128X[104X42[4X[28X#I [128X[104X43[4X[28X#I The following ANUPQ examples are available:[128X[104X44[4X[28X#I [128X[104X45[4X[28X#I p-Quotient examples:[128X[104X46[4X[28X#I general:[128X[104X47[4X[28X#I "Pq" "Pq-ni" "PqEpimorphism" [128X[104X48[4X[28X#I "PqPCover" "PqSupplementInnerAutomorphisms"[128X[104X49[4X[28X#I 2-groups:[128X[104X50[4X[28X#I "2gp-Rel" "2gp-Rel-i" "2gp-a-Rel-i"[128X[104X51[4X[28X#I "B2-4" "B2-4-Id" "B2-8-i"[128X[104X52[4X[28X#I "B4-4-i" "B4-4-a-i" "B5-4.g"[128X[104X53[4X[28X#I 3-groups:[128X[104X54[4X[28X#I "3gp-Rel-i" "3gp-a-Rel" "3gp-a-Rel-i"[128X[104X55[4X[28X#I "3gp-a-x-Rel-i" "3gp-maxoccur-Rel-i"[128X[104X56[4X[28X#I 5-groups:[128X[104X57[4X[28X#I "5gp-Rel-i" "5gp-a-Rel-i" "5gp-b-Rel-i"[128X[104X58[4X[28X#I "5gp-c-Rel-i" "5gp-metabelian-Rel-i" "5gp-maxoccur-Rel-i"[128X[104X59[4X[28X#I "F2-5-i" "B2-5-i" "R2-5-i"[128X[104X60[4X[28X#I "R2-5-x-i" "B5-5-Engel3-Id"[128X[104X61[4X[28X#I 7-groups:[128X[104X62[4X[28X#I "7gp-Rel-i"[128X[104X63[4X[28X#I 11-groups:[128X[104X64[4X[28X#I "11gp-i" "11gp-Rel-i" "11gp-a-Rel-i"[128X[104X65[4X[28X#I "11gp-3-Engel-Id" "11gp-3-Engel-Id-i"[128X[104X66[4X[28X#I [128X[104X67[4X[28X#I p-Group Generation examples:[128X[104X68[4X[28X#I general:[128X[104X69[4X[28X#I "PqDescendants-1" "PqDescendants-2" "PqDescendants-3"[128X[104X70[4X[28X#I "PqDescendants-1-i"[128X[104X71[4X[28X#I 2-groups:[128X[104X72[4X[28X#I "2gp-PG-i" "2gp-PG-2-i" "2gp-PG-3-i"[128X[104X73[4X[28X#I "2gp-PG-4-i" "2gp-PG-e4-i"[128X[104X74[4X[28X#I "PqDescendantsTreeCoclassOne-16-i"[128X[104X75[4X[28X#I 3-groups:[128X[104X76[4X[28X#I "3gp-PG-i" "3gp-PG-4-i" "3gp-PG-x-i"[128X[104X77[4X[28X#I "3gp-PG-x-1-i" "PqDescendants-treetraverse-i"[128X[104X78[4X[28X#I "PqDescendantsTreeCoclassOne-9-i"[128X[104X79[4X[28X#I 5-groups:[128X[104X80[4X[28X#I "5gp-PG-i" "Nott-PG-Rel-i" "Nott-APG-Rel-i"[128X[104X81[4X[28X#I "PqDescendantsTreeCoclassOne-25-i"[128X[104X82[4X[28X#I 7,11-groups:[128X[104X83[4X[28X#I "7gp-PG-i" "11gp-PG-i"[128X[104X84[4X[28X#I [128X[104X85[4X[28X#I Standard Presentation examples:[128X[104X86[4X[28X#I general:[128X[104X87[4X[28X#I "StandardPresentation" "StandardPresentation-i"[128X[104X88[4X[28X#I "EpimorphismStandardPresentation"[128X[104X89[4X[28X#I "EpimorphismStandardPresentation-i" "IsIsomorphicPGroup-ni"[128X[104X90[4X[28X#I 2-groups:[128X[104X91[4X[28X#I "2gp-SP-Rel-i" "2gp-SP-1-Rel-i" "2gp-SP-2-Rel-i"[128X[104X92[4X[28X#I "2gp-SP-3-Rel-i" "2gp-SP-4-Rel-i" "2gp-SP-d-Rel-i"[128X[104X93[4X[28X#I "gp-256-SP-Rel-i" "B2-4-SP-i" "G2-SP-Rel-i"[128X[104X94[4X[28X#I 3-groups:[128X[104X95[4X[28X#I "3gp-SP-Rel-i" "3gp-SP-1-Rel-i" "3gp-SP-2-Rel-i"[128X[104X96[4X[28X#I "3gp-SP-3-Rel-i" "3gp-SP-4-Rel-i" "G3-SP-Rel-i"[128X[104X97[4X[28X#I 5-groups:[128X[104X98[4X[28X#I "5gp-SP-Rel-i" "5gp-SP-a-Rel-i" "5gp-SP-b-Rel-i"[128X[104X99[4X[28X#I "5gp-SP-big-Rel-i" "5gp-SP-d-Rel-i" "G5-SP-Rel-i"[128X[104X100[4X[28X#I "G5-SP-a-Rel-i" "Nott-SP-Rel-i"[128X[104X101[4X[28X#I 7-groups:[128X[104X102[4X[28X#I "7gp-SP-Rel-i" "7gp-SP-a-Rel-i" "7gp-SP-b-Rel-i"[128X[104X103[4X[28X#I 11-groups:[128X[104X104[4X[28X#I "11gp-SP-a-i" "11gp-SP-a-Rel-i" "11gp-SP-a-Rel-1-i"[128X[104X105[4X[28X#I "11gp-SP-b-i" "11gp-SP-b-Rel-i" "11gp-SP-c-Rel-i"[128X[104X106[4X[28X#I [128X[104X107[4X[28X#I Notes[128X[104X108[4X[28X#I -----[128X[104X109[4X[28X#I 1. The example (first) argument of `PqExample' is a string; each[128X[104X110[4X[28X#I example above is in double quotes to remind you to include them.[128X[104X111[4X[28X#I 2. Some examples accept options. To find out whether a particular[128X[104X112[4X[28X#I example accepts options, display it first (by including `Display'[128X[104X113[4X[28X#I as last argument) which will also indicate how `PqExample'[128X[104X114[4X[28X#I interprets the options, e.g. `PqExample("11gp-SP-a-i", Display);'.[128X[104X115[4X[28X#I 3. Try `SetInfoLevel(InfoANUPQ, <n>);' for some <n> in [2 .. 4][128X[104X116[4X[28X#I before calling PqExample, to see what's going on behind the scenes.[128X[104X117[4X[28X#I [128X[104X118[4X[32X[104X119120[33X[0;0YIf on your terminal you are unable to scroll back, an alternative to typing121[10XPqExample();[110X to see the displayed examples is to use on-line help, i.e. you122may type:[133X123124[4X[32X Example [32X[104X125[4X[25Xgap>[125X [27X?anupq:examples[127X[104X126[4X[32X[104X127128[33X[0;0Ywhich will display this appendix in a [5XGAP[105X session. If you are not fussed129about the order in which the examples are organised, [10XAllPqExamples();[110X lists130the available examples relatively compactly (see [2XAllPqExamples[102X ([14X3.4-5[114X)).[133X131132[33X[0;0YIn the remainder of this appendix we will discuss particular aspects related133to the [10XRelators[110X (see [14X6.2[114X) and [10XIdentities[110X (see [14X6.2[114X) options, and the134construction of the Burnside group [22XB(5, 4)[122X.[133X135136137[1XA.1 [33X[0;0YThe Relators Option[133X[101X138139[33X[0;0YThe [10XRelators[110X option was included because computations involving words140containing commutators that are pre-expanded by [5XGAP[105X before being passed to141the [10Xpq[110X program may run considerably more slowly, than the same computations142being run with [5XGAP[105X pre-expansions avoided. The following examples143demonstrate a case where the performance hit due to pre-expansion of144commutators by [5XGAP[105X is a factor of order 100 (in order to see timing145information from the [10Xpq[110X program, we set the [10XInfoANUPQ[110X level to 2).[133X146147[33X[0;0YFirstly, we run the example that allows pre-expansion of commutators (the148function [10XPqLeftNormComm[110X is provided by the [5XANUPQ[105X package; see [2XPqLeftNormComm[102X149([14X3.4-1[114X)). Note that since the two commutators of this example are [13Xvery[113X long150(taking more than an page to print), we have edited the output at this151point.[133X152153[4X[32X Example [32X[104X154[4X[25Xgap>[125X [27XSetInfoLevel(InfoANUPQ, 2); #to see timing information[127X[104X155[4X[25Xgap>[125X [27XPqExample("11gp-i");[127X[104X156[4X[28X#I #Example: "11gp-i" . . . based on: examples/11gp[128X[104X157[4X[28X#I F, a, b, c, R, procId are local to `PqExample'[128X[104X158[4X[25Xgap>[125X [27XF := FreeGroup("a", "b", "c"); a := F.1; b := F.2; c := F.3;[127X[104X159[4X[28X<free group on the generators [ a, b, c ]>[128X[104X160[4X[28Xa[128X[104X161[4X[28Xb[128X[104X162[4X[28Xc[128X[104X163[4X[25Xgap>[125X [27XR := [PqLeftNormComm([b, a, a, b, c])^11, [127X[104X164[4X[25X>[125X [27X PqLeftNormComm([a, b, b, a, b, c])^11, (a * b)^11];;[127X[104X165[4X[25Xgap>[125X [27XprocId := PqStart(F/R : Prime := 11);[127X[104X166[4X[28X1[128X[104X167[4X[25Xgap>[125X [27XPqPcPresentation(procId : ClassBound := 7, [127X[104X168[4X[25X>[125X [27X OutputLevel := 1);[127X[104X169[4X[28X#I Lower exponent-11 central series for [grp][128X[104X170[4X[28X#I Group: [grp] to lower exponent-11 central class 1 has order 11^3[128X[104X171[4X[28X#I Group: [grp] to lower exponent-11 central class 2 has order 11^8[128X[104X172[4X[28X#I Group: [grp] to lower exponent-11 central class 3 has order 11^19[128X[104X173[4X[28X#I Group: [grp] to lower exponent-11 central class 4 has order 11^42[128X[104X174[4X[28X#I Group: [grp] to lower exponent-11 central class 5 has order 11^98[128X[104X175[4X[28X#I Group: [grp] to lower exponent-11 central class 6 has order 11^228[128X[104X176[4X[28X#I Group: [grp] to lower exponent-11 central class 7 has order 11^563[128X[104X177[4X[28X#I Computation of presentation took 27.04 seconds[128X[104X178[4X[25Xgap>[125X [27XPqSavePcPresentation(procId, ANUPQData.outfile);[127X[104X179[4X[28X#I Variables used in `PqExample' are saved in `ANUPQData.example.vars'.[128X[104X180[4X[32X[104X181182[33X[0;0YNow we do the same calculation using the [10XRelators[110X option. In this way, the183commutators are passed directly as strings to the [10Xpq[110X program, so that [5XGAP[105X184does not [21Xsee[121X them and pre-expand them.[133X185186[4X[32X Example [32X[104X187[4X[25Xgap>[125X [27XPqExample("11gp-Rel-i");[127X[104X188[4X[28X#I #Example: "11gp-Rel-i" . . . based on: examples/11gp[128X[104X189[4X[28X#I #(equivalent to "11gp-i" example but uses `Relators' option)[128X[104X190[4X[28X#I F, rels, procId are local to `PqExample'[128X[104X191[4X[25Xgap>[125X [27XF := FreeGroup("a", "b", "c");[127X[104X192[4X[28X<free group on the generators [ a, b, c ]>[128X[104X193[4X[25Xgap>[125X [27Xrels := ["[b, a, a, b, c]^11", "[a, b, b, a, b, c]^11", "(a * b)^11"];[127X[104X194[4X[28X[ "[b, a, a, b, c]^11", "[a, b, b, a, b, c]^11", "(a * b)^11" ][128X[104X195[4X[25Xgap>[125X [27XprocId := PqStart(F : Prime := 11, Relators := rels);[127X[104X196[4X[28X2[128X[104X197[4X[25Xgap>[125X [27XPqPcPresentation(procId : ClassBound := 7, [127X[104X198[4X[25X>[125X [27X OutputLevel := 1);[127X[104X199[4X[28X#I Relators parsed ok.[128X[104X200[4X[28X#I Lower exponent-11 central series for [grp][128X[104X201[4X[28X#I Group: [grp] to lower exponent-11 central class 1 has order 11^3[128X[104X202[4X[28X#I Group: [grp] to lower exponent-11 central class 2 has order 11^8[128X[104X203[4X[28X#I Group: [grp] to lower exponent-11 central class 3 has order 11^19[128X[104X204[4X[28X#I Group: [grp] to lower exponent-11 central class 4 has order 11^42[128X[104X205[4X[28X#I Group: [grp] to lower exponent-11 central class 5 has order 11^98[128X[104X206[4X[28X#I Group: [grp] to lower exponent-11 central class 6 has order 11^228[128X[104X207[4X[28X#I Group: [grp] to lower exponent-11 central class 7 has order 11^563[128X[104X208[4X[28X#I Computation of presentation took 0.27 seconds[128X[104X209[4X[25Xgap>[125X [27XPqSavePcPresentation(procId, ANUPQData.outfile);[127X[104X210[4X[28X#I Variables used in `PqExample' are saved in `ANUPQData.example.vars'.[128X[104X211[4X[32X[104X212213214[1XA.2 [33X[0;0YThe Identities Option and PqEvaluateIdentities Function[133X[101X215216[33X[0;0YPlease pay heed to the warnings given for the [10XIdentities[110X option (see [14X6.2[114X);217it is written mainly at the [5XGAP[105X level and is not particularly optimised. The218[10XIdentities[110X option allows one to compute [22Xp[122X-quotients that satisfy an219identity. A trivial example better done using the [10XExponent[110X option, but which220nevertheless demonstrates the usage of the [10XIdentities[110X option, is as follows:[133X221222[4X[32X Example [32X[104X223[4X[25Xgap>[125X [27XSetInfoLevel(InfoANUPQ, 1);[127X[104X224[4X[25Xgap>[125X [27XPqExample("B2-4-Id");[127X[104X225[4X[28X#I #Example: "B2-4-Id" . . . alternative way to generate B(2, 4)[128X[104X226[4X[28X#I #Generates B(2, 4) by using the `Identities' option[128X[104X227[4X[28X#I #... this is not as efficient as using `Exponent' but[128X[104X228[4X[28X#I #demonstrates the usage of the `Identities' option.[128X[104X229[4X[28X#I F, f, procId are local to `PqExample'[128X[104X230[4X[25Xgap>[125X [27XF := FreeGroup("a", "b");[127X[104X231[4X[28X<free group on the generators [ a, b ]>[128X[104X232[4X[25Xgap>[125X [27X# All words w in the pc generators of B(2, 4) satisfy f(w) = 1 [127X[104X233[4X[25Xgap>[125X [27Xf := w -> w^4;[127X[104X234[4X[28Xfunction( w ) ... end[128X[104X235[4X[25Xgap>[125X [27XPq( F : Prime := 2, Identities := [ f ] );[127X[104X236[4X[28X#I Class 1 with 2 generators.[128X[104X237[4X[28X#I Class 2 with 5 generators.[128X[104X238[4X[28X#I Class 3 with 7 generators.[128X[104X239[4X[28X#I Class 4 with 10 generators.[128X[104X240[4X[28X#I Class 5 with 12 generators.[128X[104X241[4X[28X#I Class 5 with 12 generators.[128X[104X242[4X[28X<pc group of size 4096 with 12 generators>[128X[104X243[4X[28X#I Variables used in `PqExample' are saved in `ANUPQData.example.vars'.[128X[104X244[4X[25Xgap>[125X [27Xtime; [127X[104X245[4X[28X1400[128X[104X246[4X[32X[104X247248[33X[0;0YNote that the [10Xtime[110X statement gives the time in milliseconds spent by [5XGAP[105X in249executing the [10XPqExample("B2-4-Id");[110X command (i.e. everything up to the250[10XInfo[110X-ing of the variables used), but over 90% of that time is spent in the251final [10XPq[110X statement. The time spent by the [10Xpq[110X program, which is negligible252anyway (you can check this by running the example while the [10XInfoANUPQ[110X level253is set to 2), is not counted by [10Xtime[110X.[133X254255[33X[0;0YSince the identity used in the above construction of [22XB(2, 4)[122X is just an256exponent law, the [21Xright[121X way to compute it is via the [10XExponent[110X option257(see [14X6.2[114X), which is implemented at the C level and [13Xis[113X highly optimised.258Consequently, the [10XExponent[110X option is significantly faster, generally by259several orders of magnitude:[133X260261[4X[32X Example [32X[104X262[4X[25Xgap>[125X [27XSetInfoLevel(InfoANUPQ, 2); # to see time spent by the `pq' program[127X[104X263[4X[25Xgap>[125X [27XPqExample("B2-4");[127X[104X264[4X[28X#I #Example: "B2-4" . . . the ``right'' way to generate B(2, 4)[128X[104X265[4X[28X#I #Generates B(2, 4) by using the `Exponent' option[128X[104X266[4X[28X#I F, procId are local to `PqExample'[128X[104X267[4X[25Xgap>[125X [27XF := FreeGroup("a", "b");[127X[104X268[4X[28X<free group on the generators [ a, b ]>[128X[104X269[4X[25Xgap>[125X [27XPq( F : Prime := 2, Exponent := 4 );[127X[104X270[4X[28X#I Computation of presentation took 0.00 seconds[128X[104X271[4X[28X<pc group of size 4096 with 12 generators>[128X[104X272[4X[28X#I Variables used in `PqExample' are saved in `ANUPQData.example.vars'.[128X[104X273[4X[25Xgap>[125X [27Xtime; # time spent by GAP in executing `PqExample("B2-4");' [127X[104X274[4X[28X50[128X[104X275[4X[32X[104X276277[33X[0;0YThe following example uses the [10XIdentities[110X option to compute a 3-Engel group278for the prime 11. As is the case for the example [10X"B2-4-Id"[110X, the example has279both a non-interactive and an interactive form; below, we demonstrate the280interactive form.[133X281282[4X[32X Example [32X[104X283[4X[25Xgap>[125X [27XSetInfoLevel(InfoANUPQ, 1); # reset InfoANUPQ to default level[127X[104X284[4X[25Xgap>[125X [27XPqExample("11gp-3-Engel-Id", PqStart);[127X[104X285[4X[28X#I #Example: "11gp-3-Engel-Id" . . . 3-Engel group for prime 11[128X[104X286[4X[28X#I #Non-trivial example of using the `Identities' option[128X[104X287[4X[28X#I F, a, b, G, f, procId, Q are local to `PqExample'[128X[104X288[4X[25Xgap>[125X [27XF := FreeGroup("a", "b"); a := F.1; b := F.2;[127X[104X289[4X[28X<free group on the generators [ a, b ]>[128X[104X290[4X[28Xa[128X[104X291[4X[28Xb[128X[104X292[4X[25Xgap>[125X [27XG := F/[ a^11, b^11 ];[127X[104X293[4X[28X<fp group on the generators [ a, b ]>[128X[104X294[4X[25Xgap>[125X [27X# All word pairs u, v in the pc generators of the 11-quotient Q of G [127X[104X295[4X[25Xgap>[125X [27X# must satisfy the Engel identity: [u, v, v, v] = 1.[127X[104X296[4X[25Xgap>[125X [27Xf := function(u, v) return PqLeftNormComm( [u, v, v, v] ); end;[127X[104X297[4X[28Xfunction( u, v ) ... end[128X[104X298[4X[25Xgap>[125X [27XprocId := PqStart( G );[127X[104X299[4X[28X3[128X[104X300[4X[25Xgap>[125X [27XQ := Pq( procId : Prime := 11, Identities := [ f ] );[127X[104X301[4X[28X#I Class 1 with 2 generators.[128X[104X302[4X[28X#I Class 2 with 3 generators.[128X[104X303[4X[28X#I Class 3 with 5 generators.[128X[104X304[4X[28X#I Class 3 with 5 generators.[128X[104X305[4X[28X<pc group of size 161051 with 5 generators>[128X[104X306[4X[25Xgap>[125X [27X# We do a ``sample'' check that pairs of elements of Q do satisfy[127X[104X307[4X[25Xgap>[125X [27X# the given identity:[127X[104X308[4X[25Xgap>[125X [27Xf( Random(Q), Random(Q) );[127X[104X309[4X[28X<identity> of ...[128X[104X310[4X[25Xgap>[125X [27Xf( Q.1, Q.2 );[127X[104X311[4X[28X<identity> of ...[128X[104X312[4X[28X#I Variables used in `PqExample' are saved in `ANUPQData.example.vars'.[128X[104X313[4X[32X[104X314315[33X[0;0YThe (interactive) call to [10XPq[110X above is essentially equivalent to a call to316[10XPqPcPresentation[110X with the same arguments and options followed by a call to317[10XPqCurrentGroup[110X. Moreover, the call to [10XPqPcPresentation[110X (as described318in [2XPqPcPresentation[102X ([14X5.6-1[114X)) is equivalent to a [21Xclass 1[121X call to319[10XPqPcPresentation[110X followed by the requisite number of calls to [10XPqNextClass[110X,320and with the [10XIdentities[110X option set, both [10XPqPcPresentation[110X and [10XPqNextClass[110X321[21Xquietly[121X perform the equivalent of a [10XPqEvaluateIdentities[110X call. In the322following example we break down the [10XPq[110X call into its low-level equivalents,323and set and unset the [10XIdentities[110X option to show where [10XPqEvaluateIdentities[110X324fits into this scheme.[133X325326[4X[32X Example [32X[104X327[4X[25Xgap>[125X [27XPqExample("11gp-3-Engel-Id-i");[127X[104X328[4X[28X#I #Example: "11gp-3-Engel-Id-i" . . . 3-Engel grp for prime 11[128X[104X329[4X[28X#I #Variation of "11gp-3-Engel-Id" broken down into its lower-level component[128X[104X330[4X[28X#I #command parts.[128X[104X331[4X[28X#I F, a, b, G, f, procId, Q are local to `PqExample'[128X[104X332[4X[25Xgap>[125X [27XF := FreeGroup("a", "b"); a := F.1; b := F.2;[127X[104X333[4X[28X<free group on the generators [ a, b ]>[128X[104X334[4X[28Xa[128X[104X335[4X[28Xb[128X[104X336[4X[25Xgap>[125X [27XG := F/[ a^11, b^11 ];[127X[104X337[4X[28X<fp group on the generators [ a, b ]>[128X[104X338[4X[25Xgap>[125X [27X# All word pairs u, v in the pc generators of the 11-quotient Q of G [127X[104X339[4X[25Xgap>[125X [27X# must satisfy the Engel identity: [u, v, v, v] = 1.[127X[104X340[4X[25Xgap>[125X [27Xf := function(u, v) return PqLeftNormComm( [u, v, v, v] ); end;[127X[104X341[4X[28Xfunction( u, v ) ... end[128X[104X342[4X[25Xgap>[125X [27XprocId := PqStart( G : Prime := 11 );[127X[104X343[4X[28X4[128X[104X344[4X[25Xgap>[125X [27XPqPcPresentation( procId : ClassBound := 1);[127X[104X345[4X[25Xgap>[125X [27XPqEvaluateIdentities( procId : Identities := [f] );[127X[104X346[4X[28X#I Class 1 with 2 generators.[128X[104X347[4X[25Xgap>[125X [27Xfor c in [2 .. 4] do[127X[104X348[4X[25X>[125X [27X PqNextClass( procId : Identities := [] ); #reset `Identities' option[127X[104X349[4X[25X>[125X [27X PqEvaluateIdentities( procId : Identities := [f] );[127X[104X350[4X[25X>[125X [27X od;[127X[104X351[4X[28X#I Class 2 with 3 generators.[128X[104X352[4X[28X#I Class 3 with 5 generators.[128X[104X353[4X[28X#I Class 3 with 5 generators.[128X[104X354[4X[25Xgap>[125X [27XQ := PqCurrentGroup( procId );[127X[104X355[4X[28X<pc group of size 161051 with 5 generators>[128X[104X356[4X[25Xgap>[125X [27X# We do a ``sample'' check that pairs of elements of Q do satisfy[127X[104X357[4X[25Xgap>[125X [27X# the given identity:[127X[104X358[4X[25Xgap>[125X [27Xf( Random(Q), Random(Q) );[127X[104X359[4X[28X<identity> of ...[128X[104X360[4X[25Xgap>[125X [27Xf( Q.1, Q.2 );[127X[104X361[4X[28X<identity> of ...[128X[104X362[4X[28X#I Variables used in `PqExample' are saved in `ANUPQData.example.vars'.[128X[104X363[4X[32X[104X364365366[1XA.3 [33X[0;0YA Large Example[133X[101X367368[33X[0;0YAn example demonstrating how a large computation can be organised with the369[5XANUPQ[105X package is the computation of the Burnside group [22XB(5, 4)[122X, the largest370group of exponent 4 generated by 5 elements. It has order [22X2^2728[122X and lower371exponent-[22Xp[122X central class 13. The example [10X"B5-4.g"[110X computes [22XB(5, 4)[122X; it is372based on a [10Xpq[110X standalone input file written by M. F. Newman.[133X373374[33X[0;0YTo be able to do examples like this was part of the motivation to provide375access to the low-level functions of the standalone program from within [5XGAP[105X.[133X376377[33X[0;0YPlease note that the construction uses the knowledge gained by Newman and378O'Brien in their initial construction of [22XB(5, 4)[122X, in particular, insight379into the commutator structure of the group and the knowledge of the380[22Xp[122X-central class and the order of [22XB(5, 4)[122X. Therefore, the construction cannot381be used to prove that [22XB(5, 4)[122X has the order and class mentioned above. It is382merely a reconstruction of the group. More information is contained in the383header of the file [10Xexamples/B5-4.g[110X.[133X384385[4X[32X Example [32X[104X386[4X[28XprocId := PqStart( FreeGroup(5) : Exponent := 4, Prime := 2 );[128X[104X387[4X[28XPq( procId : ClassBound := 2 );[128X[104X388[4X[28XPqSupplyAutomorphisms( procId,[128X[104X389[4X[28X [[128X[104X390[4X[28X [ [ 1, 1, 0, 0, 0], # first automorphism[128X[104X391[4X[28X [ 0, 1, 0, 0, 0],[128X[104X392[4X[28X [ 0, 0, 1, 0, 0],[128X[104X393[4X[28X [ 0, 0, 0, 1, 0],[128X[104X394[4X[28X [ 0, 0, 0, 0, 1] ],[128X[104X395[4X[28X[128X[104X396[4X[28X [ [ 0, 0, 0, 0, 1], # second automorphism[128X[104X397[4X[28X [ 1, 0, 0, 0, 0],[128X[104X398[4X[28X [ 0, 1, 0, 0, 0],[128X[104X399[4X[28X [ 0, 0, 1, 0, 0],[128X[104X400[4X[28X [ 0, 0, 0, 1, 0] ][128X[104X401[4X[28X ] );;[128X[104X402[4X[28X[128X[104X403[4X[28XRelations :=[128X[104X404[4X[28X [ [], ## class 1[128X[104X405[4X[28X [], ## class 2[128X[104X406[4X[28X [], ## class 3[128X[104X407[4X[28X [], ## class 4[128X[104X408[4X[28X [], ## class 5[128X[104X409[4X[28X [], ## class 6[128X[104X410[4X[28X ## class 7 [128X[104X411[4X[28X [ [ "x2","x1","x1","x3","x4","x4","x4" ] ],[128X[104X412[4X[28X ## class 8[128X[104X413[4X[28X [ [ "x2","x1","x1","x3","x4","x5","x5","x5" ] ],[128X[104X414[4X[28X ## class 9[128X[104X415[4X[28X [ [ "x2","x1","x1","x3","x4","x4","x5","x5","x5" ],[128X[104X416[4X[28X [ "x2","x1","x1","x2","x3","x4","x5","x5","x5" ],[128X[104X417[4X[28X [ "x2","x1","x1","x3","x3","x4","x5","x5","x5" ] ],[128X[104X418[4X[28X ## class 10[128X[104X419[4X[28X [ [ "x2","x1","x1","x2","x3","x3","x4","x5","x5","x5" ],[128X[104X420[4X[28X [ "x2","x1","x1","x3","x3","x4","x4","x5","x5","x5" ] ],[128X[104X421[4X[28X ## class 11[128X[104X422[4X[28X [ [ "x2","x1","x1","x2","x3","x3","x4","x4","x5","x5","x5" ],[128X[104X423[4X[28X [ "x2","x1","x1","x2","x3","x1","x3","x4","x2","x4","x3" ] ],[128X[104X424[4X[28X ## class 12[128X[104X425[4X[28X [ [ "x2","x1","x1","x2","x3","x1","x3","x4","x2","x5","x5","x5" ],[128X[104X426[4X[28X [ "x2","x1","x1","x3","x2","x4","x3","x5","x4","x5","x5","x5" ] ],[128X[104X427[4X[28X ## class 13[128X[104X428[4X[28X [ [ "x2","x1","x1","x2","x3","x1","x3","x4","x2","x4","x5","x5","x5" [128X[104X429[4X[28X ] ][128X[104X430[4X[28X];[128X[104X431[4X[28X[128X[104X432[4X[28Xfor class in [ 3 .. 13 ] do[128X[104X433[4X[28X Print( "Computing class ", class, "\n" );[128X[104X434[4X[28X PqSetupTablesForNextClass( procId );[128X[104X435[4X[28X[128X[104X436[4X[28X for w in [ class, class-1 .. 7 ] do[128X[104X437[4X[28X[128X[104X438[4X[28X PqAddTails( procId, w ); [128X[104X439[4X[28X PqDisplayPcPresentation( procId );[128X[104X440[4X[28X[128X[104X441[4X[28X if Relations[ w ] <> [] then[128X[104X442[4X[28X # recalculate automorphisms[128X[104X443[4X[28X PqExtendAutomorphisms( procId );[128X[104X444[4X[28X[128X[104X445[4X[28X for r in Relations[ w ] do[128X[104X446[4X[28X Print( "Collecting ", r, "\n" );[128X[104X447[4X[28X PqCommutator( procId, r, 1 );[128X[104X448[4X[28X PqEchelonise( procId );[128X[104X449[4X[28X PqApplyAutomorphisms( procId, 15 ); #queue factor = 15[128X[104X450[4X[28X od;[128X[104X451[4X[28X[128X[104X452[4X[28X PqEliminateRedundantGenerators( procId );[128X[104X453[4X[28X fi; [128X[104X454[4X[28X PqComputeTails( procId, w );[128X[104X455[4X[28X od;[128X[104X456[4X[28X PqDisplayPcPresentation( procId );[128X[104X457[4X[28X[128X[104X458[4X[28X smallclass := Minimum( class, 6 );[128X[104X459[4X[28X for w in [ smallclass, smallclass-1 .. 2 ] do[128X[104X460[4X[28X PqTails( procId, w );[128X[104X461[4X[28X od;[128X[104X462[4X[28X # recalculate automorphisms[128X[104X463[4X[28X PqExtendAutomorphisms( procId );[128X[104X464[4X[28X PqCollect( procId, "x5^4" );[128X[104X465[4X[28X PqEchelonise( procId );[128X[104X466[4X[28X PqApplyAutomorphisms( procId, 15 ); #queue factor = 15[128X[104X467[4X[28X PqEliminateRedundantGenerators( procId );[128X[104X468[4X[28X PqDisplayPcPresentation( procId );[128X[104X469[4X[28Xod;[128X[104X470[4X[32X[104X471472473[1XA.4 [33X[0;0YDeveloping descendants trees[133X[101X474475[33X[0;0YIn the following example we will explore the 3-groups of rank 2 and4763-coclass 1 up to 3-class 5. This will be done using the [22Xp[122X-group generation477machinery of the package. We start with the elementary abelian 3-group of478rank 2. From within [5XGAP[105X, run the example [10X"PqDescendants-treetraverse-i"[110X via479[10XPqExample[110X (see [2XPqExample[102X ([14X3.4-4[114X)).[133X480481[4X[32X Example [32X[104X482[4X[25Xgap>[125X [27XG := ElementaryAbelianGroup( 9 );[127X[104X483[4X[28X<pc group of size 9 with 2 generators>[128X[104X484[4X[25Xgap>[125X [27XprocId := PqStart( G );[127X[104X485[4X[28X5[128X[104X486[4X[25Xgap>[125X [27X#[127X[104X487[4X[25Xgap>[125X [27X# Below, we use the option StepSize in order to construct descendants[127X[104X488[4X[25Xgap>[125X [27X# of coclass 1. This is equivalent to setting the StepSize to 1 in[127X[104X489[4X[25Xgap>[125X [27X# each descendant calculation.[127X[104X490[4X[25Xgap>[125X [27X#[127X[104X491[4X[25Xgap>[125X [27X# The elementary abelian group of order 9 has 3 descendants of[127X[104X492[4X[25Xgap>[125X [27X# 3-class 2 and 3-coclass 1, as the result of the next command[127X[104X493[4X[25Xgap>[125X [27X# shows. [127X[104X494[4X[25Xgap>[125X [27X#[127X[104X495[4X[25Xgap>[125X [27XPqDescendants( procId : StepSize := 1 );[127X[104X496[4X[28X[ <pc group of size 27 with 3 generators>, [128X[104X497[4X[28X <pc group of size 27 with 3 generators>, [128X[104X498[4X[28X <pc group of size 27 with 3 generators> ][128X[104X499[4X[25Xgap>[125X [27X#[127X[104X500[4X[25Xgap>[125X [27X# Now we will compute the descendants of coclass 1 for each of the[127X[104X501[4X[25Xgap>[125X [27X# groups above. Then we will compute the descendants of coclass 1[127X[104X502[4X[25Xgap>[125X [27X# of each descendant and so on. Note that the pq program keeps[127X[104X503[4X[25Xgap>[125X [27X# one file for each class at a time. For example, the descendants[127X[104X504[4X[25Xgap>[125X [27X# calculation for the second group of class 2 overwrites the[127X[104X505[4X[25Xgap>[125X [27X# descendant file obtained from the first group of class 2.[127X[104X506[4X[25Xgap>[125X [27X# Hence, we have to traverse the descendants tree in depth first[127X[104X507[4X[25Xgap>[125X [27X# order.[127X[104X508[4X[25Xgap>[125X [27X#[127X[104X509[4X[25Xgap>[125X [27XPqPGSetDescendantToPcp( procId, 2, 1 );[127X[104X510[4X[25Xgap>[125X [27XPqPGExtendAutomorphisms( procId );[127X[104X511[4X[25Xgap>[125X [27XPqPGConstructDescendants( procId : StepSize := 1 );[127X[104X512[4X[28X2[128X[104X513[4X[25Xgap>[125X [27XPqPGSetDescendantToPcp( procId, 3, 1 );[127X[104X514[4X[25Xgap>[125X [27XPqPGExtendAutomorphisms( procId );[127X[104X515[4X[25Xgap>[125X [27XPqPGConstructDescendants( procId : StepSize := 1 );[127X[104X516[4X[28X2[128X[104X517[4X[25Xgap>[125X [27XPqPGSetDescendantToPcp( procId, 4, 1 );[127X[104X518[4X[25Xgap>[125X [27XPqPGExtendAutomorphisms( procId );[127X[104X519[4X[25Xgap>[125X [27XPqPGConstructDescendants( procId : StepSize := 1 );[127X[104X520[4X[28X2[128X[104X521[4X[25Xgap>[125X [27X#[127X[104X522[4X[25Xgap>[125X [27X# At this point we stop traversing the ``left most'' branch of the[127X[104X523[4X[25Xgap>[125X [27X# descendants tree and move upwards.[127X[104X524[4X[25Xgap>[125X [27X#[127X[104X525[4X[25Xgap>[125X [27XPqPGSetDescendantToPcp( procId, 4, 2 );[127X[104X526[4X[25Xgap>[125X [27XPqPGExtendAutomorphisms( procId );[127X[104X527[4X[25Xgap>[125X [27XPqPGConstructDescendants( procId : StepSize := 1 );[127X[104X528[4X[28X#I group restored from file is incapable[128X[104X529[4X[28X0[128X[104X530[4X[25Xgap>[125X [27XPqPGSetDescendantToPcp( procId, 3, 2 );[127X[104X531[4X[25Xgap>[125X [27XPqPGExtendAutomorphisms( procId );[127X[104X532[4X[25Xgap>[125X [27XPqPGConstructDescendants( procId : StepSize := 1 );[127X[104X533[4X[28X#I group restored from file is incapable[128X[104X534[4X[28X0[128X[104X535[4X[25Xgap>[125X [27X# [127X[104X536[4X[25Xgap>[125X [27X# The computations above indicate that the descendants subtree under[127X[104X537[4X[25Xgap>[125X [27X# the first descendant of the elementary abelian group of order 9[127X[104X538[4X[25Xgap>[125X [27X# will have only one path of infinite length.[127X[104X539[4X[25Xgap>[125X [27X#[127X[104X540[4X[25Xgap>[125X [27XPqPGSetDescendantToPcp( procId, 2, 2 );[127X[104X541[4X[25Xgap>[125X [27XPqPGExtendAutomorphisms( procId );[127X[104X542[4X[25Xgap>[125X [27XPqPGConstructDescendants( procId : StepSize := 1 );[127X[104X543[4X[28X4[128X[104X544[4X[25Xgap>[125X [27X#[127X[104X545[4X[25Xgap>[125X [27X# We get four descendants here, three of which will turn out to be[127X[104X546[4X[25Xgap>[125X [27X# incapable, i.e., they have no descendants and are terminal nodes[127X[104X547[4X[25Xgap>[125X [27X# in the descendants tree.[127X[104X548[4X[25Xgap>[125X [27X#[127X[104X549[4X[25Xgap>[125X [27XPqPGSetDescendantToPcp( procId, 2, 3 );[127X[104X550[4X[25Xgap>[125X [27XPqPGExtendAutomorphisms( procId );[127X[104X551[4X[25Xgap>[125X [27XPqPGConstructDescendants( procId : StepSize := 1 );[127X[104X552[4X[28X#I group restored from file is incapable[128X[104X553[4X[28X0[128X[104X554[4X[25Xgap>[125X [27X#[127X[104X555[4X[25Xgap>[125X [27X# The third descendant of class three is incapable. Let us return[127X[104X556[4X[25Xgap>[125X [27X# to the second descendant of class 2.[127X[104X557[4X[25Xgap>[125X [27X#[127X[104X558[4X[25Xgap>[125X [27XPqPGSetDescendantToPcp( procId, 2, 2 );[127X[104X559[4X[25Xgap>[125X [27XPqPGExtendAutomorphisms( procId );[127X[104X560[4X[25Xgap>[125X [27XPqPGConstructDescendants( procId : StepSize := 1 );[127X[104X561[4X[28X4[128X[104X562[4X[25Xgap>[125X [27XPqPGSetDescendantToPcp( procId, 3, 1 );[127X[104X563[4X[25Xgap>[125X [27XPqPGExtendAutomorphisms( procId );[127X[104X564[4X[25Xgap>[125X [27XPqPGConstructDescendants( procId : StepSize := 1 );[127X[104X565[4X[28X#I group restored from file is incapable[128X[104X566[4X[28X0[128X[104X567[4X[25Xgap>[125X [27XPqPGSetDescendantToPcp( procId, 3, 2 );[127X[104X568[4X[25Xgap>[125X [27XPqPGExtendAutomorphisms( procId );[127X[104X569[4X[25Xgap>[125X [27XPqPGConstructDescendants( procId : StepSize := 1 );[127X[104X570[4X[28X#I group restored from file is incapable[128X[104X571[4X[28X0[128X[104X572[4X[25Xgap>[125X [27X#[127X[104X573[4X[25Xgap>[125X [27X# We skip the third descendant for the moment ... [127X[104X574[4X[25Xgap>[125X [27X#[127X[104X575[4X[25Xgap>[125X [27XPqPGSetDescendantToPcp( procId, 3, 4 );[127X[104X576[4X[25Xgap>[125X [27XPqPGExtendAutomorphisms( procId );[127X[104X577[4X[25Xgap>[125X [27XPqPGConstructDescendants( procId : StepSize := 1 );[127X[104X578[4X[28X#I group restored from file is incapable[128X[104X579[4X[28X0[128X[104X580[4X[25Xgap>[125X [27X#[127X[104X581[4X[25Xgap>[125X [27X# ... and look at it now.[127X[104X582[4X[25Xgap>[125X [27X#[127X[104X583[4X[25Xgap>[125X [27XPqPGSetDescendantToPcp( procId, 3, 3 );[127X[104X584[4X[25Xgap>[125X [27XPqPGExtendAutomorphisms( procId );[127X[104X585[4X[25Xgap>[125X [27XPqPGConstructDescendants( procId : StepSize := 1 );[127X[104X586[4X[28X6[128X[104X587[4X[25Xgap>[125X [27X#[127X[104X588[4X[25Xgap>[125X [27X# In this branch of the descendant tree we get 6 descendants of class[127X[104X589[4X[25Xgap>[125X [27X# three. Of those 5 will turn out to be incapable and one will have[127X[104X590[4X[25Xgap>[125X [27X# 7 descendants.[127X[104X591[4X[25Xgap>[125X [27X#[127X[104X592[4X[25Xgap>[125X [27XPqPGSetDescendantToPcp( procId, 4, 1 );[127X[104X593[4X[25Xgap>[125X [27XPqPGExtendAutomorphisms( procId );[127X[104X594[4X[25Xgap>[125X [27XPqPGConstructDescendants( procId : StepSize := 1 );[127X[104X595[4X[28X#I group restored from file is incapable[128X[104X596[4X[28X0[128X[104X597[4X[25Xgap>[125X [27XPqPGSetDescendantToPcp( procId, 4, 2 );[127X[104X598[4X[25Xgap>[125X [27XPqPGExtendAutomorphisms( procId );[127X[104X599[4X[25Xgap>[125X [27XPqPGConstructDescendants( procId : StepSize := 1 );[127X[104X600[4X[28X7[128X[104X601[4X[25Xgap>[125X [27XPqPGSetDescendantToPcp( procId, 4, 3 );[127X[104X602[4X[25Xgap>[125X [27XPqPGExtendAutomorphisms( procId );[127X[104X603[4X[25Xgap>[125X [27XPqPGConstructDescendants( procId : StepSize := 1 );[127X[104X604[4X[28X#I group restored from file is incapable[128X[104X605[4X[28X0[128X[104X606[4X[32X[104X607608[33X[0;0YTo automate the above procedure to some extent we provide:[133X609610[1XA.4-1 PqDescendantsTreeCoclassOne[101X611612[33X[1;0Y[29X[2XPqDescendantsTreeCoclassOne[102X( [3Xi[103X ) [32X function[133X613[33X[1;0Y[29X[2XPqDescendantsTreeCoclassOne[102X( ) [32X function[133X614615[33X[0;0Yfor the [3Xi[103Xth or default interactive [5XANUPQ[105X process, generate a descendant tree616for the group of the process (which must be a pc [22Xp[122X-group) consisting of617descendants of [22Xp[122X-coclass 1 and extending to the class determined by the618option [10XTreeDepth[110X (or 6 if the option is omitted). In an [5XXGAP[105X session, a619graphical representation of the descendants tree appears in a separate620window. Subsequent calls to [10XPqDescendantsTreeCoclassOne[110X for the same process621may be used to extend the descendant tree from the last descendant computed622that itself has more than one descendant. [10XPqDescendantsTreeCoclassOne[110X also623accepts the options [10XCapableDescendants[110X (or [10XAllDescendants[110X) and any options624accepted by the interactive [10XPqDescendants[110X function (see [2XPqDescendants[102X625([14X5.3-6[114X)).[133X626627[33X[0;0Y[13XNotes[113X[133X628629[31X1[131X [33X[0;6Y[10XPqDescendantsTreeCoclassOne[110X first calls [10XPqDescendants[110X. If630[10XPqDescendants[110X has already been called for the process, the previous631value computed is used and a warning is [10XInfo[110X-ed at [10XInfoANUPQ[110X level 1.[133X632633[31X2[131X [33X[0;6YAs each descendant is processed its unique label defined by the [10Xpq[110X634program and number of descendants is [10XInfo[110X-ed at [10XInfoANUPQ[110X level 1.[133X635636[31X3[131X [33X[0;6Y[10XPqDescendantsTreeCoclassOne[110X is an [21Xexperimental[121X function that is637included to demonstrate the sort of things that are possible with the638[22Xp[122X-group generation machinery.[133X639640[33X[0;0YIgnoring the extra functionality provided in an [5XXGAP[105X session,641[10XPqDescendantsTreeCoclassOne[110X, with one argument that is the index of an642interactive [5XANUPQ[105X process, is approximately equivalent to:[133X643644[4X[32X[104X645[4XPqDescendantsTreeCoclassOne := function( procId )[104X646[4X local des, i;[104X647[4X[104X648[4X des := PqDescendants( procId : StepSize := 1 );[104X649[4X RecurseDescendants( procId, 2, Length(des) );[104X650[4Xend;[104X651[4X[32X[104X652653[33X[0;0Ywhere [10XRecurseDescendants[110X is (approximately) defined as follows:[133X654655[4X[32X[104X656[4XRecurseDescendants := function( procId, class, n )[104X657[4X local i, nr;[104X658[4X[104X659[4X if class > ValueOption("TreeDepth") then return; fi;[104X660[4X[104X661[4X for i in [1..n] do[104X662[4X PqPGSetDescendantToPcp( procId, class, i );[104X663[4X PqPGExtendAutomorphisms( procId );[104X664[4X nr := PqPGConstructDescendants( procId : StepSize := 1 );[104X665[4X Print( "Number of descendants of group ", i,[104X666[4X " at class ", class, ": ", nr, "\n" );[104X667[4X RecurseDescendants( procId, class+1, nr );[104X668[4X od;[104X669[4X return;[104X670[4Xend;[104X671[4X[32X[104X672673[33X[0;0YThe following examples (executed via [10XPqExample[110X; see [2XPqExample[102X ([14X3.4-4[114X)),674demonstrate the use of [10XPqDescendantsTreeCoclassOne[110X:[133X675676[8X[10X"PqDescendantsTreeCoclassOne-9-i"[110X[8X[108X677[33X[0;6Yapproximately does example [10X"PqDescendants-treetraverse-i"[110X again using678[10XPqDescendantsTreeCoclassOne[110X;[133X679680[8X[10X"PqDescendantsTreeCoclassOne-16-i"[110X[8X[108X681[33X[0;6Yuses the option [10XCapableDescendants[110X; and[133X682683[8X[10X"PqDescendantsTreeCoclassOne-25-i"[110X[8X[108X684[33X[0;6Ycalculates all descendants by omitting the [10XCapableDescendants[110X option.[133X685686[33X[0;0YThe numbers [10X9[110X, [10X16[110X and [10X25[110X respectively, indicate the order of the elementary687abelian group to which [10XPqDescendantsTreeCoclassOne[110X is applied for these688examples.[133X689690691692