Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
Download

GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it

610986 views
1
2
6 Databases of Residue-Class-Wise Affine Groups and -Mappings
3
4
The RCWA package contains a number of databases of rcwa groups and rcwa
5
mappings. They can be loaded into a GAP session by the functions described
6
in this chapter.
7
8
9
6.1 The collection of examples
10
11
6.1-1 LoadRCWAExamples
12
13
LoadRCWAExamples( )  function
14
Returns: the name of the variable to which the record containing the
15
collection of examples of rcwa groups and -mappings loaded from
16
the file pkg/rcwa/examples/examples.g got bound.
17
18
The components of the examples record are records which contain the
19
individual groups and mappings. A detailed description of some of the
20
examples can be found in Chapter 7.
21
22
 Example 
23

24
gap> LoadRCWAExamples();
25
"RCWAExamples" 
26
gap> Set(RecNames(RCWAExamples));
27
[ "AbelianGroupOverPolynomialRing", "Basics", "CT3Z", "CTPZ", 
28
 "CheckingForSolvability", "ClassSwitches", 
29
 "ClassTranspositionProducts", "ClassTranspositionsAsCommutators", 
30
 "CollatzFactorizationOld", "CollatzMapping", "CollatzlikePerms", 
31
 "CoprimeMultDiv", "F2_PSL2Z", "Farkas", "FiniteQuotients", 
32
 "FiniteVsDenseCycles", "GF2xFiniteCycles", "GrigorchukQuotients", 
33
 "Hexagon", "HicksMullenYucasZavislak", "HigmanThompson", 
34
 "LongCyclesOfPrimeLength", "MatthewsLeigh", 
35
 "MaybeInfinitelyPresentedGroup", "ModuliOfPowers", 
36
 "OddNumberOfGens_FiniteOrder", "Semilocals", 
37
 "SlowlyContractingMappings", "Syl3_S9", "SymmetrizingCollatzTree", 
38
 "TameGroupByCommsOfWildPerms", "Venturini", "ZxZ" ]
39
gap> AssignGlobals(RCWAExamples.CollatzMapping);
40
The following global variables have been assigned:
41
[ "T", "T5", "T5m", "T5p", "Tm", "Tp" ]
42

43

