Quelle chap3_mj.html
Sprache: HTML
|
|
| products/Sources/formale Sprachen/GAP/pkg/rcwa/doc/chap3_mj.html |
 |
<?xml version= "1.0" encoding= "UTF-8"?>
<! DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
< html xmlns= "http://www.w3.org/1999/xhtml" xml:lang= "en">
< head>
< script type= "text/javascript"
src= "https://cdn.jsdelivr.net/npm/mathjax@2/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</ script>
< title>GAP (RCWA) - Chapter 3: Residue-Class-Wise Affine Groups</ title>
< meta http-equiv= "content-type" content= "text/html; charset=UTF-8" />
< meta name= "generator" content= "GAPDoc2HTML" />
< link rel= "stylesheet" type= "text/css" href= "manual.css" />
< script src= "manual.js" type= "ext/"></ script>
< script typejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for l ength 0
</head>
<body class="chap3" onload="jscontent()">
<div class="chlinktop"><span class=<script
<div class="chlinkprevnexttop"> <ameta http-="ontent-type ="texthtml; charset=UTF-8" />
<p id="mathjaxlink" class="pcenter"><a href="chap3.html">[MathJax off]</a></p>
<p><a id="X874A3BB684F0639A" name="X874A3BB684F0639A"></a></p>
<div class="ChapSects"><a href="chap3_mj.html#X874A3BB684F0639A">3 <span class="Heading">Residue-Class-Wise Affine Groups</span></a>
<div class="ContSect"><span class="tocline"><span class="<meta name="content"APDoc2HTML"/
</span>
<div class="ContSSBlock">
<script src=manual.js"="text/avascript">/java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
<span class="
<panclass="ContSS"><br /><span class="nocss"> </span><a href="chap3_mj.html#X80D13D2A7AD73C2C">3.1-3 <span class="Heading">
WreathProduct
(for an rcwa group over Z, with a permutation group or (ℤ,+))
</span></a>
</span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3_mj.html#X8794913B878DD5C4">3.1-4 MergerExtension</a></span>
<pan class="ontSS><br />span class=nocss"> </span><a href="chap3_mj.html#X8143AB647801F438">3.1-5 GroupByResidueClasses</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3_mjjava.lang.StringIndexOutOfBoundsException: Index 83 out of bounds for length 62
estriction (of rcwa mappingor -, an injectivercwamapping)
</span></a>
</span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3_mj.html#X82171D7287CBED95">3.1-7 <span class="Headingdiv class=">spanclass=tocline><=nocss"nbsp;/< href"htmlX81242A6586A604A3.1< =Heading--affinegroupsspan<
Induction (of an rcwa mapping or -group, by an injective rcwa mapping<class="ContSS<br /><span class="nocss"> nbsp<ahref"java.lang.StringIndexOutOfBoundsException: Range [114, 106) out of bounds for length 138
</span></a>
</an
<class="><r/> class="ocss>&bsp;nbsp</pan< "#X79450C1C8756FEB3"3.18 RCWA</a></span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3_mj.html#X7BD42D8481300E25">3.1-9 CT</a></span>
<div>/
<div class="ContSect"><span class="tocline"><span class="ContSS"><br /><span class="nocss"> >spanclass"" nbsp>a href="chap3_mj.html#X8143AB647801F438">3.1-5 GroupByResidueClasses</a></span>
routines forinvestigatingresidue-lasswise affine groups
</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3_mj.html#X864A7E3E87F366A8">3.2-1 StructureDescription</a></span>
</span>
<span class="ContSS"><br /><span class="nocss"> </span><a hrefclass=ContSS">br />spanclass=nocss>&;&</ href="chap3_mj#82171java.lang.StringIndexOutOfBoundsException: Range [107, 106) out of bounds for length 136
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3_mj.html#X8151BE577FFDCE87">3.3 <span class="Heading">
The natural action of an rcwa group on the underlying ring
</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3_mj.html#X7C046BE97EE53692">3.3-1 <span class="Heading"> Orbit (for an rcwa group and either a point or a set</pan<a
</span>
<pan class=ContSS>br/<span class"";nbsp<span<ahref".html#7"3.3-java.lang.StringIndexOutOfBoundsException: Index 146 out of bounds for length 146
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3_mj.html#X7D9DFAC97F9F0891">3.3-3 routines residueclass-affine groups
<>< =chtml#".4 span =java.lang.StringIndexOutOfBoundsException: Range [135, 134) out of bounds for length 136
<span class"<r /span"ocss>& <span<ahref="chap3_mjX83527DA37C5CB2C7"32-2 </>/>
</span></a>
</pan
<span class="/div></div>
ShortResidueClassOrbits &;ShortResidueClassCycles
</span></a>
</span>
</span<>
<span class=ContSS">br /><spanclass"nocss" </span><a href="chap3_mj.html#X7F76B04E86C77B94">3.3-7 CycleRepresentativesAndLengths</a></span>
<span class="ContSS"><br<iv class"">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3_mj.html#X8735855587CC029F">3.3-9 </>
Ball (orgroup,elementand group,point java.lang.StringIndexOutOfBoundsException: Range [64, 63) out of bounds for length 75
</span></a>
</pan
<span =>< > class"nocss>&bsp span><a href="chap3_mj.html#X78F145197F63A25D">3.3-4 <span class="Heading">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3_mj.html#X8587246A7F890849">3 ShortOrbits ( rcwa groups & ShortCycles (forrcwapermutations)
<spanclass"ContSS"><br /><panclass=nocss">nbsp;&bsp<>a href="hap3_mjhtml#D08213067E".3-12</>/span>
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3_mj.html#X82DBAF35788FA239">3.3-13 CollatzLikeMappingByOrbitTree</a></span>
<
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href=<pan class="ContSS"><br /><span class="nocss"> </span><a href="chap3_mj.html#X7F76B04E86C77B94">3.3-7 CycleRepresentativesAndLengths</a></span>
Special attributes of tame residue-class-wise affine groups
</span></a>
</span>
<div class="ContSSBlock">
<class="ContSS"><br/>span class"&;&bsp;/span<a href="chap3_mj.html#X7F523A6B87825AB8">3.4-1 <span class="Heading">
RespectedPartition ( a tame rcwagroup -)
</span></a>
</span>
<span class="ContSS"><br /ContSS<br /<span java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 170
ActionOnRespectedPartition & KernelOfActionOnRespectedPartition
</span></a>
</span>
</div></div>
<div class=<panclass"><java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 146
</span>
</div>spanclass""< /><span classn;> java.lang.StringIndexOutOfBoundsException: Range [108, 106) out of bounds for length 155
<div class="ContSect"><span java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 12
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss"> </span><a href="chap3_mj.html#X84AFBB997B694A3D">3.6-1 IsRcwaGroup</a></span>
<
<div>
<h3>3 <span class="Heading">Residue-Class-Wise Affine Groups</span></h3>
<p>In this chapter, we describe how to construct residue-class-java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 13
<p><a id="X81242A6586A604A3" name="X81242A6586A604A3"></a></p>
<h4>3.1 <span class="Heading">Constructing residue-class-wise affine groups</span></h4>
<p>As any other groups in <java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 13
<divclass="ContSect><spanclass=tocline"><span class="nocss"> </span><a href="chap3_mj.html#X81941A247942FB99">3.5 <span class="Heading">Generating pseudo-random elements of RCWA(R) and CT<>
<span class="GAPprompt">gap></span> <span class="GAPinput">G := Group(ClassTransposition(0,2,1,4),ClassShift(0,5));</span>
&;rcwa over with2 generatorsgt;
<span class="GAPprompt">gap></span> <span class="GAPinput">IsTame(G); Size(G); IsSolvable(G); IsPerfect(G);</span>
rue
infinity
false
false
</pre></java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 0
<p>An rcwa group isomorphic to a given group can be obtained by taking the image of a faithful rcwa representation:</p>h3 <span=H"ResidueClassWiseAffineGroups/<h3>
<p><a id="X7EB8A301790290C7" name="X7EB8A301790290C7java.lang.StringIndexOutOfBoundsException: Index 52 out of bounds for length 0
<h5>3.1-1 IsomorphismRcwaGroup</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; IsomorphismRcwaGroup</code>( <var class="Arg">G</var>, <var class="Arg">R</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
< ="func"<table class="func" width="100%"><tr><td class="tdleft"><code class="func">='color: green'>8227; IsomorphismRcwaGroup</code>( <var class="Arg">G</var> )/td>tdclass"tdright">( attribute )</td></tr></table></div>
<p>Returns: a monomorphism from the group <var class="Arg">G</var> to RCWA(<var class="Arg">R</var>java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<p>The best-supported case is <var class="Arg">R</var> = ℤ. java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">F := FreeProduct(Group((1,2)(3,4),(1,3)(2,4)),Group((1,2,3)),</span>
<spanclass=GAPprompt">></span> <span class="GAPinput"> SymmetricGroup(3));</span>
<
<span class="GAPprompt"gap&t</>< class=">IsomorphismRcwaGroup(F)</>
[ f1, f2, f3, f4
&trcwa of Zwith modulus24&,
<rcwa permutation java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
lt; with &;,
<rcwa permutation of Z with modulus 36> ]
<">gap>< < java.lang.StringIndexOutOfBoundsException: Range [51, 50) out of bounds for length 104
[ f1,java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<wild rcwa permutation of Z with java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 0
<pan classGAPprompt">ap></> span class""F2 := Image(last);</span>
<wild rcwa group over Z with 2>
</pre></div>
<p>Further, new rcwa groups can be constructed from given ones by taking direct products and by taking wreath <div class=func"<table class"func width"00"tr<dclass=""< =func">‣IsomorphismRcwaGroup<code(<var ="Arg>G<;;)>>/able</div
<p><a id="X79CAE48981C11FE8" name="java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 0
<h5>3.1-2 DirectProduct</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; DirectProduct</code>( <var class="Arg">G1</var>, <var class="Arg">G2java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ver given asarguments<p
<p>There is certainly no unique or canonical way tol;fpgroup on thegenerators [f1,f2,f3f4, f5]gjava.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 57
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">F2 := Image(IsomorphismRcwaGroup(FreeGroup(2)));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">F2xF2 := DirectProduct(F2,F2);</span>
er Z with 4 generatorsgtjava.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
<span class="GAPprompt">gt;</> <pan class="GAPinput"Image(F2xF2)) F2<span>
java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 4
</pre></span=GAPprompt>ap&;span span ="java.lang.StringIndexOutOfBoundsException: Range [61, 60) out of bounds for length 104
<p><a id="X80D13D2A7AD73C2C" name="X80D13D2A7AD73C2C"></a></p>
<h5>3.1-3 <span class="Heading"&;rcwa java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 48
WreathProduct
(for an rcwa group over Z, with a permutation group or (ℤ,+))
</span></h5>
<div=func class="width"100%>trtd class"<=f"8227;WreathProduct>( varclass="Arg"G, var class"></var>/td> class"tdright(m&;<td>/tr>/>/div>
class>tablejava.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 244
<p>Returns:rcwagroup to wreath product of thercwa<var class="ArgG<var> over with finite permutation group <var class="Arg">P</var> or with the infinite cyclic group <var class="Arg">Z</var>, respectively.</p>
<p>The first-mentioned method embeds the <code class="code">NrMovedPoints(<var class="Arg">P</var>)</code>th direct power of <var class="Arg">G</var> using the method for <code class="code">DirectProduct</code>, and lets the permutation group <var class="Arg">P</var> act naturally on the set of residue classes modulo <code class="code">NrMovedPoints(<var class="Arg">P</var>)</code>. The second-mentioned method restricts (<span class="SimpleMath">\(\rightarrow\)</span> <code class="func">Restriction</code> (<a href="chap3_mj.html#X852EF2C079E4D7FF"><span class="RefLink">3.1-6</span></a>)) the group <var class="Arg">G</var> to the residue class 3(4), and maps the generator of the infinite cyclic group <var class="Arg">Z</var> to <code class="code">ClassTransposition(0,2,1,2) * ClassTransposition(0,2,1,4)</code>.</p>
<
<classGAPprompt>&;</span ="> : ImageIjava.lang.StringIndexOutOfBoundsException: Range [95, 94) out of bounds for length 118
<class"GAPprompt>><java.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 118
<span class="GAPprompt">gap></span> <span class="GAPinput">Embedding(F2wrA5,1);</span>
[ <true
&; Z 8&; ] - &;
[ <wild rcwa Zwith modulus 40&;
<wild rcwa h51 span""
< java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 89
4(5) ,
( 2(5), 3(5), 4(div=""table"width100>tr>tdclass=tdleft> =">#8227;java.lang.StringIndexOutOfBoundsException: Range [115, 114) out of bounds for length 244
< "">gap></span span="GAPinput">wrZ: WreathProductGroup((0,1),(0,)))<>
<wild rcwa over with 2generators&;
<span class="GAPpromptjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
ClassShift(Z ] -&;
[ <tame rcwa permutation of Z with modulus 4, of order infinityclassGAPprompt>&;/ span class""F2wrA5= (F2,AlternatingGroup5);/java.lang.StringIndexOutOfBoundsException: Index 118 out of bounds for length 118
<classG"gap></span> <span class="GAPinput">EmbeddingZwrZ,2/>
[(Z) ]-; <wildrcwaof with >
<re<div
<> java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 95
<(25,() (5) )=>ZwrZ =WreathProductGroup(ClassShift1),((0,))<span
<h5>3.1-4 MergerExtension</h5>
<div class="func"><table class="func" width="100%"><tr><td class= java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 25
<p>ReturnsClassShift java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 79
<p>The arguments java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 0
<p>Let <span class="SimpleMath">\(n\)</span> be the largest moved point <Also, cwagroups can be obtained as particular extensions of finite permutation groups:</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput"># First example
<spanclass""gap&;/span span =G: ((123))[1,2];/java.lang.StringIndexOutOfBoundsException: Index 114 out of bounds for length 114
<rcwa group over Z with 2 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(G); </span>
infinity
<span class="GAPprompt">gap></span> <span class="GAPinput">GeneratorsOfGroup(G);</span>
0(), (3, 2()) (0() 2() 1(),5(
<span class="GAPprompt"
<java.lang.StringIndexOutOfBoundsException: Range [22, 5) out of bounds for length 84
[ 1, 3, 4, 6, 8, 12
<;</span> <java.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 70
<span class="GAPprompt">gap></span> <span class="java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
<panclass""gap></ span class="GAPinput">G := MergerExtension(Group((1,2,3,4),(1,2)),[1,2],3);</span>
&;cwagroup overZ generators>
<span class="GAPprompt">gap></span> <span class="< group with2 generators;
infinity
<span class="GAPprompt">gap><span> < class"java.lang.StringIndexOutOfBoundsException: Range [62, 60) out of bounds for length 90
0(), 4)),
( 0(4), 2(8) ) ( 1(4 (), (3) 2))(03)2() )( 13)56 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">B := Ball(G,One(G),6:Spheres);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">spanclass="GAPprompt"gap&</span
[ 1,4,11,28, 69, 170 413 ]
<spanclass=GAPprompt"gap></span> <span class="GAPinput">G = Group(List([[0,2,1,2],[1,2,2,4],[0,2,1,4],[1,4,2,4]]ppan =""gap>span> span "">G : MergerExtension(12,,,(12)[12,span
<lass">g;/> <pan java.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 105
true
</pre></div>
<Itisalso to buildan list <p
<p><a ="X8143AB647801F438"name="X8143AB647801F438"></a></p>
<h5>3.1-5 GroupByResidueClasses</h5>
<div classspan class="APprompt>gap&;<span><span class="GAPinput">(,<>
<ns:the whichis by allclass which disjointresidue classesinvarclassArg"classes<var</p>
<p>Theargument <ar class"">lasses/> be aof classes</p
<p>If the residue class"java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 105
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G :=
<span class="GAPprompt">></span
<rcwa group over Z with 8 generators>
<pan<span class="APinput"H: Group(List([[0,2,1,2],[1,2,2,4],[0,2,1,4],[1,4,2,4]],</span>
<span class="GAPprompt">></span> <span class="
<(0(2),1(2)),(1(2),2(4)),(0(2),1(4)),(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
< class="gap&;/>< =GAPinput">G = H;</span>
true
</pre></div>
<p>Various ways to construct rcwa groups are based on certain monomorphisms from the group RCWA(<span class="SimpleMath">\(R\)</span>) into itself. Examples are the constructions of direct products and wreath products described above. The support of the image of such a monomorphism is the image of a given injective rcwa mapping. For this reason, these monomorphisms are called <em>restriction monomorphisms</em>. The following operation computes images of rcwa mappings and -groups under these embeddings of RCWA(<span class="SimpleMath">\(R<Returns: the group which is generated by all class transpositions which interchange disjoint residue
<p><a id="X852EF2C079E4D7FF" name="X852EF2C079E4D7FF"></a></p>
<1-<span class="">
Restriction (of an rcwa mapping
</</h5>
<div class="func"><span class="GAPprompt">><> <span class="GAPinput"> ResidueClass));</span>
<=100%"tr>td class="tdleft"><code class="func">‣ Restriction</code>( <var class="Arg">G</var>, <var class="Arg">f</var> )</td><td< =GAPprompt>gapgt</> < java.lang.StringIndexOutOfBoundsException: Range [51, 50) out of bounds for length 127
<p>Returns: the restriction of the rcwa mapping <var class="Arg">g</var> (respectively the rcwa group <var class="Arg">G</var>) by the injective rcwa mapping <var class="Arg">f</var>.</p>
<p>By definition, the <em>restriction</em> <span class="SimpleMathjava.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 55
<p>The em>/> ofan rcwa < class"">Gvar> byaninjectivercwamapping var class=Arg></> the groupwhose elementsare of elementsof< =Arg>G<var>by class=Arg">f/>.java.lang.StringIndexOutOfBoundsException: Range [261, 260) out of bounds for length 414
<div class="example"><pre>
<span class="GAPprompt"gap></span> <java.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 119
<wild rcwa group over Z with 2 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">Support(F2tilde);</span>
3(5)
</pre></div>
<p><a id="X82171D7287CBED95" name="X82171D7287CBED95"></a></p>
<h5>3.1-7 <span class="Heading">
Induction (of an rcwa mapping or -group, by an injective rcwa mapping)
</span></h5>
<iv class=func"<able class="func" width="100%"<tr><td class""code class="func">‣ Induction</code>( <var class="Arg">g</var>, <var class="Arg">f</var> )</td><td class="tdright">( operation )</td></tr></table>java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<java.lang.StringIndexOutOfBoundsException: Range [5, 4) out of bounds for length 243
<p>Returns the induction of the rcwa mapping <var class="Arg">g</var> (respectively the rcwa group <var class="Arg">G</var>) by the injective rcwa mapping <var class="Arg">f</var>.</p>
<p><em>Induction</em> is the right inverse of restriction, i.e. it is <code class="code">Induction(Restriction(<var class="Arg">g</var>,<var class="Argjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<class=example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">Induction(F2tilde,RcwaMapping([[5,3,1]])) = F2;</span>
true
</pre></div>
<p>Once having constructed an rcwa group, it is sometimes possible to obtain a smaller generating set by<Returnsthe var class="Arg">g</var> (respectively the rcwa group <var class="Arg">G</var>) by the injective rcwa mapping <var class="Arg">f</var>.</p>
<p>There are methods for the operations <code class="code">View</code>, <code class="code">Display</code>, <code class="code">Print</code> and <code class="code">String</code> which are applicable to rcwa groups.</p>
<p>Basic attributes of an rcwa group which are derived from the >The em><> anrcwa < "">G/>by injective mapping var Arg>f/ar> definedas groupwhoseelementsare the restrictionsofthe var ="Arg>Gvar> var class""</>.The restriction of <var class="Arg">G</var> by <var class="Arg">f</var> acts on the image of <var class="Arg">f</var> and fixes its complement pointwise.</p>
<div class="example"><pre>
<span class="GAPprompt">gap&3(5)
< class"GAPprompt">gt;/> <span class=GAPinput"> ClassReflection(2,4));</span>
<rcwa group over Z java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 0
<span class="GAPprompt">gap></span> <span java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 0
<span class="GAPprompt">></span> <span class="GAPinput"> IsIntegral,IsClassWiseOrderPreservingInduction ( java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 74
[ 24, 2, 2, [ 2, 3 ], false,ss="" width="100%"><tr<td class="tdleft><code class="func">‣ Induction</code>( <var class="Arg">g</var>, <var class="Arg">f</var> )</td><td class="tdright">( operation )</td></tr></table></div>
</pre></div>
<p>All rcwa groups over a ring <span class="SimpleMath">\(R\)</span> are subgroups of RCWA(<span class="SimpleMath">\(R\)</span>). The group RCWA(<span class="SimpleMath">\(R\)</span>) itself is not finitely generated, thus cannot be constructed as described above. It is handled as a special case:</p>
<p><a id="X79450C1C8756FEB3" name="X79450C1C8756FEB3"></a></p>
<h5>3.1-8 RCWA</h5>
<div class="func"><table
<>the RCWA("Arg>R</var) java.lang.StringIndexOutOfBoundsException: Range [85, 73) out of bounds for length 140
<div class="example"><pre>
<class"GAPprompt>&t<span span"" =java.lang.StringIndexOutOfBoundsException: Range [77, 76) out of bounds for length 94
CWAZ)
<span class="GAPprompt">gap></span> <span java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 4
true
</pre></div>
<p>Examples<p>There methods forthe operationscode =""Viewcode> code =code"Display</java.lang.StringIndexOutOfBoundsException: Range [105, 104) out of bounds for length 216
<div
<span "">><spanspanclass="GAPinput">List([2,105],NrConjugacyClassesOfRCWAZOfOrder);</span>
infinity 218]
</pre></div>
<pWe thegroup is java.lang.StringIndexOutOfBoundsException: Range [49, 48) out of bounds for length 218
<p><a id="X7BD42D8481300E25" name="X7BD42D8481300E25"></a></p>
<h5>3.1-9 CT</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; CT</code>( <var class="Arg">R</var> )</td><td class="tdright">( function )</td></tr></table></div>
< class"func"<tableclass="func"width"100%"<<td class=tdleft< class="func">8227</ode> <var =Arg</, var class"Arg"</ )/td< class"">&functionnbsp)/>/>/></>
<p>Returns: the group CT(<var class="Arg">R</var>) which is generated by all class transpositions of the ring <var class="Arg">R</var>, respectively, the group CT(<var class="Arg">P</var>,ℤ) java.lang.StringIndexOutOfBoundsException: Index 196 out of bounds for length 143
<div class="example"><java.lang.StringIndexOutOfBoundsException: Range [0, 25) out of bounds for length 12
<span class="GAPprompt">gap></span> <span class="GAPinput">CT_Z := CT
CT(Z)
<span class="GAPprompt">gap&java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 0
true
<span class="GAPprompt">gap></span> <span class="GAPinput">V := -class-affinepermutations thering <var class="Arg">R</var>.</p>
CT_[ ](Zjava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
<spanclass="GAPprompt>gt;/>span java.lang.StringIndexOutOfBoundsException: Range [51, 50) out of bounds for length 90
[( 0(2)1(), (1(), (), 02,1(4)),( 14)2())
<<java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 12
CT_ 23 Z
<span class="GAPprompt">gap></span> <span java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 0
[ ( 0(2), 1(2) ), ( java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
( 0(2), 5(6) ), ( 0(3), 1(6) ) ]
</pre
<p>The
< class""<>
<</span><span ""ct: (0,,,</>
( 0eturns:thejava.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 361
<class"APprompt">gt</ span =>irrored);/>
( 1(2), 4(6) )
<span class="GAPprompt">gap></span> <span class="GAPinput">G := Group(List([[0,2,1,2],[0,3,2,3],[2,4,1,6]],ClassTransposition));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 5
[ [ 0 .. 5 ] ]
<span class
[ [ -6 .. -1 ] ]
</pre></div>
<p>Under the hypothesis that CT(CT_[ 2 ]Zjava.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">NrElementsOfCTZWithGivenModulus{[1..8]};</span>
[ 1, 1, 17, 238, 4679, < =""gap>/span class="java.lang.StringIndexOutOfBoundsException: Range [61, 60) out of bounds for length 94
</pre></div>
<p>The number of conjugacy classes of CT(ℤ( 0(2), 5() ) (0(3), 1(6))]
<p
<h4>3
Basic routines for investigating residue-class-wise affine groups
</span></h4>
<p>In the previous section we have seen how to construct rcwa groups. The purpose of this section is p>The group CT(ℤ) has an outer automorphism which is given by conjugation with <span class="SimpleMath -1)java.lang.StringIndexOutOfBoundsException: Range [132, 131) out of bounds for length 479
<p><a id="X864A7E3E87F366A8" name="X864A7E3E87F366A8"></a></p>
<h5>3.2-1 StructureDescription</h5>
<div class="func"><table class="func" width="100%"><tr><java.lang.StringIndexOutOfBoundsException: Range [0, 58) out of bounds for length 0
<Returns:astringwhichsometimesgivesalittleglimpse the ofthe group< classArg"G</var.p>
<p>The attribute <code class="code">StructureDescription</code> for finite groups is documented in the <strong class="pkg">GAP</strong> Reference Manual. Therefore we describe here only issues which are 0), 1(6
<p>Wreath products < class"GAPprompt">&;/pan> ="APinput"ShortOrbits100.100,100)/panjava.lang.StringIndexOutOfBoundsException: Index 100 out of bounds for length 100
<div class="example"><pre>
<span class="
<pan">>span> <span class="GAPinput">StructureDescription(G);</span>
"(Z x Z x Z x Z x Z x Z x Z) . (C2 x S7)"
<span class="GAPprompt>gap&;/> < class="GAPinput"G := Group(ClassTransposition(0,2,1,4),</span>
<span class="GAPprompt">></span> <span class="GAPinput"> ClassShift(2,4),ClassReflection(1,2));;/>
<span class=span class=GAPprompt>ap>/span> <span class="GAPinput">NrElementsOfCTZWithGivenModulus{[1..8]};</span>
"Z^2.((S3xS3):2)"
<span class/re<div>
<span class="GAPprompt">gapp>number (ℤ) of of orderis under java.lang.StringIndexOutOfBoundsException: Range [174, 105) out of bounds for length 296
<span class="GAPprompt">></span> <span class="GAPinput"> CyclicGroup(2))));;</span>
<pan class=GAPpromptgap&t</><class=Gjava.lang.StringIndexOutOfBoundsException: Range [61, 60) out of bounds for length 98
<wild rcwa group over Z with 4 generators>
<
"(C3 * C2) x class"Heading">
<lass="GAPprompt">></span <span class"">G: WreathProduct(GCyclicGroup(,infinity);span
<wild rcwa group over Z with 5 java.lang.StringIndexOutOfBoundsException: Index 40 out of bounds for length 0
<java.lang.StringIndexOutOfBoundsException: Range [23, 5) out of bounds for length 93
"(C3 C2) xF2)wrZ"
<span class="GAPprompt">gap></span> <span class="GAPinput">Collatz
<span class="GAPprompt">gap></span> <span class="GAPinput">G := Group(Collatz,ClassShift(0,1));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">StructureDescription(G:short);</span>
"lt;>Z"
</pre></div>
<p>The extent to which the structure of an rcwa group can be exhibited automatically pReturns:a string sometimesgivesa the of rcwagroup var =ArgG</var./p>
<p>The order of an rcwa group can be computed by java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G := Groupjava.lang.StringIndexOutOfBoundsException: Index 72 out of bounds for length 0
<span ="APprompt">&;> < class=GAPinput"> ClassReflection(0,5));</span>
<rcwa group over Z with 3 generators>
<span class="<span class="GAPprompt&;/java.lang.StringIndexOutOfBoundsException: Range [39, 37) out of bounds for length 126
46080
</pre></div>
< rcwa group, an isomorphismto a groupcanbecomputed by<code=""IsomorphismPermGroup>:/p>
<divclass="example><pre>
<span">/span>span class"();>
<panclass""gap&;> <java.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 93
((),1( ) (3), (3 ] -gt [ (,2)345,
</pre></div>
<p>In general the membership problem for rcwa groups is algorithmically unsolvable, see Corollary 4<span class"">gap;</ span =""G: (PSL2ZF2)</pan
<On Info2of< =code<the why the is of givenrcwa group not.</>
<p>The membership test <q><" F2
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G := Group(ClassShift(0,3),ClassTransposition(0,3,2,6));;</span>
<class="GAPprompt">gap></span> <span class="GAPinput"> ClassShift(2,6)^7 * ClassTransposition(0,3,2,6)</span>
<span class="GAPprompt">></span> <span class="GAPinput"> * ClassShift(0,3)^-3 in G;<span">java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 106
<span class=
false
</pre></div>
<p>The conjugacy
<div class="example"><pre>
<span class=GAPprompt"gap&/<spanclass">IsConjugateRCWAIntegers),>
<java.lang.StringIndexOutOfBoundsException: Range [22, 5) out of bounds for length 126
false
<span class="GAPprompt">gap></span> <span class="GAPinput">IsConjugate(CT(Integers),ClassTransposition(0,2,1,6),</span>
<span class="GAPprompt">></span> <span class="GAPinput"> ClassTransposition(1,4,0,8));</span>
<span java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 5
<
<rcwa permutation of Z with modulus 48java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<panclass""gt;span span class""(0,,,6)g = (,4,,8</span
true
</pre></div>
<p>There is a property <code class="<pan java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 93
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<></span><span class="APinput"H:= ClassTransposition(,1ClassShift1,);</pan>
<span class="java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 0
true
<span class="GAPprompt">gap></span> <span class="GAPinput">IsTame(H);</span>
false
<pre></iv
<p>For div "example">pre
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class= class=G"&t;<span < class=GAPinput" * ClassShift(,)^- ;</span
< "GAPprompt>gap>/><span =GAPinputG);/>
false
<span class="GAPprompt">gap></span> <span class="GAPinputjava.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 5
true
<span class="GAPprompt">gap></span> <span class="GAPinput">D1 := DerivedSubgroup
<java.lang.StringIndexOutOfBoundsException: Range [0, 5) out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [87, 4) out of bounds for length 4
<span class="GAPprompt"<spanclass">&;/span span class""> lassTransposition(0,2,14,ClassShift(0,1));</span>
infinity
9
<span class
( xx).S3
"(Z x Z) . class="gt<span (4,,)/span
<pan""&;/>spanjava.lang.StringIndexOutOfBoundsException: Range [51, 50) out of bounds for length 80
Group([ (), (1,2,4)(3,5,7)(6,8,9), (1,3,6)(2,5,8)(4,7,9) ])
<pan=>java.lang.StringIndexOutOfBoundsException: Range [87, 82) out of bounds for length 94
"C3 x C3"
<span class="GAPprompt">gap></span> <span class="GAPinput">Exponent(G);</span>
infinity
<span class="GAPprompt">gap></span> <span class="GAPinput">phijava.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
< java.lang.StringIndexOutOfBoundsException: Range [13, 11) out of bounds for length 117
[ [ 0, 0, 1/2, -1/2, 0, 0 ],
[ 0, 0, 0, 1, 0, 0 ],
[ 2, 1, 0, 0, 0java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
[0,1,0,0 0,0],
[ 0, 0, 0, 0, 1, 0 ],
[0,, , 0,, ,1 ]]
</pre></div>
<p>When investigating a group, a basic task is to find relations among the generators:</p>
<p><a id="X83527DA37C5CB2C7" name="X83527DA37C5CB2C7"></a></p>
<java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
<div class=java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; <pFor tame rcwa groups, there are methods for <code class=""IsSolvableGroup</code> and <code class="code">IsPerfectGroup</code> available, and usually derived subgroups and subgroup indices can be computed as well. Linear representations of java.lang.StringIndexOutOfBoundsException: Index 251 out of bounds for length 0
<p>Returns: an epimorphism from a finitely presented group to the rcwa group <var class="Arg">G</var>.</p>
<p>java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
<div class="java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
<span class="GAPprompt">gap></span> <span class="GAPinput">a := ClassTransposition(2,4"(Z Z x Z) . S3"
<span ""gap&;span><class"GAPinputb := ClassTransposition(4,6,8,12);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">c := ClassTransposition(3,4,4,6);;</span>
<span class="GAPprompt"><pan class"java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 94
&(2()3(),((6,8)3,)gt
<span class="GAPprompt">gap></span> <span class="GAPinput">phi := EpimorphismFromFpGroup(
#I there are 3 <pan ="GAPpromptgap&t;/span> java.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 103
Ithereare and oftotallength312
[ a, b, c ] -> [ ,0 /2, -1/2, 0, 0]
<span class="[ 0, 0, 0, ,1, 0 0 ],
[^, (ab*c*b)^3, (a*c*b*)3,
(a*b*a*c)^12, ((a*b)^2*a*c)^12, (a*b*(a*c)^2)^12, (a*b*c*a*c*b)^12 ]
</pre></div>
<p>A related very common task is to<pre</iv
<p><a id="X8463E34286344F06" name="X8463E34286344F06"><
<h5
<div class="func"><table div class="func"><table classfunc" " width="100%"><tr><td class="tdleft"<code class="func">‣ EpimorphismFromFpGroup</code>( <var class="Arg">G</var>, <var class="Arg">r</var> )</td><td class="tdright">( method )</td></tr></table></div>
<Returns: a representative of the set of preimages of <var class="Arg">g</var> under the epimorphism <var class="Arg">phi</var> from a free group to an rcwa group.</p>
<p>The epimorphism <var class="Arg">phi</var> must map the generators of the free group to the generators of the rcwa group one-by-one.</p>
<p>This method can be used for factoring elements of rcwa groups into generators. The implementation is based on <code class="code">RepresentativeActionPreImage</code>, see <code class="func">RepresentativeAction</code> (<a href="chap3_mj.html#X87A3462C82FD376E"><span class="RefLink">3.3-10</span></a>).</p>
<p, computingseveralpreimages isnot harder than computing just one, i.e. often several preimages are found simultaneously. The operation <code class="code">PreImagesRepresentatives</code> takes care of this. It takes the same arguments as <code class="code">PreImagesRepresentative</code> and returns a list of preimages. If multiple preimages are found, their quotients give rise to nontrivial java.lang.StringIndexOutOfBoundsException: Index 419 out of bounds for length 0
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">a := RcwaMapping([[2,0,3],[4,-1,3],[4,1,3]<pan class"GAPprompt">></ < "GAPinput"c:= java.lang.StringIndexOutOfBoundsException: Range [86, 85) out of bounds for length 103
<span class="GAPprompt">gap></span> <span class="GAPinput">b := ClassShift(0,1);; span class="GAPprompt">gap></span> <span class="GAPinput">phi := EpimorphismFromFpGroup(G,6);</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">G := Group(a,b);; # G = [a,b, c]-;[( 2(4,3( () 812)), 34)]
<span class="GAPprompt">gap& a^, ^ c^, c^3,ab6,(a**)^, **bc^3,
< class="">gt<span>span ="GAPinput"g:=Comm(^2*4,b3;asampleelementtobe <span
<rcwa permutation of Z with modulus 8>
<span class="GAPprompt">gap></span> <span java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 0
b3b-^1^b3**^-1*b^3
<span class="GAPprompt">gap></span> <span class="GAPinput">g = b^-4*a^-1*b^-1*a^-1*b^3*a*b^-1*a*b
<span class="GAPprompt">gap></span> <span class="GAPinput">g := Comm(a*b,Comm(a,b^3));</span>
&; permutationof Z with &;
<= PreImagesRepresentativesspan>
[ (b^-1*a^-1)^2*b^2*(b*a)^2*b^-2, b^-1*(a^-
<span class="GAPprompt">gap></span> <span class="GAPinput">rel := pre[1]/pre[2]; # -> a nontrivial relation</span>
(^*a-)^3a^*-*b^*b-*a^*java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
<span
tityMapping(Integers )
</panclass=GAPprompt">gapgt;/span><span ="APinput>a := cwaMapping([,,3][4,-1,][413]); (a,"";</span>
<p><a id="X8151BE577FFDCE87" name="X8151BE577FFDCE87"></a></p>
<h4>3.3 <span class="Heading">
The naturalspan class""gap&;/<span "phi java.lang.StringIndexOutOfBoundsException: Range [94, 93) out of bounds for length 105
</span></h4>
<>java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 342
<p>The support, i.e. the set of moved points, of an rcwa group can be determined by <code class="code">Support</code> or <code class="^-3*b^1a^1)^)^*b^*a*b^1*ab^3
<div class="example"><pre>
<span class=true
<panclass"GAPprompt&t</span span classGAPinput">IsTransitive(G,Integers);</span>
true
<>/div
<p>Groupsb-1^1)2*^
<dl>
<dt><strong class="Mark"><code class="code">phi</code></strong></dt>
<dd><pis an epimorphismfroma group to <var class="to var class=""G<var> java.lang.StringIndexOutOfBoundsException: Range [77, 76) out of bounds for length 111
</dd>
<dt><strong class="Mark"><code class="code">words</code>, <code class="code">classes</code></strong></dt>
<dd. -- <codeclass="code">words[i]</code> is a preimage under <code class="code">phi</code> of an element of <var class="Arg">G</var> which maps all sufficiently large positive integers in the residue classes <code class="code">classes[i]</code> toIdentityMapping( Integers )
</
< class=""<class">mallpointbound/code</strong>/dtjava.lang.StringIndexOutOfBoundsException: Index 80 out of bounds for length 80
<dd<pin addition tofinding list ofgroupelements< class"SimpleMath"\(_)</ thatforany largeenoughinteger<java.lang.StringIndexOutOfBoundsException: Range [140, 139) out of bounds for length 535
</dd>
<dt><strong class="Mark"><code class="code">status</code></strong></dt>
<dd><p>the string <code class="code">"transitive"</code> in case all checks have been completed successfully.</p>
</dd>
<java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 0
<>p<odeclass>true/>in caseall been java.lang.StringIndexOutOfBoundsException: Range [90, 89) out of bounds for length 94
</dd>
</dl>
<p>Groups generated class transpositionsofthe the of integers There isproperty < class=code" java.lang.StringIndexOutOfBoundsException: Range [294, 293) out of bounds for length 852
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G := Group(List([[0,2,1,2],[0,3,2,3],[1,2,2,4]],</span>
<span class="GAPprompt">></span> <span class="GAPinput"> ClassTransposition));</span>
&12,24)&;
<class">gt;/><java.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 115
true
<java.lang.StringIndexOutOfBoundsException: Range [6, 5) out of bounds for length 96
rec(
classes := [ [ 1(2) ], [ 2(6) ], [ 6(12), 10(12) ], [ 0(12) ],
412)]],:=true,java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
phi := [ a, b, c ] -> [ ( 0(2), 1(2) ), ( 0(3), 2(3) ), ( 1(2), 2(4) )
], smallpointbound := 4, status := "transitive",
words := [ a, b, c, b*c, a*b ] )
<dt>< =Mark"<codeclasscode"/>/java.lang.StringIndexOutOfBoundsException: Range [75, 74) out of bounds for length 80
:= [[ 1() ,[24)] ()] [012) 812)]]
complete := true,java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
phi := [ a, b, <><thestring < ">"/>incaseall have java.lang.StringIndexOutOfBoundsException: Range [86, 85) out of bounds for length 113
]java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 73
words := [ a, c, a*b, b*c ] )
<span class="GAPprompt">gap></span> <span class="
<span class="GAPprompt">></span> <span class="GAPinput"> ClassTransposition)); # '3n+1 group'</span>
<(02),12)((),()(()26)t
<span class="GAPprompt">gap></span> <span class="GAPinput">cert := TryToComputeTransitivityCertificate
rec(
java.lang.StringIndexOutOfBoundsException: Range [18, 9) out of bounds for length 73
(),1624) , java.lang.StringIndexOutOfBoundsException: Range [46, 44) out of bounds for length 46
phi: ,b -> (02) 1() , (2) ()) (() ())java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
], remaining := [ 12(48), 28(48), 52(96), 84(96) ],
smallpointbound := 42, status := "unclear",
words := [ a, b, (a*c)^2*bgt</> < =GAPinput">IsTransitiveOnNonnegativeIntegersInSupport(G);</span>
<span class="GAPprompt">gap&
<union of 90 residue classes (mod 96) (6 classes)>
<java.lang.StringIndexOutOfBoundsException: Range [87, 5) out of bounds for length 116
12(48) U 28(48) U 52(96) U 84(96)
< ">&;/>< ="java.lang.StringIndexOutOfBoundsException: Range [61, 60) out of bounds for length 138
rec(
: ()], ( ,432), 24, 4(48) (6 ,
[024))][(768),268() ] [28768,(768 ]
complete := false,
:[a,, c] &; ( 0(2,1) ), ( 12,24) ,(1(4),2(6) )
],
remaining := [ 52(96), 84(96), 60(192), 108(192), 124(192), 172(192),
76384) 204(384) 220(, 348384, () 396)
412(768), 652(768) ], smallpointbound := 1074, status := "unclear",
java.lang.StringIndexOutOfBoundsException: Range [18, 7) out of bounds for length 63
(a*c)^4*b*a*b*a*b ] )
<span class="GAPpromptphi : , ]-gt 2), 1()), (03),23) , (1() 24))
<union of 44 residue classes (mod 768) (14 classes)>
<span class="GAPprompt">gap></span> <java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 31
,60, 76,]
<></>
<p>Let <var lt;(0()1()(2)(),(()26)gt;
<dl>
<>< ""> class"ode><code</strong></dt
<dd><classes:=[ 2) ] ] [ 4()] 8(), (), 2096 ]
<dd>
<>strong="">code=">Dcode</java.lang.StringIndexOutOfBoundsException: Range [63, 60) out of bounds for length 66
<dd><p>A list of residue class unions whose union is a (< class"APpromptgap&;java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 95
</dd>
<dt><strong class="Mark"><code class="code">
<dd><p>Alist elements var ArgG<var> that<java.lang.StringIndexOutOfBoundsException: Range [76, 75) out of bounds for length 263
</dd>
<dt><strong class="Mark>codeclass=code"phi/code></trong></dt>
<dd><p>An epimorphism from a free group <code class="code">F</code> of rank the number of generators of <var class="Arg">G</var> to <var class="Arg">G</var> which maps generators to generators.</p>
</>
<dt><strong class="Mark"><code[0() (24),[12(, 268( [ 28() (768)]],java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
<d>>A list ofwords <code class"ode>wi]/code in <code="code"</ such that <java.lang.StringIndexOutOfBoundsException: Range [101, 100) out of bounds for length 207
</dd>
</dl>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G := Group(ClassTransposition(1,3,2,3),ClassTransposition(3,4,4,6),</span>
<span class="GAPprompt">> ],java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8
<(1(3),2(3)),(3(4),4(6)),(2(4),1(6))>
<span class="GAPprompt">gap></span> <span class="GAPinput">R := SupersetOfOrbitRepresentatives(G,4,6);</span>
rec( D := [ 2(3), 4(6), 1(6) ], R := 0(3) U [ 1 ],
g :=
[ ( 1(3), 2(3) ), <rcwa permutation of Z with modulus 12 and
< class"GAPprompt>&;/span><span class="GAPinput>(Integers,nion((cert.classes)));</span
5 affine sidueclasses (mod) (14 classes)gt
: b,c ]->[( 1() 2(3) ), ( 3(), 4() ), ( 2(2(, 1(6) ],
w := [ a, b, c ] )
</pre></div>
<p>Further, there are methods to compute orbits under the action of an rcwa group:</p>
<<dl>
<h5>3.3-1 <span class="Heading"> Orbit (for an rcwa group and the smallest of all the of ="rg>G<var on nonnegative integers. The parameters <var class="Arg">maxsaddle</var> and <var class="Arg">maxprog</var> can be used to control the size of this set. In general, larger values may make the set smaller.
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; Orbit</code>( <var class="Arg">G</var>, <varjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; Orbit</code>( <var class="Arg">G</var>, <var class="Arg">set</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: the orbit of the point <var class="Arg">point</var> respectively the set <var class="Arg">set</var> under the natural action of the rcwa group <var class="Arg">G</var> on its underlying ring.</p>
<p>The second argument can either be an element or a subset of the underlying ring of the rcwa group <var class="Arg">G</var>. Since orbits under the action of rcwa groups can be finite or infinite, and since infinite orbits are not necessarily residue class unions, the orbit may either be returned in the form of a list, in the form of a residue class union or in the form of an orbit object. It is possible to loop over orbits returned as orbit objects, they can be compared and there is a membership test for them. However note that equality and membership for such orbits cannot always be decided.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G := Group(ClassShift(0,2),ClassTransposition(0,3,1,3));</span>
<rcwa group over Z with 2 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">Orbit(G,0);</span>
Z \ 5(6)
<span class="GAPprompt">gap></span> <span class="GAPinput">Orbit(G,5);</span>
[ 5 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Orbit(G,ResidueClass(0,2));</span>
[ 0(2), 1(6) U 2(6) U 3(6), 1(3) U 3(6), 0(3) U 1(6), 0(3) U 4(6),
1(3) U 0(6), 0(3) U 2(6), 0(6) U 1(6) U 2(6), 2(6) U 3(6) U 4(6),
1(3) U 2(6) ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Length(Orbit(G,ResidueClass(0,4)));</span>
80
<span class="GAPprompt">gap></span> <span class="GAPinput">G := Group(ClassTransposition(0,2,1,2),ClassTransposition(0,2,1,4),</span>
<span class="GAPprompt">></span> <span class="GAPinput"> ClassReflection(0,3));</span>
<rcwa group over Z with 3 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">orb := Orbit(G,2);</span>
<orbit of 2 under <wild rcwa group over Z with 3 generators>>
<span class="GAPprompt">gap></span> <span class="GAPinput">1015808 in orb;</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">First(orb,n->ForAll([n,n+2,n+6,n+8,n+30,n+32,n+36,n+38],IsPrime));</span>
-19
</pre></div>
<p><a id="X7B7A3AF97D195E33" name="X7B7A3AF97D195E33"></a></p>
<h5>3.3-2 GrowthFunctionOfOrbit</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; GrowthFunctionOfOrbit</code>( <var class="Arg">G</var>, <var class="Arg">n</var>, <var class="Arg">r_max</var>, <var class="Arg">size_max</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; GrowthFunctionOfOrbit</code>( <var class="Arg">orb</var>, <var class="Arg">r_max</var>, <var class="Arg">size_max</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: a list whose (<span class="SimpleMath">\(r+1\)</span>)-th entry is the size of the sphere of radius <span class="SimpleMath">\(r\)</span> about <var class="Arg">n</var> under the action of the group <var class="Arg">G</var>, where the argument <var class="Arg">r_max</var> is the largest possible radius to be considered, and the computation stops once the sphere size exceeds <var class="Arg">size_max</var>.</p>
<p>An option <code class="code">"small"</code> is interpreted -- see example below. In place of the group <var class="Arg">G</var> and the point <var class="Arg">n</var>, one can pass as first argument also an rcwa group orbit object <var class="Arg">orb</var>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">G := Group(List([[0,4,1,4],[0,3,5,6],[0,4,5,6]],ClassTransposition));</span>
<(0(4),1(4)),(0(3),5(6)),(0(4),5(6))>
<span class="GAPprompt">gap></span> <span class="GAPinput">GrowthFunctionOfOrbit(G,18,100,20);</span>
[ 1, 1, 2, 3, 4, 3, 4, 4, 4, 4, 3, 3, 3, 4, 3, 4, 4, 5, 5, 6, 8, 6, 5,
5, 4, 3, 3, 4, 4, 4, 3, 3, 5, 4, 5, 6, 5, 2, 3, 3, 2, 3, 3, 4, 5, 4,
4, 4, 6, 5, 5, 3, 4, 2, 3, 4, 4, 2, 3, 4, 4, 2, 3, 3, 4, 3, 5, 3, 5,
4, 5, 6, 5, 3, 4, 5, 6, 5, 4, 3, 5, 4, 5, 5, 4, 4, 5, 5, 3, 4, 5, 3,
3, 4, 5, 4, 2, 3, 4, 4, 4 ]
<span class="GAPprompt">gap></span> <span class="GAPinput">last = GrowthFunctionOfOrbit(Orbit(G,18),100,20);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">GrowthFunctionOfOrbit(G,18,20,20:small:=[0..100]);</span>
rec( smallpoints := [ 18, 24, 25, 27, 30, 32, 33, 36, 37, 39, 40, 41,
42, 44, 45, 48, 49, 51, 52, 53, 56, 57, 59, 60, 61, 64, 65, 66,
68, 69, 71, 75, 76, 77, 80, 81, 83, 88, 89, 92, 93, 95, 100 ],
spheresizes := [ 1, 1, 2, 3, 4, 3, 4, 4, 4, 4, 3, 3, 3, 4, 3, 4, 4, 5,
5, 6, 8 ] )
<span class="GAPprompt">gap></span> <span class="GAPinput">G := Group(List([[0,2,1,2],[1,2,2,4],[1,4,2,6]],ClassTransposition));</span>
<(0(2),1(2)),(1(2),2(4)),(1(4),2(6))>
<span class="GAPprompt">gap></span> <span class="GAPinput">GrowthFunctionOfOrbit(G,0,100,10000);</span>
[ 1, 1, 1, 1, 1, 1, 1, 2, 3, 3, 4, 5, 7, 6, 7, 9, 12, 14, 19, 21, 28,
29, 37, 42, 55, 57, 72, 78, 99, 113, 148, 164, 215, 226, 288, 344,
462, 478, 612, 686, 894, 985, 1284, 1416, 1847, 2018, 2620, 2902,
3786, 4167, 5432, 5958, 7749, 8568, 11178 ]
</pre></div>
<p>Given an rcwa group <var class="Arg">G</var> over ℤ and an integer <var class="Arg">n</var>, <code class="code">DistanceToNextSmallerPointInOrbit(</code><var class="Arg">G</var><code class="code">,</code><var class="Arg">n</var><code class="code">)</code> computes the smallest number <span class="SimpleMath">\(d\)</span> such that there is a product <span class="SimpleMath">\(g\)</span> of <span class="SimpleMath">\(d\)</span> generators or inverses of generators of <var class="Arg">G</var> which maps <var class="Arg">n</var> to an integer with absolute value less than |<var class="Arg">n</var>|, provided that the orbit of <var class="Arg">n</var> contains such integer. <strong class="pkg">RCWA</strong> provides a function to draw pictures of orbits of rcwa groups on <span class="SimpleMath">\(ℤ^2\)</span>. The pictures are written to files in bitmap- (bmp-) format. The author has successfully tested this feature both under Linux and under Windows, and the generated pictures can be processed further with many common graphics programs:</p>
<p><a id="X7D9DFAC97F9F0891" name="X7D9DFAC97F9F0891"></a></p>
<h5>3.3-3 DrawOrbitPicture</h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; DrawOrbitPicture</code>( <var class="Arg">G</var>, <var class="Arg">p0</var>, <var class="Arg">bound</var>, <var class="Arg">h</var>, <var class="Arg">w</var>, <var class="Arg">colored</var>, <var class="Arg">palette</var>, <var class="Arg">filename</var> )</td><td class="tdright">( function )</td></tr></table></div>
<p>Returns: nothing.</p>
<p>Draws a picture of the orbit(s) of the point(s) <var class="Arg">p0</var> under the action of the group <var class="Arg">G</var> on <span class="SimpleMath">\(ℤ^2\)</span>. The argument <var class="Arg">p0</var> is either one point or a list of points. The argument <var class="Arg">bound</var> denotes the bound to which the ball about <var class="Arg">p0</var> is to be computed, in terms of absolute values of coordinates. The size of the generated picture is <var class="Arg">h</var> x <var class="Arg">w</var> pixels. The argument <var class="Arg">colored</var> is a boolean which indicates whether a 24-bit true color picture or a monochrome picture should be generated. In the former case, <var class="Arg">palette</var> must be a list of triples of integers in the range <span class="SimpleMath">\(0, \dots, 255\)</span>, denoting the RGB values of the colors to be used. In the latter case, <var class="Arg">palette</var> is not used, and any value can be passed. The picture is written in bitmap- (bmp-) format to a file named <var class="Arg">filename</var>. This is done using the utility function <code class="code">SaveAsBitmapPicture</code> from <strong class="pkg">ResClasses</strong>.</p>
<div class="example"><pre>
<span class="GAPprompt">gap></span> <span class="GAPinput">PSL2Z := Image(IsomorphismRcwaGroup(FreeProduct(CyclicGroup(2),</span>
<span class="GAPprompt">></span> <span class="GAPinput"> CyclicGroup(3))));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">DrawOrbitPicture(PSL2Z,[0,1],2000,512,512,false,fail,"example1.bmp");</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">DrawOrbitPicture(PSL2Z,Combinations([1..4],2),2000,512,512,true,</span>
<span class="GAPprompt">></span> <span class="GAPinput"> [[255,0,0],[0,255,0],[0,0,255]],"example2.bmp");</span>
</pre></div>
<p>The pictures drawn in the examples are shown on <strong class="pkg">RCWA</strong>'s webpage.</p>
<p>Finite orbits give rise to finite quotients of a group, and finite cycles can help to check for conjugacy. Therefore it is important to be able to determine them:</p>
<p><a id="X78F145197F63A25D" name="X78F145197F63A25D"></a></p>
<h5>3.3-4 <span class="Heading">
ShortOrbits (for rcwa groups) & ShortCycles (for rcwa permutations)
</span></h5>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; ShortOrbits</code>( <var class="Arg">G</var>, <var class="Arg">S</var>, <var class="Arg">maxlng</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; ShortOrbits</code>( <var class="Arg">G</var>, <var class="Arg">S</var>, <var class="Arg">maxlng</var>, <var class="Arg">maxn</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; ShortCycles</code>( <var class="Arg">g</var>, <var class="Arg">S</var>, <var class="Arg">maxlng</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; ShortCycles</code>( <var class="Arg">g</var>, <var class="Arg">S</var>, <var class="Arg">maxlng</var>, <var class="Arg">maxn</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">an style='color: green'>8227; ShortCycles</code>( <var class="Arg">g</var>, <var class="Arg">maxlng</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: in the first form a list of all orbits of the rcwa group <var class="Arg">G</var> of length at most <var class="Arg">maxlng</var> which intersect non-trivially with the set <var class="Arg">S</var>. In the second form a list of all orbits of the rcwa group <var class="Arg">G</var> of length at most <var class="Arg">maxlng</var> which intersect non-trivially with the set <var class="Arg">S</var> and which, in terms of euclidean norm, do not exceed <var class="Arg">maxn</var>. In the third form a list of all cycles of the rcwa permutation <var class="Arg">g</var> of length at most <var class="Arg">maxlng</var> which intersect non-trivially with the set <var class="Arg">S</var>. In the fourth form a list of all cycles of the rcwa permutation <var class="Arg">g</var> of length at most <var class="Arg">maxlng</var> which intersect non-trivially with the set <var class="Arg">S</var> and which, in terms of euclidean norm, do not exceed <var class="Arg">maxn</var>. In the fifth form a list of all cycles of the rcwa permutation <var class="Arg">g</var> of length at most <var class="Arg">maxlng</var> which do not correspond to cycles consisting of residue classes.</p>
<p>The operation <code class="func">ShortOrbits</code> recognizes an option <var class="Arg">finite</var>. If this option is set, it is assumed that all orbits are finite, in order to speed up the computation. If furthermore <var class="Arg">maxlng</var> is negative, a list of <em>all</em> orbits which intersect non-trivially with < | |