<h3>6 <span class="Heading">
Databases of Residue-Class-Wise Affine Groups and -Mappings
</span></h3>
<p>The <strong class="pkg">RCWA</strong> package contains a number of databases of rcwa groups and rcwa mappings. They can be loaded into a <strong class="pkg">GAP</strong> session by the functions described in this chapter.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LoadRCWAExamples</code>( )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: the name of the variable to which the record containing the collection of examples of rcwa groups and -mappings loaded from the file <code class="file">pkg/rcwa/examples/examples.g</code> got bound.</p>
<p>The components of the examples record are records which contain the individual groups and mappings. A detailed description of some of the examples can be found in Chapter <a href="chap7.html#X7A489A5D79DA9E5C"><span class="RefLink">7</span></a>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LoadDatabaseOfGroupsGeneratedBy3ClassTranspositions</code>( )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: the name of the variable to which the record containing the database of all groups generated by 3 class transpositions which interchange residue classes with moduli <span class="SimpleMath">≤ 6</span> got bound.</p>
<p>The database record has at least the following components (the index <code class="code">i</code> is always an integer in the range <code class="code">[1..52394]</code>, and the term <q>indices</q> always refers to list indices in that range):</p>
<dl>
<dt><strong class="Mark"><code class="code">cts</code></strong></dt>
<dd><p>The list of all 69 class transpositions which interchange residue classes with moduli <spanclass="SimpleMath">≤ 6</span>.</p>
</dd>
<dt><strong class="Mark"><code class="code">grps</code></strong></dt>
<dd><p>The list of the 52394 groups -- 21948 finite and 30446 infinite ones.</p>
</dd>
<dt><strong class="Mark"><code class="code">sizes</code></strong></dt>
<dd><p>The list of group orders -- it is <code class="code">Size(grps[i]) = sizes[i]</code>.</p>
</dd>
<dt><strong class="Mark"><code class="code">mods</code></strong></dt>
<dd><p>The list of moduli of the groups -- it is <code class="code">Mod(grps[i]) = mods[i]</code>.</p>
</dd>
<dt><strong class="Mark"><code class="code">equalityclasses</code></strong></dt>
<dd><p>A list of lists of indices <code class="code">i</code> of groups which are known to be equal, i.e. if <code class="code">i</code> and <code class="code">j</code> lie in the same list, then <code class="code">grps[i] = grps[j]</code>.</p>
</dd>
<dt><strong class="Mark"><code class="code">samegroups</code></strong></dt>
<dd><p>A list of lists, where <code class="code">samegroups[i]</code> is a list of indices of groups which are known to be equal to <code class="code">grps[i]</code>.</p>
</dd>
<dt><strong class="Mark"><code class="code">conjugacyclasses</code></strong></dt>
<dd><p>A list of lists of indices of groups which are known to be conjugate in RCWA(ℤ).</p>
</dd>
<dt><strong class="Mark"><code class="code">subgroups</code></strong></dt>
<dd><p>A list of lists, where <code class="code">subgroups[i]</code> is a list of indices of groups which are known to be proper subgroups of <code class="code">grps[i]</code>.</p>
</dd>
<dt><strong class="Mark"><code class="code">supergroups</code></strong></dt>
<dd><p>A list of lists, where <code class="code">supergroups[i]</code> is a list of indices of groups which are known to be proper supergroups of <code class="code">grps[i]</code>.</p>
</dd>
<dt><strong class="Mark"><code class="code">chains</code></strong></dt>
<dd><p>A list of lists, where each list contains the indices of the groups in a descending chain of subgroups.</p>
</dd>
<dt><strong class="Mark"><code class="code">respectedpartitions</code></strong></dt>
<dd><p>The list of shortest respected partitions. If <code class="code">grps[i]</code> is finite, then <code class="code">respectedpartitions[i]</code> is a list of pairs (residue, modulus) for the residue classes in the shortest respected partition <code class="code">grps[i]</code>. If <code class="code">grps[i]</code> is infinite, then <code class="code">respectedpartitions[i] = fail</code>.</p>
</dd>
<dt><strong class="Mark"><code class="code">partitionlengths</code></strong></dt>
<dd><p>The list of lengths of shortest respected partitions. If the group <code class="code">grps[i]</code> is finite, then <code class="code">partitionlengths[i]</code> is the length of the shortest respected partition of <code class="code">grps[i]</code>. If <code class="code">grps[i]</code> is infinite, then <code class="code">partitionlengths[i] = 0</code>.</p>
</dd>
<dt><strong class="Mark"><code class="code">degrees</code></strong></dt>
<dd><p>The list of permutation degrees, i.e. numbers of moved points, in the action of the finite groups on their shortest respected partitions. If there is no respected partition, i.e. if <code class="code">grps[i]</code> is infinite, then <code class="code">degrees[i] = 0</code>.</p>
</dd>
<dt><strong class="Mark"><code class="code">orbitlengths</code></strong></dt>
<dd><p>The list of lists of orbit lengths in the action of the finite groups on their shortest respected partitions. If <code class="code">grps[i]</code> is infinite, then <code class="code">orbitlengths[i] = fail</code>.</p>
</dd>
<dt><strong class="Mark"><code class="code">permgroupgens</code></strong></dt>
<dd><p>The list of lists of generators of the isomorphic permutation groups induced by the finite groups on their shortest respected partitions. If <code class="code">grps[i]</code> is infinite, then <code class="code">permgroupgens[i] = fail</code>.</p>
</dd>
<dt><strong class="Mark"><code class="code">stabilize_digitsum_base2_mod2</code></strong></dt>
<dd><p>The list of indices of groups which stabilize the digit sum in base 2 modulo 2.</p>
</dd>
<dt><strong class="Mark"><code class="code">stabilize_digitsum_base2_mod3</code></strong></dt>
<dd><p>The list of indices of groups which stabilize the digit sum in base 2 modulo 3.</p>
</dd>
<dt><strong class="Mark"><code class="code">stabilize_digitsum_base3_mod2</code></strong></dt>
<dd><p>The list of indices of groups which stabilize the digit sum in base 3 modulo 2.</p>
</dd>
<dt><strong class="Mark"><code class="code">freeproductcandidates</code></strong></dt>
<dd><p>A list of indices of groups which may be isomorphic to the free product of 3 copies of the cyclic group of order 2.</p>
</dd>
<dt><strong class="Mark"><code class="code">freeproductlikes</code></strong></dt>
<dd><p>A list of indices of groups which are not isomorphic to the free product of 3 copies of the cyclic group of order 2, but where the shortest relation indicating this is relatively long.</p>
</dd>
<dt><strong class="Mark"><code class="code">abc_torsion</code></strong></dt>
<dd><p>A list of pairs (index, order of product of generators) for all infinite groups for which the product of the generators has finite order.</p>
</dd>
<dt><strong class="Mark"><code class="code">cyclist</code></strong></dt>
<dd><p>A list described in the comments in <code class="file">rcwa/data/3ctsgroups6/spheresizecycles.g</code>.</p>
</dd>
<dt><strong class="Mark"><code class="code">finiteorbits</code></strong></dt>
<dd><p>A record described in the comments in <code class="file">rcwa/data/3ctsgroups6/finite-orbits.g</code>.</p>
</dd>
<dt><strong class="Mark"><code class="code">intransitivemodulo</code></strong></dt>
<dd><p>For every modulus <code class="code">m</code> from 1 to 60, <code class="code">intransitivemodulo[m]</code> is the list of indices of groups none of whose orbits on ℤ has nontrivial intersection with all residue classes modulo <code class="code">m</code>.</p>
</dd>
<dt><strong class="Mark"><code class="code">trsstatus</code></strong></dt>
<dd><p>A list of strings which describe what is known about whether the groups <code class="code">grps[i]</code> act transitively on the nonnegative integers in their support, or how the computation has failed.</p>
</dd>
<dt><strong class="Mark"><code class="code">orbitgrowthtype</code></strong></dt>
<dd><p>A list of integers and lists of integers which encode what has been observed heuristically on the growth of the orbits of the groups <code class="code">grps[i]</code> on ℤ.</p>
</dd>
</dl>
<p>Note that the database contains an entry for every unordered 3-tuple of distinct class transpositions in <code class="code">cts</code>, which means that it contains multiple copies of equal groups -- cf. the components <code class="code">equalityclasses</code> and <code class="code">samegroups</code> described above.</p>
<p>To mention an example, the group <code class="code">grps[44132]</code> might be called the <q>Collatz group</q> -- its action on the set of positive integers which are not multiples of 6 is transitive if and only if the Collatz conjecture holds.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LoadDatabaseOfGroupsGeneratedBy3ClassTranspositions</code>( <var class="Arg">max_m</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: the name of the variable to which the record containing the database of all groups generated by 3 class transpositions which interchange residue classes with moduli less than or equal to <var class="Arg">max_m</var> got bound, where <var class="Arg">max_m</var> is either 6 or 9.</p>
<p>If <var class="Arg">max_m</var> is 6, this is equivalent to the call of the function without argument described above. If <var class="Arg">max_m</var> is 9, the function returns a record with at least the following components (in the sequel, the indices <code class="code">i > j > k</code> are always integers in the range <code class="code">[1..264]</code>):</p>
<dl>
<dt><strong class="Mark"><code class="code">cts</code></strong></dt>
<dd><p>The list of all 264 class transpositions which interchange residue classes with moduli <span class="SimpleMath">≤ 9</span>.</p>
</dd>
<dt><strong class="Mark"><code class="code">mods</code></strong></dt>
<dd><p>The list of moduli of the groups, i.e. <code class="code">Mod(Group(cts{[i,j,k]})) = mods[i][j][k]</code>.</p>
</dd>
<dt><strong class="Mark"><code class="code">partlengths</code></strong></dt>
<dd><p>The list of lengths of shortest respected partitions of the groups in the database, i.e. <code class="code">Length(RespectedPartition(Group(cts{[i,j,k]})))</code> <code class="code">=</code> <code class="code">partlengths[i][j][k]</code>.</p>
</dd>
<dt><strong class="Mark"><code class="code">sizes</code></strong></dt>
<dd><p>The list of orders of the groups, i.e. <code class="code">Size(Group(cts{[i,j,k]}))</code> <code class="code">=</code> <code class="code">sizes[i][j][k]</code>.</p>
</dd>
<dt><strong class="Mark"><code class="code">All3CTs9Indices</code></strong></dt>
<dd><p>A selector function which takes as argument a function <var class="Arg">func</var> of three arguments <var class="Arg">i</var>, <var class="Arg">j</var> and <var class="Arg">k</var>. It returns a list of all triples of indices <code class="code">[<var class="Arg">i</var>,<var class="Arg">j</var>,<var class="Arg">k</var>]</code> where <span class="SimpleMath">264 ≥ i > j > k ≥ 1</span> for which <var class="Arg">func</var> returns <code class="code">true</code>.</p>
</dd>
<dt><strong class="Mark"><code class="code">All3CTs9Groups</code></strong></dt>
<dd><p>A selector function which takes as argument a function <var class="Arg">func</var> of three arguments <var class="Arg">i</var>, <var class="Arg">j</var> and <var class="Arg">k</var>. It returns a list of all groups <code class="code">Group(cts{[<var class="Arg">i</var>,<var class="Arg">j</var>,<var class="Arg">k</var>]})</code> from the database for which <code class="code"><var class="Arg">func</var>(<var class="Arg">i</var>,<var class="Arg">j</var>,<var class="Arg">k</var>)</code> returns <code class="code">true</code>.</p>
</dd>
</dl>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">LoadDatabaseOfGroupsGeneratedBy3ClassTranspositions(9);</span> "3CTsGroups9"
<span class="GAPprompt">gap></span> <span class="GAPinput">AssignGlobals(3CTsGroups9);</span>
The following global variables have been assigned:
[ "All3CTs9Groups", "All3CTs9Indices", "cts", "mods", "partlengths", "sizes" ]
<span class="GAPprompt">gap></span> <span class="GAPinput">PrintFactorsInt(Maximum(Filtered(Flat(sizes),n->n<>infinity)));</span>
2^1283*3^673*5^305*7^193*11^98*13^84*17^50*19^41*23^25*29^13*31^4
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LoadDatabaseOfGroupsGeneratedBy4ClassTranspositions</code>( )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: the name of the variable to which the record containing the database of all groups generated by 4 class transpositions which interchange residue classes with moduli <span class="SimpleMath">≤ 6</span> for which all subgroups generated by 3 out of the 4 generators are finite got bound.</p>
<p>The record has at least the following components (the index <code class="code">i</code> is always an integer in the range <code class="code">[1..140947]</code>, and the term <q>indices</q> always refers to list indices in that range):</p>
<dl>
<dt><strong class="Mark"><code class="code">cts</code></strong></dt>
<dd><p>The list of all 69 class transpositions which interchange residue classes with moduli <spanclass="SimpleMath">≤ 6</span>.</p>
</dd>
<dt><strong class="Mark"><code class="code">grps4_3finite</code></strong></dt>
<dd><p>The list of all 140947 groups in the database.</p>
</dd>
<dt><strong class="Mark"><code class="code">grps4_3finitepos</code></strong></dt>
<dd><p>The list obtained from <code class="code">grps4_3finite</code> by replacing every group by the list of positions of its generators in the list <code class="code">cts</code>.</p>
</dd>
<dt><strong class="Mark"><code class="code">sizes4</code></strong></dt>
<dd><p>The list of group orders -- it is <code class="code">Size(grps4_3finite[i]) = sizes4[i]</code>.</p>
</dd>
<dt><strong class="Mark"><code class="code">mods4</code></strong></dt>
<dd><p>The list of moduli of the groups -- it is <code class="code">Mod(grps4_3finite[i]) = mods4[i]</code>.</p>
</dd>
<dt><strong class="Mark"><code class="code">conjugacyclasses4cts</code></strong></dt>
<dd><p>A list of lists of indices of groups which are known to be conjugate in RCWA(ℤ).</p>
</dd>
<dt><strong class="Mark"><code class="code">grps4_3finite_reps</code></strong></dt>
<dd><p>Tentative conjugacy class representatives from the list <code class="code">grps4_3finite</code> -- <em>tentative</em> in the sense that likely some of the groups in the list are still conjugate.</p>
</dd>
</dl>
<p>Note that the database contains an entry for every suitable unordered 4-tuple of distinct class transpositions in <code class="code">cts</code>, which means that it contains multiple copies of equal groups.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LoadDatabaseOfProductsOf2ClassTranspositions</code>( )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: the name of the variable to which the record containing the database of products of 2 class transpositions got bound.</p>
<p>There are 69 class transpositions which interchange residue classes with moduli <span class="SimpleMath">≤ 6</span>, thus there is a total of <span class="SimpleMath">(69 ⋅ 68)/2 = 2346</span> unordered pairs of distinct such class transpositions. Looking at intersection- and subset relations between the 4 involved residue classes, we can distinguish 17 different <q>intersection types</q> (or 18, together with the trivial case of equal class transpositions). The intersection type does not fully determine the cycle structure of the product. -- In total, we can distinguish 88 different cycle types of products of 2 class transpositions which interchange residue classes with moduli <span class="SimpleMath">≤ 6</span>.</p>
<p>The components of the database record are a list <code class="code">CTPairs</code> of all 2346 pairs of distinct class transpositions which interchange residue classes with moduli <span class="SimpleMath">≤ 6</span>, functions <code class="code">CTPairsIntersectionTypes</code>, <code class="code">CTPairIntersectionType</code> and <code class="code">CTPairProductType</code>, as well as data lists <code class="code">OrdersMatrix</code>, <code class="code">CTPairsProductClassification</code>, <code class="code">CTPairsProductType</code>, <code class="code">CTProds12</code> and <code class="code">CTProds32</code>. -- For the description of these components, see the file <code class="file">pkg/rcwa/data/ctproducts/ctprodclass.g</code>.</p>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">‣ LoadDatabaseOfNonbalancedProductsOfClassTranspositions</code>( )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: the name of the variable to which the record containing the database of non-balanced products of class transpositions got bound.</p>
<p>This database contains a list of the 24 pairs of class transpositions which interchange residue classes with moduli <span class="SimpleMath">≤ 6</span> and whose product is not balanced, as well as a list of all 36 essentially distinct triples of such class transpositions whose product has coprime multiplier and divisor.</p>
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.