44
45
46
6.2 Databases of rcwa groups
47
48
6.2-1 LoadDatabaseOfGroupsGeneratedBy3ClassTranspositions
49
50
LoadDatabaseOfGroupsGeneratedBy3ClassTranspositions( )  function
51
Returns: the name of the variable to which the record containing the
52
database of all groups generated by 3 class transpositions which
53
interchange residue classes with moduli ≤ 6 got bound.
54
55
The database record has at least the following components (the index i is
56
always an integer in the range [1..52394], and the term indices always
57
refers to list indices in that range):
58
59
cts
60
The list of all 69 class transpositions which interchange residue
61
classes with moduli ≤ 6.
62
63
grps
64
The list of the 52394 groups -- 21948 finite and 30446 infinite ones.
65
66
sizes
67
The list of group orders -- it is Size(grps[i]) = sizes[i].
68
69
mods
70
The list of moduli of the groups -- it is Mod(grps[i]) = mods[i].
71
72
equalityclasses
73
A list of lists of indices i of groups which are known to be equal,
74
i.e. if i and j lie in the same list, then grps[i] = grps[j].
75
76
samegroups
77
A list of lists, where samegroups[i] is a list of indices of groups
78
which are known to be equal to grps[i].
79
80
conjugacyclasses
81
A list of lists of indices of groups which are known to be conjugate
82
in RCWA(ℤ).
83
84
subgroups
85
A list of lists, where subgroups[i] is a list of indices of groups
86
which are known to be proper subgroups of grps[i].
87
88
supergroups
89
A list of lists, where supergroups[i] is a list of indices of groups
90
which are known to be proper supergroups of grps[i].
91
92
chains
93
A list of lists, where each list contains the indices of the groups in
94
a descending chain of subgroups.
95
96
respectedpartitions
97
The list of shortest respected partitions. If grps[i] is finite, then
98
respectedpartitions[i] is a list of pairs (residue, modulus) for the
99
residue classes in the shortest respected partition grps[i]. If
100
grps[i] is infinite, then respectedpartitions[i] = fail.
101
102
partitionlengths
103
The list of lengths of shortest respected partitions. If the group
104
grps[i] is finite, then partitionlengths[i] is the length of the
105
shortest respected partition of grps[i]. If grps[i] is infinite, then
106
partitionlengths[i] = 0.
107
108
degrees
109
The list of permutation degrees, i.e. numbers of moved points, in the
110
action of the finite groups on their shortest respected partitions. If
111
there is no respected partition, i.e. if grps[i] is infinite, then
112
degrees[i] = 0.
113
114
orbitlengths
115
The list of lists of orbit lengths in the action of the finite groups
116
on their shortest respected partitions. If grps[i] is infinite, then
117
orbitlengths[i] = fail.
118
119
permgroupgens
120
The list of lists of generators of the isomorphic permutation groups
121
induced by the finite groups on their shortest respected partitions.
122
If grps[i] is infinite, then permgroupgens[i] = fail.
123
124
stabilize_digitsum_base2_mod2
125
The list of indices of groups which stabilize the digit sum in base 2
126
modulo 2.
127
128
stabilize_digitsum_base2_mod3
129
The list of indices of groups which stabilize the digit sum in base 2
130
modulo 3.
131
132
stabilize_digitsum_base3_mod2
133
The list of indices of groups which stabilize the digit sum in base 3
134
modulo 2.
135
136
freeproductcandidates
137
A list of indices of groups which may be isomorphic to the free
138
product of 3 copies of the cyclic group of order 2.
139
140
freeproductlikes
141
A list of indices of groups which are not isomorphic to the free
142
product of 3 copies of the cyclic group of order 2, but where the
143
shortest relation indicating this is relatively long.
144
145
abc_torsion
146
A list of pairs (index, order of product of generators) for all
147
infinite groups for which the product of the generators has finite
148
order.
149
150
cyclist
151
A list described in the comments in
152
rcwa/data/3ctsgroups6/spheresizecycles.g.
153
154
finiteorbits
155
A record described in the comments in
156
rcwa/data/3ctsgroups6/finite-orbits.g.
157
158
intransitivemodulo
159
For every modulus m from 1 to 60, intransitivemodulo[m] is the list of
160
indices of groups none of whose orbits on ℤ has nontrivial
161
intersection with all residue classes modulo m.
162
163
trsstatus
164
A list of strings which describe what is known about whether the
165
groups grps[i] act transitively on the nonnegative integers in their
166
support, or how the computation has failed.
167
168
orbitgrowthtype
169
A list of integers and lists of integers which encode what has been
170
observed heuristically on the growth of the orbits of the groups
171
grps[i] on ℤ.
172
173
Note that the database contains an entry for every unordered 3-tuple of
174
distinct class transpositions in cts, which means that it contains multiple
175
copies of equal groups -- cf. the components equalityclasses and samegroups
176
described above.
177
178
To mention an example, the group grps[44132] might be called the Collatz
179
group -- its action on the set of positive integers which are not multiples
180
of 6 is transitive if and only if the Collatz conjecture holds.
181
182
 Example 
183

184
gap> LoadDatabaseOfGroupsGeneratedBy3ClassTranspositions();
185
"3CTsGroups6"
186
gap> AssignGlobals(3CTsGroups6); # for convenience
187
The following global variables have been assigned:
188
[ "3CTsGroupsWithGivenOrbit", "Id3CTsGroup", 
189
 "ProbablyFixesDigitSumsModulo", "ProbablyStabilizesDigitSumsModulo", 
190
 "TriangleTypes", "abc_torsion", "chains", "conjugacyclasses", "cts", 
191
 "cyclist", "degrees", "epifromfpgroupto_ct23z", 
192
 "epifromfpgrouptocollatzgroup_c", "epifromfpgrouptocollatzgroup_t", 
193
 "equalityclasses", "finiteorbits", "freeproductcandidates", 
194
 "freeproductlikes", "groups", "grps", "intransitivemodulo", 
195
 "minwordlengthcoprimemultdiv", "minwordlengthnonbalanced", "mods", 
196
 "orbitgrowthtype", "orbitlengths", "partitionlengths", "permgroupgens",
197
 "redundant_generator", "refinementseqlngs", "respectedpartitions", 
198
 "samegroups", "shortresidueclassorbitlengths", "sizes", "sizespos", 
199
 "sizesset", "spheresizebound_12", "spheresizebound_24", 
200
 "spheresizebound_4", "spheresizebound_6", 
201
 "stabilize_digitsum_base2_mod2", "stabilize_digitsum_base2_mod3", 
202
 "stabilize_digitsum_base3_mod2", "subgroups", "supergroups", 
203
 "trsstatus", "trsstatuspos", "trsstatusset" ]
204
gap> grps[44132]; # the "3n+1 group"
205
<(2(3),4(6)),(1(3),2(6)),(1(2),4(6))>
206
gap> trsstatus[44132]; # deciding this would solve the 3n+1 problem
207
"exceeded memory bound"
208
gap> Length(Set(sizes));
209
1066
210
gap> Maximum(Filtered(sizes,IsInt)); # order of largest finite group stored
211
7165033589793852697531456980706732548435609645091822296777976465116824959\
212
2135499174617837911754921014138184155204934961004073853323458315539461543\
213
4480515260818409913846161473536000000000000000000000000000000000000000000\
214
000000
215
gap> PrintFactorsInt(last); 
216
2^200*3^103*5^48*7^28*11^16*13^13*17^8*19^6*23^6*29
217
gap> Positions(sizes,last); 
218
[ 33814, 36548 ]
219
gap> grps{last};
220
[ <(1(5),4(5)),(0(3),1(6)),(3(4),0(6))>, 
221
 <(0(5),3(5)),(2(3),4(6)),(0(4),5(6))> ]
222
gap> samegroups[1]; 
223
[ 1, 2, 68 ]
224
gap> grps[1] = grps[68];
225
true
226
gap> Maximum(mods);
227
77760
228
gap> Positions(mods,last);
229
[ 26311, 26313, 26452, 26453, 26455, 26456, 26457, 26459, 26461, 26462, 
230
 27781, 27784, 27785, 27786, 27788, 27789, 27790, 27791, 27829, 27832, 
231
 30523, 30524, 30525, 30526, 30529, 30530, 30532, 30534, 32924, 32927, 
232
 32931, 32933 ]
233
gap> Set(sizes{last}); 
234
[ 45509262704640000 ]
235
gap> Collected(mods);
236
[ [ 0, 30446 ], [ 3, 1 ], [ 4, 37 ], [ 5, 120 ], [ 6, 1450 ], [ 8, 18 ], 
237
 [ 10, 45 ], [ 12, 3143 ], [ 15, 165 ], [ 18, 484 ], [ 20, 528 ], 
238
 [ 24, 1339 ], [ 30, 2751 ], [ 36, 2064 ], [ 40, 26 ], [ 48, 515 ], 
239
 [ 60, 2322 ], [ 72, 2054 ], [ 80, 44 ], [ 90, 108 ], [ 96, 108 ], 
240
 [ 108, 114 ], [ 120, 782 ], [ 144, 310 ], [ 160, 26 ], [ 180, 206 ], 
241
 [ 192, 6 ], [ 216, 72 ], [ 240, 304 ], [ 270, 228 ], [ 288, 14 ], 
242
 [ 360, 84 ], [ 432, 36 ], [ 480, 218 ], [ 540, 18 ], [ 720, 120 ], 
243
 [ 810, 112 ], [ 864, 8 ], [ 960, 94 ], [ 1080, 488 ], [ 1620, 44 ], 
244
 [ 1920, 38 ], [ 2160, 506 ], [ 3240, 34 ], [ 3840, 12 ], 
245
 [ 4320, 218 ], [ 4860, 16 ], [ 6480, 282 ], [ 7680, 10 ], 
246
 [ 8640, 16 ], [ 12960, 120 ], [ 14580, 2 ], [ 25920, 34 ], 
247
 [ 30720, 2 ], [ 38880, 12 ], [ 51840, 8 ], [ 77760, 32 ] ]
248
gap> Collected(trsstatus);
249
[ [ "> 1 orbit (mod m)", 593 ], 
250
 [ "Mod(U DecreasingOn) exceeded <maxmod>", 23 ], 
251
 [ "U DecreasingOn stable and exceeded memory bound", 11 ], 
252
 [ "U DecreasingOn stable for <maxeq> steps", 5753 ], 
253
 [ "exceeded memory bound", 497 ], [ "finite", 21948 ], 
254
 [ "intransitive, but finitely many orbits", 8 ], 
255
 [ "seemingly only finite orbits (long)", 1227 ], 
256
 [ "seemingly only finite orbits (medium)", 2501 ], 
257
 [ "seemingly only finite orbits (short)", 4816 ], 
258
 [ "seemingly only finite orbits (very long)", 230 ], 
259
 [ "seemingly only finite orbits (very long, very unclear)", 76 ], 
260
 [ "seemingly only finite orbits (very short)", 208 ], 
261
 [ "there are infinite orbits which have exponential sphere size growth"
262
 , 2934 ], 
263
 [ "there are infinite orbits which have linear sphere size growth", 
264
 10881 ],
265
 [ "there are infinite orbits which have unclear sphere size growth", 
266
 86 ], [ "transitive", 562 ], 
267
 [ "transitive up to one finite orbit", 40 ] ]
268

269

270
271
6.2-2 LoadDatabaseOfGroupsGeneratedBy3ClassTranspositions
272
273
LoadDatabaseOfGroupsGeneratedBy3ClassTranspositions( max_m )  function
274
Returns: the name of the variable to which the record containing the
275
database of all groups generated by 3 class transpositions which
276
interchange residue classes with moduli less than or equal to
277
max_m got bound, where max_m is either 6 or 9.
278
279
If max_m is 6, this is equivalent to the call of the function without
280
argument described above. If max_m is 9, the function returns a record with
281
at least the following components (in the sequel, the indices i > j > k are
282
always integers in the range [1..264]):
283
284
cts
285
The list of all 264 class transpositions which interchange residue
286
classes with moduli ≤ 9.
287
288
mods
289
The list of moduli of the groups, i.e. Mod(Group(cts{[i,j,k]})) =
290
mods[i][j][k].
291
292
partlengths
293
The list of lengths of shortest respected partitions of the groups in
294
the database, i.e. Length(RespectedPartition(Group(cts{[i,j,k]}))) =
295
partlengths[i][j][k].
296
297
sizes
298
The list of orders of the groups, i.e. Size(Group(cts{[i,j,k]})) =
299
sizes[i][j][k].
300
301
All3CTs9Indices
302
A selector function which takes as argument a function func of three
303
arguments i, j and k. It returns a list of all triples of indices
304
[i,j,k] where 264 ≥ i > j > k ≥ 1 for which func returns true.
305
306
All3CTs9Groups
307
A selector function which takes as argument a function func of three
308
arguments i, j and k. It returns a list of all groups
309
Group(cts{[i,j,k]}) from the database for which func(i,j,k) returns
310
true.
311
312
 Example 
313

314
gap> LoadDatabaseOfGroupsGeneratedBy3ClassTranspositions(9);
315
"3CTsGroups9"
316
gap> AssignGlobals(3CTsGroups9);
317
The following global variables have been assigned:
318
[ "All3CTs9Groups", "All3CTs9Indices", "cts", "mods", "partlengths", 
319
 "sizes" ]
320
gap> PrintFactorsInt(Maximum(Filtered(Flat(sizes),n->n<>infinity)));
321
2^1283*3^673*5^305*7^193*11^98*13^84*17^50*19^41*23^25*29^13*31^4
322

323

324
325
6.2-3 LoadDatabaseOfGroupsGeneratedBy4ClassTranspositions
326
327
LoadDatabaseOfGroupsGeneratedBy4ClassTranspositions( )  function
328
Returns: the name of the variable to which the record containing the
329
database of all groups generated by 4 class transpositions which
330
interchange residue classes with moduli ≤ 6 for which all
331
subgroups generated by 3 out of the 4 generators are finite got
332
bound.
333
334
The record has at least the following components (the index i is always an
335
integer in the range [1..140947], and the term indices always refers to list
336
indices in that range):
337
338
cts
339
The list of all 69 class transpositions which interchange residue
340
classes with moduli ≤ 6.
341
342
grps4_3finite
343
The list of all 140947 groups in the database.
344
345
grps4_3finitepos
346
The list obtained from grps4_3finite by replacing every group by the
347
list of positions of its generators in the list cts.
348
349
sizes4
350
The list of group orders -- it is Size(grps4_3finite[i]) = sizes4[i].
351
352
mods4
353
The list of moduli of the groups -- it is Mod(grps4_3finite[i]) =
354
mods4[i].
355
356
conjugacyclasses4cts
357
A list of lists of indices of groups which are known to be conjugate
358
in RCWA(ℤ).
359
360
grps4_3finite_reps
361
Tentative conjugacy class representatives from the list grps4_3finite
362
-- tentative in the sense that likely some of the groups in the list
363
are still conjugate.
364
365
Note that the database contains an entry for every suitable unordered
366
4-tuple of distinct class transpositions in cts, which means that it
367
contains multiple copies of equal groups.
368
369
 Example 
370

371
gap> LoadDatabaseOfGroupsGeneratedBy4ClassTranspositions(); 
372
"4CTsGroups6"
373
gap> AssignGlobals(4CTsGroups6);
374
The following global variables have been assigned:
375
[ "conjugacyclasses4cts", "cts", "grps4_3finite", "grps4_3finite_reps", 
376
 "grps4_3finitepos", "mods4", "sizes4", "sizes4pos", "sizes4set" ]
377
gap> Length(grps4_3finite);
378
140947
379
gap> Length(sizes4);
380
140947
381
gap> Size(grps4_3finite[1]);
382
518400
383
gap> sizes4[1];
384
518400
385
gap> Maximum(Filtered(sizes4,IsInt));
386
<integer 420...000 (3852 digits)>
387
gap> Modulus(grps4_3finite[1]);
388
12
389
gap> mods4[1];
390
12
391
gap> Length(Set(sizes4));
392
7339
393
gap> Length(Set(mods4));
394
91
395
gap> conjugacyclasses4cts{[1..4]};
396
[ [ 1, 23, 563, 867 ], [ 2, 859 ], [ 3, 622 ], [ 4, 16, 868, 873 ] ]
397
gap> grps4_3finite[1] = grps4_3finite[23];
398
true
399
gap> grps4_3finite[4] = grps4_3finite[16];
400
false
401

402

403
404
405
6.3 Databases of rcwa mappings
406
407
6.3-1 LoadDatabaseOfProductsOf2ClassTranspositions
408
409
LoadDatabaseOfProductsOf2ClassTranspositions( )  function
410
Returns: the name of the variable to which the record containing the
411
database of products of 2 class transpositions got bound.
412
413
There are 69 class transpositions which interchange residue classes with
414
moduli ≤ 6, thus there is a total of (69 ⋅ 68)/2 = 2346 unordered pairs of
415
distinct such class transpositions. Looking at intersection- and subset
416
relations between the 4 involved residue classes, we can distinguish 17
417
different intersection types (or 18, together with the trivial case of equal
418
class transpositions). The intersection type does not fully determine the
419
cycle structure of the product. -- In total, we can distinguish 88 different
420
cycle types of products of 2 class transpositions which interchange residue
421
classes with moduli ≤ 6.
422
423
The components of the database record are a list CTPairs of all 2346 pairs
424
of distinct class transpositions which interchange residue classes with
425
moduli ≤ 6, functions CTPairsIntersectionTypes, CTPairIntersectionType and
426
CTPairProductType, as well as data lists OrdersMatrix,
427
CTPairsProductClassification, CTPairsProductType, CTProds12 and CTProds32.
428
-- For the description of these components, see the file
429
pkg/rcwa/data/ctproducts/ctprodclass.g.
430
431
 Example 
432

433
gap> LoadDatabaseOfProductsOf2ClassTranspositions();
434
"CTProducts"
435
gap> Set(RecNames(CTProducts));
436
[ "CTPairIntersectionType", "CTPairProductType", "CTPairs", 
437
 "CTPairsIntersectionTypes", "CTPairsProductClassification", 
438
 "CTPairsProductType", "CTProds12", "CTProds32", "OrdersMatrix" ]
439
gap> Length(CTProducts.CTPairs);
440
2346
441
gap> Collected(List(CTProducts.CTPairsProductType,l->l[2])); # order stats
442
[ [ 2, 165 ], [ 3, 255 ], [ 4, 173 ], [ 6, 693 ], [ 10, 2 ], 
443
 [ 12, 345 ], [ 15, 4 ], [ 20, 10 ], [ 30, 120 ], [ 60, 44 ], 
444
 [ infinity, 535 ] ]
445

446

447
448
6.3-2 LoadDatabaseOfNonbalancedProductsOfClassTranspositions
449
450
LoadDatabaseOfNonbalancedProductsOfClassTranspositions( )  function
451
Returns: the name of the variable to which the record containing the
452
database of non-balanced products of class transpositions got
453
bound.
454
455
This database contains a list of the 24 pairs of class transpositions which
456
interchange residue classes with moduli ≤ 6 and whose product is not
457
balanced, as well as a list of all 36 essentially distinct triples of such
458
class transpositions whose product has coprime multiplier and divisor.
459
460
 Example 
461

462
gap> LoadDatabaseOfNonbalancedProductsOfClassTranspositions();
463
"CTProductsNB"
464
gap> Set(RecNames(CTProductsNB));
465
[ "PairsOfCTsWhoseProductIsNotBalanced", 
466
 "TriplesOfCTsWhoseProductHasCoprimeMultiplierAndDivisor" ]
467
gap> CTProductsNB.PairsOfCTsWhoseProductIsNotBalanced;
468
[ [ ( 1(2), 2(4) ), ( 2(4), 3(6) ) ], [ ( 1(2), 2(4) ), ( 2(4), 5(6) ) ], 
469
 [ ( 1(2), 2(4) ), ( 2(4), 1(6) ) ], [ ( 1(2), 0(4) ), ( 0(4), 1(6) ) ], 
470
 [ ( 1(2), 0(4) ), ( 0(4), 3(6) ) ], [ ( 1(2), 0(4) ), ( 0(4), 5(6) ) ], 
471
 [ ( 0(2), 1(4) ), ( 1(4), 2(6) ) ], [ ( 0(2), 1(4) ), ( 1(4), 4(6) ) ], 
472
 [ ( 0(2), 1(4) ), ( 1(4), 0(6) ) ], [ ( 0(2), 3(4) ), ( 3(4), 4(6) ) ], 
473
 [ ( 0(2), 3(4) ), ( 3(4), 2(6) ) ], [ ( 0(2), 3(4) ), ( 3(4), 0(6) ) ], 
474
 [ ( 1(2), 2(6) ), ( 3(4), 2(6) ) ], [ ( 1(2), 2(6) ), ( 1(4), 2(6) ) ], 
475
 [ ( 1(2), 4(6) ), ( 3(4), 4(6) ) ], [ ( 1(2), 4(6) ), ( 1(4), 4(6) ) ], 
476
 [ ( 1(2), 0(6) ), ( 1(4), 0(6) ) ], [ ( 1(2), 0(6) ), ( 3(4), 0(6) ) ], 
477
 [ ( 0(2), 1(6) ), ( 2(4), 1(6) ) ], [ ( 0(2), 1(6) ), ( 0(4), 1(6) ) ], 
478
 [ ( 0(2), 3(6) ), ( 2(4), 3(6) ) ], [ ( 0(2), 3(6) ), ( 0(4), 3(6) ) ], 
479
 [ ( 0(2), 5(6) ), ( 2(4), 5(6) ) ], [ ( 0(2), 5(6) ), ( 0(4), 5(6) ) ] 
480
 ]
481

482

483
484
485