Eine aufbereitete Darstellung der Quelle

 
     
 
 
Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 

Benutzer

Quelle  chap3_mj.html

  Sprache: HTML
 

 products/Sources/formale Sprachen/GAP/pkg/rcwa/doc/chap3_mj.html


 ="javascript"script

<!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?confighead
<>
<title>GAP (RCWA) - Chapter 3: Residue-Class-Wise Affine
<-equiv="type"contenttext/html java.lang.StringIndexOutOfBoundsException: Range [60, 59) out of bounds for length 69
< name=generator =""/>
<link rel="stylesheet" type="text/css" href="manual.css" />
<".jsjs"type""<script>
<script type="text/javascript">overwriteStyle();</script>
</head>
<body class="chap3"  onload="jscontent()">


<div< java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 136

<div class="chlinkprevnexttop"> <a href="chap0_mj.html">[Top of Book]</a>   <a href="chap0_mj.html#contents">[Contents]</a>    <a

<p id="mathjaxlink" class="pcenter"><a href="chap3.html">[MathJax off]</a></p><="</ "java.lang.StringIndexOutOfBoundsException: Range [46, 45) out of bounds for length 146
<p><a id="X874A3BB684F0639A" name="X874A3BB684F0639A"></a></p>
<div class="ChapSects"><a href="chap3_mj.html#X874A3BB684F0639A">3 <span class= estrictionof anrcwamapping group,byan   java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 76
<divclass"ContSect"<span class""<span class""&;span>a =chap3_mj.tml#">31 span class"">Constructing residue-classwise  </>/a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7EB8A301790290C7">3.1-1 IsomorphismRcwaGroup</a></span>
<pan class="">;&bsp;/span>< href=chap3_mj.html#X79CAE48981C11FE8">3.1-2 DirectProduct</a></span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X80D13D2A7AD73C2C">3.1-3 <span class="Heading">
    an>
    n "ontSS">< ><span ="ocss"&bsp&;/>a href=chap3_mj.html>.-java.lang.StringIndexOutOfBoundsException: Range [121, 118) out of bounds for length 129
  </span></a>
</span>
<span class="ContSS"><br /><span class="nocss">  <>/iv>
<span class="ContSS"><br /<span ="nocss">  <;</span<a java.lang.StringIndexOutOfBoundsException: Range [75, 73) out of bounds for length 146
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X852EF2C079E4D7FF">3.1-6 <span class="Basic routinesfor  --java.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 67
    Restriction (of an rcwa mapping or -group, by an injective rcwa mapping)
  </span></a>
/spanjava.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
<span ""<br>span "">nbsp /pan><ahref="chap3_mj.html#82171D7287CBED95">3.1-7 <span class="Heading">
    Induction (of an rcwa mapping or -group, by an injective rcwa java.lang.StringIndexOutOfBoundsException: Range [0, 73) out of bounds for length 60
  />/>
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X79450C1C8756FEB3">3.1-8 RCWA</a></span>
<class""< /spanclass=nocss"> ;</span> =chap3_mjX7B7A3AF97D195E33>3.32 GrowthFunctionOfOrbit</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3_mj.html#X80C042BE82EE0F9A">3.2 <span class="Heading">
  Basic  forinvestigating residue-wise 
</span></a>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  /span><ahref=hap3_mj.htmlX78F145197F63A25D"33-4 < class=Heading">
<"ContSS"<r/< class="" nbsp;/>a href=chap3_mj.html#>3.-EpimorphismFromFpGroupa<span
/>
<</div
<div class=" amp; ShortResidueClassCycles
  Thespan
<>/a
<span=>/ =>java.lang.StringIndexOutOfBoundsException: Range [65, 52) out of bounds for length 155
< class="ContSSBlock
<span class="ContSS"><brjava.lang.StringIndexOutOfBoundsException: Range [11, 5) out of bounds for length 136
</span>
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7B7A3AF97D195E33 ( ,  radiusor group, point,radius and action)
<span class="/>
<spanclass"ContSS"<r/<span class="nocss"&;&;</java.lang.StringIndexOutOfBoundsException: Range [66, 65) out of bounds for length 136
    for rcwa) amp;ShortCycles  )
  </span></a>
</span>
<span class="ContSS"><br /><span class="<="/ =>n;/span>a".#866843"3. RepresentativeActiona>/span
    ShortResidueClassOrbits & ShortResidueClassCycles
  </span></a>
</span>
<span class="ContSS"><br /><
<panjava.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 155
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X8777A62286597D53">3.3-8 FixedResidueClasses</a></span>
<span class="span class"ContSS">br /<class="nocss>nbsp;&bsp<span> java.lang.StringIndexOutOfBoundsException: Range [74, 73) out of bounds for length 136
    Ball (for group, elementofa groupor-permutation)
  </span></a>
</span>
<span class="ContSS"><br /><span class="nocss">&java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 13
<span class=""><br /<span class="nocss">  </span><a href="chap3_mj.html#X8587246A7F890849">3.3-11 ProjectionsToInvariantUnionsOfResidueClasses</a></span>
<pan class=ContSS"<br /><span class="nocss">  </span><a href="chap3_mj.html#X866843D08213067E">3.3-12 RepresentativeAction</a></span>
<span class=ContSS>br class="nocss">&bsp;nbsp;</span>ahref="chap3_mj.html#X82DBAF35788FA239">3.3-13 CollatzLikeMappingByOrbitTree</a></span>
</div></div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3_mj.html#java.lang.StringIndexOutOfBoundsException: Index 117 out of bounds for length 7
  Special attributes of tame residue-
</span></div>
</span>
<div class="ContSSBlock">
<span class="ContSS"><br /><span class="nocss">  </span><a href="chap3_mj.html#X7F523A6B87825AB8">3.4-1 <span class="Heading">
    RespectedPartition (of a tame rcwa group or -permutation
  </span></a>
</span>
<span class="ContSS"><br />
    java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 0
  </span></a>
</span>
</div></div>
< ="">< =java.lang.StringIndexOutOfBoundsException: Range [50, 49) out of bounds for length 210
<span
</div>
<div class="ContSect"><span class="tocline"><span class="nocss"> </span><a href="chap3_mj.html#X86327F6C83D09798">3.6 <span class="Heading">The categories of residue-class-wise affine groups</span></a>
</span>
<div class="ContSSBlocklt;rcwa group  Zwith 2 generators&;
<span class=t
</div></div>
</div>

<>3span class"eading>--  <span>/h3

<p>In this chapter, we describe how to construct residue

<p><a id="X81242A6586A604A3" name="X81242A6586A604A3"></a></p>

<h4>3.1 <span <iv class"table =var )/< class=java.lang.StringIndexOutOfBoundsException: Range [180, 179) out of bounds for length 228

<p>As any other groups in <strong class="pkg">GAP</strong>, residue-class-wise affine (rcwa


<div class="example"><pre>

<span class="GAPprompt">gap>
<rcwa group over Z with 2 generatorsjava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 0
<span class="GAPprompt">gap> =java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 105
e
infinityspanclass">&;<span span =GAPinput"IsomorphismRcwaGroupF;span

false&;permutation modulus 24gt;java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48

</pre></div>

<p>An rcwa group isomorphic to a given group can be obtained by taking the image<rcwa permutation ofZ with modulus72gt;,

<p><a id="span class="GAPprompt>span><spanclass="GAPinput">IsomorphismRcwaGroup(FreeGroup(2));</span>

<h5>3.1-1 IsomorphismRcwaGroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class=< =">&;<span < =GAPinput">  generators
="=func" ="%><><d  =dleft"><ode class"">#8227; IsomorphismRcwaGroup/>(< class="">G/var> )</td><td class="tdright">( ttribute )/td></tr></able></div>
<p>Returns: a monomorphism from the group <var class="Arg">G

<p>The best-supported case is <var class="Arg">R</var> = ℤ. Currently there are methods available for finite groups, for free java.lang.StringIndexOutOfBoundsException: Index 132 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>
<span class="GAPprompt">></span> <span class="GAPinput">                       arguments./p>
&t; group on  generators[f1,,f3, f4f5 &t;
<span class="GAPprompt">gap></span> <span class="GAPinput">IsomorphismRcwaGroupjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
[ f1, f2, f3, f4, f5 ] -> [ <rcwa permutationjava.lang.StringIndexOutOfBoundsException: Range [6, 5) out of bounds for length 99
  <rcwa <wild rcwa group ovwith&;
  <rcwa permutation of Z with modulusgap&/pan<class=>(Projection,1)= ;/>
  <rcwa permutation of Z 
  <rcwa permutation of Z
< class"GAPprompt">apgt;/><spanclass=GAPinput">IsomorphismRcwaGroup(FreeGroup(2));</span>
[ f1, f2 ] -> [ <wild rcwa permutation of Z with modulus 8>,
  <wild rcwa permutation of Z with java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 0
<span class="GAPprompt">gap></span> <span class="GAPinput">F2 := Image(last);</span>
&twild rcwagroupover Z with 2 generators>

</pre></div>

<p>Further, new rcwa groups can be constructed from given ones by taking direct products and by taking wreathWreathProduct

< class"unc"><table="unc width=100"<><="tdleft>code class"unc>#8227;WreathProduct</code < =Arg></var> <var =Arg"P> )/>td class=tdright">(nbsp;ethod )/>/tr<table</div

<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>div  class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#8227; WreathProduct</code>( <var class="Arg">G</var>, <var class="Arg">ZpReturns:an  isomorphictothe productofthe  group varclass"Arg"><var>overℤ thejava.lang.StringIndexOutOfBoundsException: Range [125, 124) out of bounds for length 245
<p>Returns: an rcwa group isomorphic to the direct product of the rcwa groups over ℤ given as arguments.</p>

<p>There is certainly no unique or canonical way to embed a direct product of rcwa groups into RCWA(ℤ). This method chooses to embed the groups <var class="Arg">G1</var>, <var class="Arg">G2</var>, <var class="Arg">G3</var> ... via restrictions by <span class="SimpleMath">\(n \mapsto mn\)</span>, <span class="SimpleMath">\(n \mapsto mn+1\)</span>, <span class="SimpleMath">\(n \mapsto mn+2\)</span> ... (<span class="SimpleMath">\(\rightarrow\)</span> <code class="func">Restriction</code> (<a href="chap3_mj.html#X852EF2C079E4D7FF"><span class="RefLink">3.1-6</span></a>)), where <span class="SimpleMath">\(m\)</span> denotes the number of groups given as arguments.</p>


<div

<span ="GAPprompt">ap&t> <spanclassGAPinput"F2: Image(IsomorphismRcwaGroup(somorphismRcwaGroup(FreeGroup(2)));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">F2xF2 := DirectProduct(F2,F2);</span>
<wild rcwa group over Z with 4 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">Image(Projection(F2xF2span ="GAPprompt"gap>/span> <span class="GAPinput">F2wrA5 := WreathProduct(F2,AlternatingGroup(5));;</span>


</pre&twild rcwapermutationofZ withmodulus 8&t ]-gt

<p><a id[permutationof  modulus 40&t;,

<>3.-3 < class="Heading">
    WreathProduct
    (for an rcwa group over span class="GAPprompt">gap></span> <span class="GAPinput">Embedding(F2wrA5,2);</span>
  </span></h5>

<div class="func"><table class="func" width="100%"><tr><[ (1,2,3,4,5), (3,4,5) ] -> [ ( 0(5), 1(5), 2(5), 3(5),) ), 
<div classfunc><table class="func" width="100%%"<< =tdleft">code class"func"&8227;;WreathProduct</code>( <var class="Arg">G</var>, <var class="Arg">Z</var> )</td><td class="tdright">( method )</td></tr></table></div>
<span class=GAPpromptgap>/>< class" =((lassShift(1)Group(ClassShift(,1));/span>

<p>The first-mentioned method embeds the <codewild groupoverZ with2 gt


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">F2 := Image(IsomorphismRcwaGroup([ClassShift Z )] >
<span class="GAPprompt">apgt<span><span=GAPinput" : WreathProduct(F2,();<span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Embedding(F2wrA5,1);</span>
[ <wild rcwa permutationspan ="APprompt>(2);<span
  <[ClassShift( ) ] -gt [&;wild  permutation of Z withmodulus  4&; ]
[ &re>/>
  <wild java.lang.StringIndexOutOfBoundsException: Range [0, 15) out of bounds for length 0
<span class="GAPprompt">gap></span> <span class="GAPinput">Embedding(F2wrA5,2);</span>
[ (1,2,3,4pAlso, rcwa groups can be obtained as particular extensions of finite permutation groups:</p>
  ( 2(),3(, 4(5))]
<span class="GAPprompt">gap></span> <span class"GAPinput">ZwrZ : (Group((0,1))Group(lassShift0,));/>
&java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 0
<span class="GAPprompt">gap></span> <span class="GAPinput">Embedding(ZwrZ,1);</java.lang.StringIndexOutOfBoundsException: Index 85 out of bounds for length 0
[ClassShift( Z ) ] ->
[ <tame rcwa permutation of Z with modulus 4, of order infinity> ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Embedding(ZwrZ,2);</span>
[ ClassShift(Z )] -> [ <wild rcwa permutation of Z with modulus 4> ]

</pre></div>

<>  java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 95

<p><a id="X8794913B878DD5C4" name="X8794913B878DD5C4

<h5>3.1-4 java.lang.StringIndexOutOfBoundsException: Index 16 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; MergerExtension</code>( <var class="span ="APprompt>gap&t</span><span class="GAPinput">G := MergerExtensionGroup(1,,,3),[1,2],)<span>
<p>Returns: roughly spoken, [ 0()1()23 ,  () 26 ) ( 1() () )]

<p>The arguments span class="GAPprompt">gap></span> <span class="GAPinput">List(B,Length);</span>

<p>Let <span class="span class="GAPprompt">gap><pan class="GAPinput">#</span>


<div class="example"><pre>

<span class=" ="GAPprompt>gt;span><java.lang.StringIndexOutOfBoundsException: Range [50, 44) out of bounds for length 122
<span class="GAPprompt">gap></span> <span class="GAPinput">G lt; over  with3generatorsgt;
<rcwagroupover Z 2 generators>
<span class;span class="GAPinput">GeneratorsOfGroup(G);</span>
infinity
<span class="GAPprompt">gap><4,1(4),
[(0(33,(3 ,  (, 26)) (() ())java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55
<span class="GAPprompt"=java.lang.StringIndexOutOfBoundsException: Range [24, 22) out of bounds for length 100
< >>/> <span class="GAPinput">List(B,Length);</span>
134681216 ]
<span class="GAPprompt"[1,, ,,69, ,413  ]
<span class= =>java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 126
<panclassGAPprompt>></>spanclass=GAPinput"G:MergerExtensionGroup((,2,,),1,),1,],3);</span>
<rcwa group over Z with 3 generators>
<span lass="GAPprompt"&t<span <class="GAPinput">                  ClassTransposition));</span>
infinity
<span class="java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 12
[ ( 0(4), 1s>  possibleto   rcwagroupfromalistofresidueclasses:<>
  ( 0(p><id="java.lang.StringIndexOutOfBoundsException: Range [35, 33) out of bounds for length 62
<span class
<class="">gapgt/><span class"List(Length);</pan
14, ns: groupwhich generated  classtranspositionswhichinterchange  residueclasses  < =""/>.</p
<span class="GAPprompt">gap><p>  < =Arg><varmust aa list  residue .p>
<span class=="APprompt">></span> <span class="GAPinput">                  ClassTransposition));</span>
java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 4

</pre></div>

<p>It is also possible to build an> span"" =java.lang.StringIndexOutOfBoundsException: Range [73, 72) out of bounds for length 127

<p><a id="X8143AB647801F438" name="X8143AB647801F438"></a></p>

<h5>3.1-5 GroupByResidueClasses</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; GroupByResidueClasses</code>( <var class="Arg">classes</var)</td><td class="tdright">( function span "GAPprompt>gt<span spanclass"java.lang.StringIndexOutOfBoundsException: Range [61, 60) out of bounds for length 75
<>java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 150

<p>The argument <var class="Arg">classes</var> must be a list of residue classes.</p>

<p>If the residue classes in <var class="Arg">classes</var> are pairwise disjoint, then the returned group is the symmetric group on <var class="Arg">classes</var>. If any two residue classes in <var class="Arg">classes</var> intersect non-trivially, then the returned group is trivial. In many other cases, the returned group is infinite.</p>


<div 1span=Heading

<span class/span>/h5
";/span< java.lang.StringIndexOutOfBoundsException: Range [49, 47) out of bounds for length 116
<rcwa group over Z with 8 generators>"%"<<java.lang.StringIndexOutOfBoundsException: Range [59, 58) out of bounds for length 245
<panclass""gap&;/spanspan class="GAPinput">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="GAPinput">                   ClassTransposition)); # Thompson's group V</span>
<(0(2),1(2)),(1(2),2(4)),(0(2),1(4)),(1(4),2(4))>
<span class="GAPprompt">gap></span> <span class="GAPinput">G = H;<p<emrestriction<emof  group var =ArgG</  an injective    "Arg">"></arisdefinedas the group    thetherestrictions  the  varclass="rg"G/var  <varclass"rg"f<var.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>/>span class="GAPinput">F2tilde := Restriction(F2,RcwaMapping([[5,3,1]]));</span>
< class"func><">=tdleft><java.lang.StringIndexOutOfBoundsException: Range [80, 79) out of bounds for length 243

</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 ofdiv class="func"><>:java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 185

<p><a id="X852EF2C079E4D7FF" name="X852EF2C079E4D7FF"></a></p>

<h5>3.1-6 <span class="Heading">
    Restriction (of an rcwa div ="java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 26
  </span></h5>

<div class="
<div class="func"><table java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 0
<>: therestriction ofthercwamapping <java.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 187

<p>By definition, the <em>restriction</em> <span class="SimpleMath">\(g_f\)</span> of an rcwa mapping <var class="Arg">g</var> by an injective rcwa mapping <var class="Arg">f</var> is the unique rcwa mapping which satisfies the equation <span class="SimpleMath">\(

<p<restriction<em>of  groupvar class=Arg">G<var  an injectivercwa <varclass=""</aris  the      restrictionsrestrictions  theelementsof <varclass="</> by  ="Arg>f<var java.lang.StringIndexOutOfBoundsException: Range [261, 260) out of bounds for length 414


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">F2tilde := Restriction(F2,RcwaMapping([[5,3,1]]));</span>
<wild rcwa group over Z with java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<span class="GAPprompt">gap></span> <span 
(5)

</span=">;/span"java.lang.StringIndexOutOfBoundsException: Range [58, 57) out of bounds for length 102

<p><a id="X82171D7287CBED95" name="X82171D7287CBED95"></a></p>

<h5>3.1-7 <span class="Heading">
    Inductionof an rcwamapping or -group, by an injective rcwa mapping)
  </span></h5>

funcwidth>""codejava.lang.StringIndexOutOfBoundsException: Range [92, 91) out of bounds for length 243
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; Induction</code>( <var class="Arg">G</var>, <var class="Arg">f</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<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 <java.lang.StringIndexOutOfBoundsException: Index 159 out of bounds for length 0

<p><em>Induction</em> is the right inversepReturns: group RCWA<var class="Arg">/>) of all residue-class-wise affine permutations of the ring <var class="Arg">R</var>.</p>


<pan =""gap&;<>< class=GAPinput"RCWA_Z:=RCWA(Integers);</span>

<span class="GAPprompt">gap></span> <span class="GAPinput">Induction(F2tilde,RcwaMapping([[R(Z)
true

</pre></div>

<p>Oncejava.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4

pare for  < classcode></>< class="Displaycode>, <code class="code">Print</code> and <code class="code">String</code> which are applicable to rcwa groups.</p>

<p>spanclass=GAPpromptgapgt;</> < java.lang.StringIndexOutOfBoundsException: Range [52, 50) out of bounds for length 116


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span[infinity,218 
<span > denotethe group which  generated by all class transpositions of the ring <span class="SimpleMath">\(R\)</span> by CT(<span class="SimpleMath">\(R\)</span>). This group is handled as a java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<rcwa group over Z with 3 generators>
<span class="GAPprompt<div="table  =100%<r>tdclass""><codefunc&#8227; CT/>varclass"">P<ar><var class=>Integersvar><>td=tdright">nbsp;&;<td</tr><table>ivjava.lang.StringIndexOutOfBoundsException: Index 242 out of bounds for length 242
<span class="GAPprompt">></span> <span class="GAPinput">         IsIntegral,IsClassWiseOrderPreserving,IsSignPreserving],f->f(G));</span>
2422, [ 23 ], false, false, false, false ]

</pre></div>

<p>All java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

<p><a id="X79450C1C8756FEB3" name="X79450C1C8756FEB3"></a></p>

<h5>3.1-8 RCWA</h5>

<div java.lang.StringIndexOutOfBoundsException: Index 6 out of bounds for length 4
-class-ise  ofthe java.lang.StringIndexOutOfBoundsException: Range [111, 110) out of bounds for length 140


<div class="example"><pre>

<span class="GAPprompt">gap>CT_[2 ()
RCWA(Z)
<span class="GAPpromptspan =""gap&;span><spanclass="GAPinput">GeneratorsOfGroup(V);</span>
true  021()  ( 1()24))(0() 1((4 )  () 24  ]

</pre></div>

<p>Examples of rcwa permutations can be obtained via <code23]()


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">List([2,105],NrConjugacyClassesOfRCWAZOfOrder);</span>
[ infinity, 218 ]

</pre></div>

<p>We denote

<p><a id="X7BD42D8481300E25" name="X7BD42D8481300E25"></a></p>

<h5>3.1-9 CT<

<divclass=example>pre
<div class="func"><table <span class="GAPprompt">gap> < class=GAPinput"> =ClassTransposition0,,16);<span>
<  group CT(<var class="Arg">R</var>) which is generated by all class transpositions of the ring <var class="Arg">R<span class=GAPprompt"gap&;/pan> <spanclass=GAPinput">irrored(ct;<spanjava.lang.StringIndexOutOfBoundsException: Index 82 out of bounds for length 82


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">CT_Z := CT(Integers);</span>
CT(Z)
<span class="GAPprompt">gap></span> <span class="GAPinput">IsSimpleGroup(CT_Z); # One of a number of stored attributes/properties.</span>
java.lang.StringIndexOutOfBoundsException: Range [11, 12) out of bounds for length 4
<span classjava.lang.StringIndexOutOfBoundsException: Range [12, 13) out of bounds for length 12
2()
<span class="GAPprompt">gap></span> <span class="GAPinput">GeneratorsOfGroup(V
[ ( 0(2), 1(2) ), ( 1(2), 2(4) ), ( 0(2), 1(4) ), java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<panclassGAPprompt>><span><span =GAPinput">G := CT([2,3],Integers); </span>
CT_[ 23 ](Z)
<span class="GAPprompt">gap></span> <span class="GAPinput
[ ( 0(2), 1(2) ), ( 0(3), 1(3
  0(6  ((),1) )java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34

</pre></

<">\(n \mapsto -n 1\</span>. This automorphism can be applied to an rcwa mapping of ℤ or to an rcwa group over ℤ by the operation <code class="code">Mirrored</code>. The group <code class="code">Mirrored(</code><var class="Arg">G</var><code class="code">)</code> acts on the nonnegative integers as <var class="Arg">G</var> acts on the negative integers, and vice versa.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">ct := ClassTransposition(0p>  string       of  structureof  rcwarcwagroup varclass=">G</>./java.lang.StringIndexOutOfBoundsException: Range [124, 123) out of bounds for length 124
((2)6))
<span class="GAPprompt">gap></span> <span class="GAPinput">Mirrored(ct);</span>
1(2), 4(6) )
<span class="GAPprompt">gap>java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<panclass=">gap&t;/><spanclass"APinput"(G,[-100.]100);/>
[ [ 0 .. 5 ] ]
<span class="GAPprompt">gap></java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 0
[ [ -6 .. -1 ] ]

</pre></div>

<p>Under the hypothesis that<pan class=GAPprompt"gapgt;/java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 93


<div class"gapgt<span span""G;/panjava.lang.StringIndexOutOfBoundsException: Index 119 out of bounds for length 119

< class=">ap&;<java.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 109
111723846791151813482639124225680 ]

</re>/java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12

<p>The ofconjugacyclassesofCTℤ) elementsofgiven order  also known under the hypothesis that CT(ℤ) is the setwise stabilizer of <span class="SimpleMath">\(ℕ_0\)</span> in RCWA(ℤ). It can be determined by the function <code class="code">NrConjugacyClassesOfCTZOfOrder</code>.</p>

<p><a id="X80C042BE82EE0F9A" name="X80C042BE82EE0F9A"></a>< "GAPprompt">gap&t;<span span class"APinput">G := DirectProduct(PSL2Z,F2);</span>

 =>
  <span cGAPpromptgap;><span=GAPinput =WreathProduct(G,IsRcwaGroupOverZ)</>
</span></h4>

<p>In the previous span class="GAPprompt">gap></span> <span(3*   F2)  "

<p><a id="X864A7E3E87F366A8" name="X864A7E3E87F366A8" java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 106

<h5>3.2-1 StructureDescription</h5&;unknown&.

<div class="func"><table java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 0
<> string which   littleglimpseofthe structure ofthe   class"">G<var><p

<p>The attribute <code class="code">StructureDescription</code> for finite

<p>java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0


<div class="class"APpromptgt</span <span class"java.lang.StringIndexOutOfBoundsException: Range [102, 57) out of bounds for length 102

<">gapgt<span> <span class="GAPinput">G := Group(ClassTransposition(0,2,1,4),ClassShift(0,5));;</span>
<span class="GAPprompt">gap></span
"(Z x Z x Z x Z x Z x Z x Z) . (C2 x S7)"
<span p>For a finite group,anisomorphism to  permutationgroup     code class"code"IsomorphismPermGroup</code>>
<span class "pre
< class=GAPprompt"gap></span> span class="GAPinput>StructureDescriptionG:short;/span
"Z^2.((S3xS3):2)"
<span class="GAPprompt">gap></span> <span class="GAPinput">F2 := Image(IsomorphismRcwaGroup(FreeGroup(2)));;</span>
<span class="GAPprompt">gap><<pan class=GAPprompt"gapgt</span<span class="GAPinput">IsomorphismPermGroup(G);</span>
<span class="GAPprompt">></span> <span class[ 021())( 0(3)1))]&; [(,)(3,)(5,6), (1,2)(4,5) ]
<span=GAPprompt>/span><class=GAPinput> = DirectProduct,F2;/>
<wild rcwa group over Z with 4 generators>
<span class="GAPprompt">gapp>  level   <odeclass"code">InfoRCWA</code> the membership test provides information onreasons why thegivenrcwa permutation is anelement of the  rcwagroup or./p
"(C3 * C2) x F2"
<span class="GAPprompt">gap></span> <span class="GAPinput"
<wild rcwa java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 0
<span class="GAPprompt">gap></span> <span class="GAPinput">StructureDescription(G);</span>
"((C3 * C2) x span java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 117
<span class="GAPprompt">gap></span> <span class="GAPinput">Collatz := RcwaMapping([[2,0,3],[4,-1,3],[4,1,3]]);;</span>
< class="APprompt"gap></span> <span class="GAPinput">G := Group(Collatz,ClassShift(0,1));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">StructureDescription(G:short);</span>
"<unknown&true

<

<p>The extent to which

<p>The order of an rcwa group can be computed by the operation <code class="code">Size


<div class="java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 0

<spanclass"APprompt>gt;<span> span =GAPinput"IsConjugate((,/span>
<span class="span class="GAPprompt">></span> <span class="GAPinput">               ClassTransposition(0,2,1,4),ClassShift(0,1));</span>
<rcwa group over Z with 3 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput"true
46080

</pre></div>

<p>For a finite rcwa group, an isomorphism to a permutation group can be computed by <code class="code">IsomorphismPermGroup</code>:</p>


<div class="example"><pre>

<span class="GAPprompt">gap&< ="APprompt>gap&</><spanclass=GAPinput"ClassTransposition0,21,6^ = ClassTransposition(,,8);<>
<panclass="GAPprompt">gap></span> <span class="GAPinput">IsomorphismPermGroup(G);</span>
[ ( 0(2), 1(2) ), ( 0(3), 1(3) ) ] -> [ (1,2)(3,4)(5,6),

</pre></div>

<p>In general the span class="GAPprompt">gap <span class"" Group(02,1,6),ClassShift(,));/pan

<p>On Info level 2 of <code class="java.lang.StringIndexOutOfBoundsException: Range [35, 39) out of bounds for length 4

<p<pre/>


<class=>pre>

<span class="java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 0
<span class="GAPprompt">gap>java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<panclass"APprompt">&t/span>spanclass=""  *ClassShift(0,)^3inG>
true
<span class="GAPprompt">gap></span> <span class="GAPinput"spanclass="GAPprompt"gapgt;<span class"">IsPerfect();<span>
false

</pre></div>

<p>The conjugacy problem for rcwa groups is difficultjava.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">IsConjugate(RCWA(Integers
< class=GAPprompt"></><spanclass="APinput>02,,)java.lang.StringIndexOutOfBoundsException: Range [113, 112) out of bounds for length 126

<span class=""Z x Z  Z .S3"
<span=GAPprompt"&;</span> <span class="GAPinput">                            ClassTransposition1,40,))</span>
true
<span class="GAPprompt">gap></span> <pan class=GAPprompt"gapgt;/span < class="GAPinput">Q := D1/D2;</span>
<span class="GAPprompt">></span> <span class="GAPinput">                                          ClassTransposition(1,4,0,8));</span>
<rcwa permutation of Z with modulus <pan class=GAPinput"">tructureDescription(Q); </span>
<span class="GAPprompt">gap></span> <span class="GAPinput">ClassTransposition(0,2,1,6)^g = ClassTransposition(1,4,0,8);</span>
true

</pre></div>

<p>There is a property <code class="code">IsTame</code> which indicates whether an rcwa group is tamespanclass="GAPprompt">gap></span> <span class="GAPinput">Display(Image(phi,ClassTransposition(0,2,1,4)));</span>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <[    0     ,     0     ,    0      ],
<span class="GAPprompt">gap></span> <span class="GAPinput">H := Group(ClassTransposition(0,2,1,6),ClassShift(1,3));;</span>[    0     0     0     00       java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
<span class="GAPprompt">gap></span> <span class="GAPinput">IsTame(G);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">IsTame(H);</span>
false

</pre></div>

>,are code"java.lang.StringIndexOutOfBoundsException: Range [87, 81) out of bounds for length 649


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">G := Group(ClassTransposition(0,2,1,4),ClassShift(1,2));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsPerfect(G);</span>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">IsSolvable(G);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">D1 := DerivedSubgroup(G);; D2 := DerivedSubgroup(D1);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsAbelian(D2);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">Index(G,D1); Index(D1,D2);</span>
infinity
9
<span class="GAPprompt">gap></span> <span class="GAPinput"
"Zxx ). S3"
"(Z x Z) . C3"
<span class="GAPprompt">gap></spanclass=GAPprompt>gt</> span =GAPinput">java.lang.StringIndexOutOfBoundsException: Range [64, 63) out of bounds for length 104
Group([ (), (1,2,4)(3,5,7)(6,8,9), (1,3,6)(2,5,8)(4,7,9) ])
<pan class=GAPprompt">gap></span> <span class="GAPinput">StructureDescription(Q); </span>
"C3 x C3"
<span classlt;24)34)(6),8(12)),(3(4),(6))>
java.lang.StringIndexOutOfBoundsException: Range [92, 93) out of bounds for length 8
<pan class"GAPprompt">gap&; <span class="GAPinput">phi := IsomorphismMatrixGroup(G);;</span>
<span class="GAPprompt">gap>#    3generators 11relatorsof  length 
[     0     ,1       ,
       ,,0     ,,] 
  [     2,     1,     0,     06 **b3ac*^ 
  [     0,     1,     0,     0,     0,     0 ], 
  [     0,     0,     0,     0,     1,     0 ], 
  [     0,     0,     0,     0,     0,     1 ] ]

<>/>

<p>When investigating a group, a basic task is to find relations 

<p><a id="X83527DA37C5CB2C7" name="X83527DA37C5CB2C7"></a></p>

<h5>3.2-2 EpimorphismFromFpGroup</h5>

<="func="100%class>java.lang.StringIndexOutOfBoundsException: Range [80, 79) out of bounds for length 253
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; EpimorphismFromFpGroup</code>( <var class="Arg">G</var>, <var class="Arg">r</var>, <var class="Arg">maxparts</var> )</td><td class="tdright">( method )</td>p>java.lang.StringIndexOutOfBoundsException: Range [31, 28) out of bounds for length 169
<p>Returns: an epimorphism from a finitely presented group to the rcwa group <var class="Arg">G</var>.</p>

<p>The >Quite frequently   java.lang.StringIndexOutOfBoundsException: Range [56, 55) out of bounds for length 493


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">a := ClassTransposition(2,4,3,4);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">b := ClassTransposition(4,6,8,12);;java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<pan class=gapgt;/span><spanclass=" :=ClassTransposition(3,4,4,6);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">G := SparseRep(Group(a,b,c));</span>
<(2(4),3(4)),(4(6),8(12)),(3(4),4(6))>
<java.lang.StringIndexOutOfBoundsException: Range [91, 5) out of bounds for length 104
#I  there are 3 generators and 12 relators of total length 330
#I  there are 3 generators and 11 relators of total length 312
[ ,  -> [(24) () ), ( 46)(12 ) (3(4), (6) ) ]
<span class="GAPprompt">gap></span> <span class="GAPinput">RelatorsOfFpGroup(Source(phi));</span>
a^,b^,2 (b*),(*)^, ab*cb^(ac**)3,
  (a*b*a*c)^12, ((a*b)^2*a*c)^12, (a*span="GAPprompt">ap&;/ <spanclass=">g =(a*^,*^3) # a sample    factored/>

</pre></div>

<p>A related very common task is to factor group elements into generators:</p>

<p><a id="X8463E34286344F06" name="X8463E34286344F06"></a></p>^-*(b^1*a^-1)2*b^3**-**^

<h5>3.2-3 PreImagesRepresentative</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; PreImagesRepresentative</code>( <var class="Arg">phi</var>, true
<p>Returnsltrcwapermutation  Zwith modulus8gt

<p>The epimorphism <var class="Arg">phi</var> must map the <span class="GAPprompt">gap></span> <span class="GAPinput">pre (phi,g);</span>

<p>This method can be used for factoring elements of rcwa groups into generators.java.lang.StringIndexOutOfBoundsException: Range [6, 5) out of bounds for length 120

<p>Quite frequently, computing several b-1a^1^2*b^**b2*a-1*b^2(^1*)2*


<div()

 "&;<span < class=G"a:=([203],[4-,3],[,]]; SetNamea"a";<
<span class="GAPprompt">gap></span> <span class="GAPinput">b := ClassShift(0,1);; SetName(b,"b"
<span class="GAPprompt">gap></java.lang.StringIndexOutOfBoundsException: Range [0, 37) out of bounds for length 0
<span =GAPprompt>&t</span>  class="GAPinput"> := EpimorphismFromFreeGroup(G);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">g := Comm(a^2*b^4,a*b^3); # a sample element to be factored</span>
<rcwa permutation of Z with modulus 8>
<span class="<>Knowing a natural permutation representation of a group usually helps significantly in computing in it and in obtaining results on its structure. This holds particularly for the natural action of an rcwa group on its underlying ring. In this section we describe <
b-3(^-*^1^*b3**-*a*b3
<span class="GAPprompt">gap></span> <span class="GAPinput">g = b^-4*a^-1*b^-1*a^-1*b

<span class="GAPprompt">< ="">gap&;span> < ="java.lang.StringIndexOutOfBoundsException: Range [61, 60) out of bounds for length 94
&java.lang.StringIndexOutOfBoundsException: Range [0, 3) out of bounds for length 0
<span class="GAPprompt">gap></span> <span class="GAPinput">pre := PreImagesRepresentatives(phi/pre<div>
[ (b^-1*a^-1)^2**a^-1)^2*b^2*(b*a)^2*b^-2b^-1*(a^-1*b)^2*b^2*(a*b^-1)*^1]
<dd><> an epimorphism  a freegroup <varArg></varwhich maps generators to generators.</p>
(b^-1*a^-1)^2*b^3*a*b^2*a^-1*b^-2*(b^-1*a)^2*b
<span class="><p>two lists java.lang.StringIndexOutOfBoundsException: Range [34, 32) out of bounds for length 296
Integers)

</pre></div>

<p><a id="X8151BE577FFDCE87" name="X8151BE577FFDCE87"></a></p>

<h4>3
  The dt><strong"Mark>code ="code>mallpointbound<code>strong<dt>
</span></h4>

<p>Knowing a naturaldd>>  finding a list    span class=SimpleMath"\gi\)</span>such that for anylarge   <span class="SimpleMath">\(n\)</span> in the support of <var class="Arg">G</var> there is some <span class="SimpleMath">\(g_i\)</span> such that <span class="SimpleMath">\(n^{g_i} 

<p>The support, i.e. java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0


<div class="example"><pre>

<span class="GAPprompt">gap>dd<>< ="code"<code incase  checks havebeencompletedsuccessfully.</p>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsTransitive(G,Integers);</span>
true

</pre></div>

< bytranspositions of integersacton set  nonnegativeintegers.There  a property code=""IsTransitiveOnNonnegativeIntegersInSupport(<var class="Arg">G</var>)</code> which indicates whether such group acts transitively on the set ofnonnegative integers in its support. Since such transitivity test is a computationally hard problem, methods may fail. If <code class="code">IsTransitiveOnNonnegativeIntegersInSupport</code> returns <code class="code">true</code>, an attribute <code class="code">TransitivityCertificate</code> is set; this is a record containing


<dl>
<dt><strong class="Mark"><lt;(0(2),1(2)),(0(3),2(3)),((),()gt
<dd><p>is an epimorphism from a freespan class=GAPprompt"gap&;<span>span class="GAPinput">IsTransitiveOnNonnegativeIntegersInSupport(G);</span>

</dd>
<dt><strong class="Mark"><code class="code">words<span class="GAPprompt">gap></span> <span class="GAPinput">TransitivityCertificate(G);</span>
<dd><p>two lists. -- <code class="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> to[4(12)  ] complete : true 

</dd>
<<strongclass">< =""smallpointbound<code><strong></dt>
<dd><p>in addition to finding a list of group elements <span class="SimpleMath">\(g_i\)</span> such thatrec( classes :  [ ( ] [2(4) , [ 412) ],[0(12()] ,

</dd>
<dt><strong class="Mark"><code class="code">status</code></strong></dt>
<dp> string<odeclass=code">transitive"</code> in case checkshavebeen completed successfully.</p>

</dd>
<dt><strong class="Mark"><code class="code">complete</code></strong></dt>
<dd><p><code class="code">true</code> in case all checks have been completed java.lang.StringIndexOutOfBoundsException: Index 81 out of bounds for length 31

</dd>
</dl>
<p>Parts of this information for possibly intransitive groups can be obtained by the operation <code class="code">TryToComputeTransitivityCertificate;0(,(),(2,4),14,2())g;


<div class="example"><pre>

<span class="classes := [ [ 1(2) ], [ 2(4) ], [ 4(32) ], [ 8(24), 44(48), 20(96) ], 
<span [ 0(2416(24]], complete := false, 
<(0(2),1(2)),(0(3),2(3)),(1(2),2(4))&phi :=[ a, , c ]&;[((212)), 1(2,2( , 14,26  
<;</span> <spanclass="java.lang.StringIndexOutOfBoundsException: Range [61, 60) out of bounds for length 115
java.lang.StringIndexOutOfBoundsException: Range [28, 4) out of bounds for length 4
<span class="GAPprompt">gap></span> <span class="GAPinput">span class="GAPprompt">gap></span> <span class="GAPinput">Difference(Integers,Union(Flat(cert.classes)));</span>
rec( 
  classes := [ [ 1(2) ], [ 2(6) ], [spanclass=GAPprompt">apgt;span> spanclassGAPinput">cert := TryToComputeTransitivityCertificate(G,20); # try larger bound</span>
      [ 4(12) ] ], complete := true, 
  phiclasses :=[[12) ] [2(4) ],[ 4((32)],[8(),4(48,20()] 
     ], smallpointbound := 4, status :       0(2416(24) ]  12(768268768),[ 28() 540768) ] ], 
  words := [ ab, c, b*c, aphi := [ a,b -gt;[) (2 ) () (1(4),()
<span class="GAPprompt">gap></span> <java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 8
rec( classes := [ [ 1(2) ], [ 2(4) ], [ 4(12) ], [ 0(12),       76(,204384384) ()156768,(768,
  complete := words := [ a, b, (a*c)^2*b*a*b, c, a*c*b, (a*c)^3*b*c*b*a*b
  phi:= [ a,b,c -&;[ 0(2 12 ) ( 0() ()) 12)(4  
     ], smallpointbound := 4, status := "transitive"
  words := [ a, c, a*bb*c ] )
<span class="GAPprompt">gap></span> <span class="[52 6076,84 
<span class="GAPprompt">></span> <span class="GAPinput">                   ClassTransposition))<pre<div>
&;(0(),(),((2)2()14)()&;
<span class="GAPprompt">gap></span> <span class="GAPinput">cert := TryToComputeTransitivityCertificate(G,
dtstrongclass=Mark<code=c"R<><<dt>
   : [[1(2) , [ 2(4) ] [32 ] [824 4448 (96) ]
      
  phi := [ ab, c ] -> [ ( />
     ]t< class="Mark><code class"ode"D</>strong></dt>
  smallpointbound := 42, status := "unclear"
  words := [ ab, (a*c)^2*b*a*b, c, a*c*b ] )
<panclass="APprompt">gapgt;/span> <span class="GAPinput">Union(Flat(cert.classes));</span>
<union of 90 residue classes (mod 96) (6 classes)>
<span class="GAPprompt">gap></span> <span class="GAPinput">Difference(Integers,Union(Flat(cert.classes)));</java.lang.StringIndexOutOfBoundsException: Index 115 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 33
<span class> of of <var class="">/var>such <code class="code">n^g[i] < n</code> for all sufficiently large <code class="code">n</code> in <code class="code">D[i]</code>, for <code class="code">i = 1, ... , "< ""><code/><dt
rec(
  classes := [ [ 1(2) ], [ 2(4) ]<dd
      [ 0241624)],[ 12(768) (68)],28768)540768  ] 
  complete := false, 
  phi := [ ab, c ] -> [ ( 0(2), 1(2) ),<>pAlist  wordscodeclass="ode"w[]code>in class""F/code>such code class="code">w[i]^phi = g[i]</code>, for <code class="code">i = 1, ... , Length(w) = Length(g)</code>.</p>
     , 
  remaining := [ 52(96), 84(96), 60(192), 108(192), 124(192), 172(192), 
      76(384), 204(384), 220(384), 348(384), 156(768), 396(768), 
      412(768), 652(768) ], smallpointbound := 1074, status := "unclear"
  words := [ ab, (a*c)^2*b*a*b, c, a*c*b, (a*c)^3*b*c*b*a*b
      (a*c)^4*b*a*b*a*b ] )
<panclass="gap>> spanclass="DifferenceUFlatcert)>
e  ( 768));
<span class="GAPprompt">gap></span> <spanpi=[a,b ]-> [   (,4 ()   ()1)],
52607684 ]

</pre></div>

<p>Let <var java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0


<>
<java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 0
<   representativesalltheorbits<varclass""><> thejava.lang.StringIndexOutOfBoundsException: Range [157, 156) out of bounds for length 350

</dd>
<dt><strong class="Mark"><code class="code">D</code></strong></dt>
<dd><p>A list of residue class unions whose union is a (not necessarily proper) superset the complement of java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

</dd>
<dt><strong class="Mark"><code class="code">g</code></strong></dt>
<dd><p>A list of elements of <var class="Arg">G</var> such that <code class="code">n^g[i] < n</code> for all sufficiently large <code class="code">n</code> in <code class="code">D[i]</code>, for <code class="code">i = 1, ... , Length(g) = Length(D)</code>.</p>

</dd>
<dt><strong class="Mark"><code class="code">phi</code></strong></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>

</dd>
<dt><strong class="Mark"><code class="code">w</code></strong></dt>
<dd><p>A list of words <code class="code">w[i]</code> in <code class="code">F</code> such that <code class="code">w[i]^phi = g[i]</code>, for <code class="code">i = 1, ... , Length(w) = Length(g)</code>.</p>

</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">></span> <span class="GAPinput">              ClassTransposition(2,4,1,6));</span>
<(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(3U [ 1 ], 
  g := 
    [ ( 1(3), 2(3) ), <rcwa permutation of Z with modulus 12 and 
        5 affine parts>, <rcwa permutation of Z with modulus 12 and 
        5 affine parts> ], 
  pi := [ ab, c ] -> [ ( 1(3), 2(3) ), ( 3(4), 4(6) ), ( 2(4), 1(6) ) ], 
  w := [ ab, c ] )

</pre></div>

<p>Further, there are methods to compute orbits under the action of an rcwa group:</p>

<p><a id="X7C046BE97EE53692" name="X7C046BE97EE53692"></a></p>

<h5>3.3-1 <span class="Heading"> Orbit (for an rcwa group and either a point or a set) </span></h5>

<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">point</var> )</td><td class="tdright">( method )</td></tr></table></div>
<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(6U 2(6U 3(6), 1(3U 3(6), 0(3U 1(6), 0(3U 4(6), 
  1(3U 0(6), 0(3U 2(6), 0(6U 1(6U 2(6), 2(6U 3(6U 4(6), 
  1(3U 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>
11234344443334344556865
  54334443354565233233454
  44655342344234423343535
  45653456543545544553453
  345423444 ]
<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 := [ 182425273032333637394041
      42444548495152535657596061646566
      6869717576778081838889929395100 ], 
  spheresizes := [ 112343444433343445
      568 ] )
<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>
11111112334576791214192128
  2937425557727899113148164215226288344
  462478612686894985128414161847201826202902
  3786416754325958774977498568,11178 ]

</pre></div>

<p>Given an rcwa group <var class="Arg">G</var> over ℤ and an integer <varjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

<p<aid=X7D9DFAC97F9F0891"=X7D9DFAC97F9F0891"<a>/>

<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


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">PSL2Z := Image(IsomorphismRcwaGroup(FreeProduct(CyclicGroup(2),</span>
< java.lang.StringIndexOutOfBoundsException: Range [13, 11) out of bounds for length 136
<span class="GAPprompt">gap></span> <span class="GAPinput">DrawOrbitPicture(PSL2Z,[0,1],2000,512,512,false,failThe algorithmisbased  java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 181
<span class="GAPprompt">gap></span> <span class="GAPinput">DrawOrbitPicture(PSL2Z,Combinations([1..4],2),2000,512,512,true,<
<span class="GAPprompt">>

</></divjava.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12

<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< id="" name"X78F145197F63A25D"><>

<3.34 spanclass=Heading"
    ShortOrbits (for rcwa groups) &< class=GAPprompt"gap&</><spanclass""> = (,[,4,],4513,OnTuples);span>
  </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=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= n-if  in ()U 10(2)
<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=11(12)
<p>Returns: in the first form a list of all orbits|

<p>The operation <code class="func">ShortOrbits</code\

<p>There is an operation <code class="code">CyclesOnFiniteOrbit(</code><var gn^)<>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">G := Group(java.lang.StringIndexOutOfBoundsException: Index 91 out of bounds for length 82
<span class="GAPprompt">></span> <span class="GAPinput">              ClassTransposition(3,9,6,18)*ClassTransposition(1,6,3,9));;</span>
<span class=
<span class="GAPprompt">></span> <span class="GAPinput">        orb->StructureDescription(Action(G,orb)));</span>
"A15"|2n/3      if n  06)U 3(12)
  "1""C3""A19" ]
<span class="GAPprompt">gap></span> <span class="GAPinput">ShortCycles(mKnot(7),[1..100],20);</span>
[ [ 1 ], [ 2 ], [ 3 ], [ 4 ], [ 5 ], [ 6 ], [ 78 ], [ 910 ], 
  [ 1112 ], [ 131416182022191715 ], [ 2124 ], 
  [ 2326 ], [ 2528323631273034383329 ], 
  [ 3540 ], [ 37424854474146524539445043 ], 
  [ 7788100114130148127109124107122105120103
      89 ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">G := Group(List([[0,2,1,2],[0,5,4,5],[1,4,0,6]],ClassTransposition));;</span>
<span class<pan class="GAPprompt">gap&t</> <span =GAPinput">[6,-3,8]^elm; List([6,-3,8],n->n^elm); # `OnPoints' allows reordering</span>
[ [ 014985 ], [ 67 ], [ 101114191815 ], [ 1213 ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">List(CyclesOnFiniteOrbit(G,G.[ -9, ,4,11 ]
31483148 ]

</pre></div>

<><""name">/a</>

<h5>3.3-5 <span class="Heading">
    ShortResidueClassOrbits & ShortResidueClassCycles
  </span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; ShortResidueClassOrbits</code>( <var class="Arg">G</var>, <var class="Arg">modulusbound</var>, <var class="Arg">maxlng</var> )</td><td class="tdright">( operation )</td></tr></table></div>
< class">< "func"width"100">r>< classjava.lang.StringIndexOutOfBoundsException: Range [65, 64) out of bounds for length 299
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; ResidueClassCyclesThroughResidueClass</code>( <var class="Arg">g</var>, <var spanclass="APprompt">gap><span> <span class="GAPinput">lm: w^hi;<spanjava.lang.StringIndexOutOfBoundsException: Index 82 out of bounds for length 82
<p>Returns: in the first form a list of all orbits of residue classes under the action);/span

<p>We are only talking about4 5 , 8java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16

<p>The returned lists may contain additional cycles, resp., orbits, which do not contain a residue class <span class="SimpleMath">\(java.lang.StringIndexOutOfBoundsException: Range [1, 133) out of bounds for length 12


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">g := ClassTransposition(0,2,
<rcwa permutation of Z with modulus 12>
<span class="GAPprompt">gap></java.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 0
[ [(12,312)], [10(12), 11(12) ], [4(4),5247(366(6),
  [ 20(24), 21(24), 31(36), 30(36) ], 
  [ 8(48), 9(48), 13(72), 19(108), 18(108), 12(72) ], 
  [40() 41(8),6172,91(108) (108),(72)] 
  [ 16(96), 17(96), 25(144), 37(216), 55(324), 54(324), 36(216), 24(144
     ], 
  [ 80(96), 81(96), 121(144), 181(216), 271(324), 270(324), 180(216), 
      120(144) ] ]
<esThroughResidueClass(14,^12;/>
[ [ 5(24), 7(36), 6(36), 4(24) ], [ 21(24), 31(36), 30(36), 20(24) ], 
  [ 9(48partitionof  set   for the classes(mod<var=Arg>mvar> beobtained bythe operation <code class"ode>OrbitsModulo(<var class="Arg">G</var>,<var class="Arg">m</var>)</code>.</p>
  [ 41(48), 61(72), 91(108), 90(108), 60(72), 40(48) ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Collectedjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<span class="GAPprompt">></span> <span class="GAPinput">                  ResidueClass(1,4),2^6*12),Length));</span>
[ [ 42 ], [ 64 ], [ 86 ], [ 108 ], [ 124 ], [ 142 ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">List(ResidueClassCyclesThroughResidueClass(g,</span>
<span=">gt;</>span class="GAPinput>        ResidueClass(,4,^*12),yc-&c1);span
5(24), 21(24), 9(48), 41(48), 13(72), 61(72), 17(96), 81(96), 25(144), 
  121(144), 33(192), 161(192) ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(Difference(ResidueClass(1,4),Union(last)));</span>
1(36U 49(144U 97(144U 65(192U 129(192)
<span class="GAPprompt">gap></span> <span class="GAPinput">G := Group(List([[0,6,5,6],[1,4,4,6],[2,4,3,6]],ClassTransposition));</span>
<(0(6)),5(6),(1(),(),((),())gt;
<span class="GAPprompt">gap></span> <span class="GAPinput">ShortResidueClassOrbits(G,48,10);</span>
[ [ 7(12) ], [ 8(12) ], [ 1(24), 4(36) ], [ 2(24), 3(< =>&  GAPinputlastphi&SupportImage())<span
  [ 12(24), 17(24), 28(36) ], [ 18(24)[ ()U(4 () (]
  [ 37(48), 58(72), 87(108) ], [ 38(48), 57(72), 88(108) ], 
  [ 0(48), 5(48), 10(72), 15(108) ], [ 6(48), 11(48), 9(72), 16(108) ] ]

<pre

<p

<>3.java.lang.StringIndexOutOfBoundsException: Range [33, 28) out of bounds for length 33

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; ComputeCycleLength</code>( <var class="Arg">g</var>, <var class="Arg">n</var> )</td><td class="tdright">( function&java.lang.StringIndexOutOfBoundsException: Range [0, 225) out of bounds for length 0
<>Returns  recordcontaining  ,  largest point and  positionof largest  cycleof thercwa permutation < =Arg>g/var whichcontains  point <var class=""></var>providedthatthis  is.</p

<p>If the cycle is infinite, the function will run into an infinite loop unless the option <code class="code">"abortat"</code> elementofRCWA<spanclass"">R\)/java.lang.StringIndexOutOfBoundsException: Range [68, 67) out of bounds for length 154


<div class="example"><pre>

<
<span class="GAPprompt">></span> <span class="GAPinput">                     ClassTransposition));</span>
<rcwa permutation of Z with modulus 180>
<span class="GAPprompt">gap></span> <span class="GAPinput">ComputeCycleLength(g,20:small:=[0..1000]);</span>
n = 20: after 10000 steps, the iterate has 1919 binary digits.
n = 20: after 20000 steps, the iterate has 2908 binary digits.
n = 20: after 30000 steps, the iterate has 1531 binary digits.
n = 20: after 40000 steps[() 1) 34) ]
rec( aborted GAPprompt>apgtspan spanclass"GAPinputelm :=RepresentativeActionRCWA(),,P2</span
  length := 45961
  maximum := 180479928411509527091314790144929480041473309862957394384783
0525935437431021442346166422201250935268553945158085769924448388724679753\
5271669245363980744610119632280105994423399614803956244808653465492205657;</span>
8650363041608376587943180444494842094693691286183613056599672737336761093\
3101035841077322874883200384115281051837032147150147712534199292886436789\
7520389780289517825203780151058517520194926468391308525704499649905091899/span
9667529835495635671154681958992898010506577172313321500572646883756736685\
0158653917532084531267455434808219032998691038943070902228427549279555530\
6429870190316109419051531138721361826083376315737131067799731181096142797\
4868525347003646887454985757711743327946232372385342293662007684758208408\
8635715976464060647431260835037213863991037813998261883899050447111540742\
5857187943077255493709629738212709349458790098815926920248565399938335540\
25, n: 20 
  smallpoints := [ 20236699294295298441447882890
      893 ] )

</pre></div>

<p><a<

<>3.37CycleRepresentativesAndLengthsh5>

<iv class="unc"<tableclass="func" width="100%"><tr><td class="tdleft"><code class="func">&# style='color: green'>8227; CycleRepresentativesAndLengths</code>( <var class="Arg">g</var>, <var class="Arg">S</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: a list of pairs (cycle representative, length of cycle) for all cycles of the rcwa permutation <var<panclass="GAPprompt">></span> <span class="GAPinput">             ResidueClassUnion(Integers,5,[0,1,3])]);</span>

<Thercwa  < java.lang.StringIndexOutOfBoundsException: Range [36, 34) out of bounds for length 396


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">g := ClassTransposition(0,2,1,2)*ClassTransposition(0,4,1,6);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">CycleRepresentativesAndLengths
[ [ 22 ], [ 44 />div>
  java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  [ 382 ], [ 406 ], [ 444 ], [ 462 ], [ 502 ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">g := Product(List([[0,5,3,5],[1,2,0,6],[2,4,3,6]<5>3.3- </h5>
<span class="GAPprompt">></span> <span class="GAPinput">                     ClassTransposition));</span>
java.lang.StringIndexOutOfBoundsException: Index 201 out of bounds for length 46
<span class="GAPprompt">gap></span> <span class="GAPinput">CycleRepresentativesAndLengths(g,[0..100]:abortat:=p:   mapping < class=SimpleMath>(\<>java.lang.StringIndexOutOfBoundsException: Range [79, 78) out of bounds for length 477
n = 20: after 10000 steps, the iterate has 1919 binary digits.
n = 20: after 20000 steps, the iterate has 2908 binary digits.
n = 20: after 30000 steps, the iterate has 1531 binary digits.
n = 20: after 40000 steps, the iterate has 708 binary digits.
n = 79: after 10000 steps, the iterate has 1679 binary digits.
n = 100: after 10000 steps, the iterate has 712 binary digits.
n = 100: after 20000 steps, the iterate has 2507 binary digits.
n = 100: after 30000 steps, the iterate has 3311 binary digits.
n = 100: after 40000 steps, the iterate has 3168 binary digits.
n = 100: after 50000 steps, the iterate has 3947 binary digits.
n = 100: after 60000 steps, the iterate has 4793 binary digits.
n = 100: after 70000 steps, the iterate has 5325 binary digits.
n = 100: after 80000 steps, the iterate has 6408 binary digits.
n = 100: after 90000 steps, the iterate has 7265 binary digits.
n = 100: after 100000 steps, the iterate has 7918 binary digits.
[ [ 07 ], [ 53 ], [ 77159 ], [ 119 ], [ 19342 ],
  [ 2045961 ], [ 253 ], [ 2621 ], [ 292 ], [ 313941 ],
  [ 3419 ], [ 377 ], [ 405 ], [ 417 ], [ 463 ], [ 49<class="example"><pre>
  [ 59564 ], [ 61577 ], [ 653 ], [ 6723 ], [ 7141 ],
  [ 7916984 ], [ 805 ], [ 853 ], [ 863 ], [ 892 ], [ 919 ],
   ,1355]  97 7 ],[,

</>/>

<p>Often one also wants to know which residue classes an rcwa mapping or an rcwa group fixes setwise:</p>

<p><a id="X8777A62286597D53" name="X8777A62286597D53"></a></p>

<FixedResidueClasses</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; FixedResidueClasses</code>( <var class="Arg">g</var>, <var class="Arg">maxmod</var> )</td><td 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; FixedResidueClasses</code>( <var class="Arg">G</var>, <var class="Arg">maxmod</var> )</td><td class="tdright">( operation )</td></tr>< (n)2if  14
<>Returns the set ofresidueclasses withmodulusgreaterthan1and    < class=Arg><var the  var ""g/,  the group<var class"Arg"<var,fixessetwise<p>


<div class="example"><pre>

<span\
2(3), 3(4), 4(5), 6(7), 3(8), 7(8) ]
<class=GAPprompt>&;/ <="java.lang.StringIndexOutOfBoundsException: Range [61, 60) out of bounds for length 123
<span class="GAPprompt">></span> <span class="GAPinput">                             ClassTransposition(0,3,1,3)),12);</span>
2(3), 8(9), 11(12) ]

</pre></div>

<p>Frequently one needs to compute balls of certain radius around points or group elements, be it to estimate the growth of java.lang.StringIndexOutOfBoundsException: Range [38, 125) out of bounds for length 38

<p><a id="X8735855587CC029F" name="X8735855587CC029F"></a></p>

<h5>3.3-9 <span class="Heading">
        or point,andjava.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
  </span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; Ball</code>( <var class="Arg">G</var>, <var class="Arg">g</var>, <var class="Arg">r</var> )</td><td class="tdright">( method )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; Ball</code>( <var class="Arg">G</var>, <var class="Arg">p</var>, <var class="Arg">r</var>, <var class="Arg">action</var> )</td><td class="tdright">( method )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; Ball</code>( <var class="Arg">G</var>, <var class="Arg">p</var>, <var class="Arg">r</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: the ball of radius <var class="Arg">r</var> around the element <var class="Arg">g</var> in the group <var class="Arg">G</var>, respectively the ball of radius   565848,849,1274,637,956 ,1436,1437,2156, ,3236,,

<p>All balls are understood with respect to <code class="code">GeneratorsOfGroup(<var class="Arg">G</var>)</code>. As membership tests can be expensive, the former method does not check whether <var class="Arg">g</var> is indeed an element of <var class="Arg">G</var>. The methods require that java.lang.StringIndexOutOfBoundsException: Range [2, 301) out of bounds for length 77


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">PSL2Z := Image(IsomorphismRcwaGroup(FreeProduct(CyclicGroup(2),</span>
<pan class="GAPprompt">g;</span> <span class">CyclicGroup()));<span>
<span class="GAPprompt">gap></span> <span class="GAPinput">List([1..10java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
481422345074106154218 ]
<span class="GAPprompt">gap></span> <43.<spanclass=""java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
[ [ () ], [ (3,4), (2,3), (1,2) ],
  [ (2,3,4), (2,4,3), (1,2)(3,4), (1,2,3), (1,3,2) ] ]
<panclass="GAPprompt"gap&</>span =GAPinput>  L([,24,,1326,2346]ClassTransposition);/span>
<span class="GAPprompt">gap></span> <span class="GAPinput">B := RestrictedBall(G,One(G),20,36:Spheres);; # try replacing 36 by 72</span>
<span class="GAPprompt">gap></span> <span class="
13612466444663h534 <class=""

</pre></div>

<p>It is possible to determine group elements which map a given tuple of elements of div class=">table ="func width"%"tr>tdclass"">code =>#8227;RespectedPartition/> var class""G/> </>< class""&bspattributenbsp)<td<tr</able></div>

<p><a id="X87A3462C82FD376E" name="X87A3462C82FD376E"></a></p>

<h5>3.3-10 RepresentativeAction</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; RepresentativeAction</code>( <var class="Arg">G</var>, <var class="Arg">source</var>, <var class="Arg">destination</var>, <var class="Arg">action</var> )</td><td class="tdright">( method )</td></p>a coarsestpossiblerespected   < class"Arg>G<var /ofthe permutation varclassArg"<var<>
<p>Returns: an element of <var class="Arg">G</var> which maps <var class="Arg">source</var> to <var class="Arg">destination</var> under the action given by <var class="Arg">action</var>.</p>

<p>If an element satisfying this condition does not exist, this method either returns <code class="code">fail</code> or runs into an infinite loop. The problem whether <var class="Arg">source</var> and <var class="Arg">destination</var> lie in the same orbit under the action <var class="Arg">action</var> of <var class="Arg">G</var> is hard, and in its general form most likely computationally undecidable.</p>

<p>In cases where rather a word in the generators of <var class="p>There is an operation <code class="code">RespectsPartition(<var classvar>,varclass"var></code  code ="ode><class=Arg"g/,< =Arg><code,tests<class""G/var  var=Arg">/> java.lang.StringIndexOutOfBoundsException: Range [300, 299) out of bounds for length 541

<p>The algorithm is based on computing balls of increasing radius around <var class="Arg">source</var> and <var class="Arg">destination</var> until they intersect non-trivially.</p>


< classclass=example"pre>

<; SetName(a,"";<>
<span class="GAPprompt">gap></span> <span class="GAPinput">b := ClassShiftl; over  with2generators&t;
<spanclass">>/> span =java.lang.StringIndexOutOfBoundsException: Range [61, 60) out of bounds for length 79
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(elm);</span>

Rcwa permutation of Z with modulus 12

        /
        | n-3 if n in 1(6U 10(12)
        |4 if n in512 U912)
 n |-> <  n+1 if n in 4(12)
        | n   if n in 0(6U 2(6U 3(12U 11(12)
        |
        \

<span class="GAPprompt">gap></span> <span class="GAPinput">List([7,4,9
4,5  ]
<span class="GAPprompt">gap></span> <span class="GAPinput">elm := RepresentativeAction(G,[6,-3,8],[    &mp KernelOfActionOnRespectedPartition
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(elm);</span>

Rcwa permutation of Z with modulus 12

        /
        |n/3if in 0(6)U()
        | (4n+1)/3  if n in 2(6U 11(12)
        | (4-1/ if in (6  ()
 n |-> <  (2n< class="unc>table class=func"width="%>tr><d java.lang.StringIndexOutOfBoundsException: Range [65, 64) out of bounds for length 248
        |17)3if in(12)
        | (4n-15)/3 if n in 9(12)
        |
        \

<span class="GAPprompt">gap></span> <span class="GAPinput">[6,-3,8]^elm; List([6,-3,8],n->n^elmjava.lang.StringIndexOutOfBoundsException: Index 101 out of bounds for length 0
 9,4 11 ]
4, -911 ]
<span class="span class="GAPpromptgt</pan <span class"GAPinput"G = ((,4,),(2);;/spanjava.lang.StringIndexOutOfBoundsException: Index 126 out of bounds for length 126
<span class""gapgt</pan>< classGAPinput"w:RepresentativeActionPreImage(,[0,4,9,,4,5,3,-8],</pan>
<span class="GAPprompt">></span> <span class="GAPinput">                                     OnTuples,F);</span>
a*^a^1*(-1a)^2*b**b2**b*^-*java.lang.StringIndexOutOfBoundsException: Range [42, 43) out of bounds for length 42
<span class="GAPprompt"
<rcwa permutationspan class=">gap&t</><spanclass""(H)span>
<span java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 1
4513, -8 ]

</pre></div>

<p>Sometimes an rcwa group fixes a certain partition of the underlying ring into unions of residue classes. If this happensjava.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

<p><a id="X8587246A7F890849" name="X8587246A7F890849"></a></p>

<h5>3.3-11 ProjectionsToInvariantUnionsOfResidueClasses</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; ProjectionsToInvariantUnionsOfResidueClasses</code>( <var class="Arg">G</var>, <var class="Arg">m</var> )</td><td class="tdright">( operation )</td></tr></table></div>
<p>Returns: the projections of the rcwa group <var class="Arg">G</var> to the unions of residue classes (mod <var class="Arg">m</var>) which it fixes setwise.</p>

<p>The corresponding partition of a set of representatives for the residue classes (mod <var class="Arg">m</var>) can be obtained by the operationspanclass=G>gapg;/span><class="GAPinput">Image(IsomorphismPcpGroup(K));</span>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">G := Group(ClassTransposition(0,2,1,2),ClassShift(3,4));;</span>
<=GAPprompt"gap&t;/span><span ="">(G,4)</span
[ [ ( 0(2), 1(2) ), ClassShift( 3(4) ) ] -> 
      ()1() IdentityMapping(Integers  ] 
  [ ( 0(2), 1(2) ), ClassShift( 3(4) ) ] -> 
    [ ( 2(4), 3(4) ), <rcwa permutation of Z with modulus java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<span class="GAPprompt">gap></span> <span class="GAPinput">List(last,phi->Support(Image(phi)));</span>
0(4U 1(4), 2(4U 3(4) ]

</pre></div>

<p>Given two partitions of the underlying ring into the same number of unions of residue classes, there is always an rcwa permutation which maps the one java.lang.StringIndexOutOfBoundsException: Index 155 out of bounds for length 32

<p><a id="X866843D08213067E" name="X866843D08213067E"></a></p>

<h5>3.3-12 RepresentativeAction</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; RepresentativeAction</code>( <var class="Arg">RCWA(R)</var>, <var class="Arg">P1</var>, <var class="Arg">P2</var> )</td><td class="tdright">( method )</td></tr></table></div>
<p>Returns: an element of RCWA(<span class="SimpleMath">\(R\)</span>) which maps the partition <var class="Arg">P1</var> to <var class="Arg">P2</var>.</p>

<p>The arguments <var class="Arg">P1</var> and <var class="Arg">P2</var> must be partitions<><a id="X81941A247942FB99" name"X81941A247942FB99"></a></p>


<div class="example"><pre>

<span class="GAPprompt<4>.5  <span class"">Generating pseudorandomelements RCWA(R) CTR)/span></h4>
0(3), 1(3), 2(3) ]
< =GAPprompt">gap></span> <span class="GAPinput>P2= [[0,,14][3,],;/span
0(2), 1(4), 3(4) ]
<span class="GAPprompt">gap></span> <span class="GAPinput">elm := RepresentativeAction(RCWA(Integers),P1,P2);</span>
divclass"">
<span class="GAPprompt">gap></span> <span class="GAPinput">P1^elm = P2;</span>
true class"APprompt">/> =GAPinput">lm: (();<span
<span=GAPprompt"gapgt;/>span =GAPinput">(;span>
false
<span class="GAPprompt">gap></span> <span class="GAPinput">elm := RepresentativeAction(RCWA(Integers)R    withmodulus180
<tame rcwa permutation of Z with modulus 24>
<span class="GAPprompt">gap></span> <span class="GAPinput">P1^elm = P2;</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">elm := RepresentativeAction(RCWA(Integers),</span>
<span class="GAPprompt">></span> <span class="GAPinput">            [ResidueClass(1,3),</span>
<span class="GAPprompt">></span> <span class="GAPinput">             ResidueClassUnion(Integers,3,[0,2])],</span>
<span class="GAPprompt">></span> <span class="GAPinput">            [ResidueClassUnion(Integers,5,[2,4]),</span>
<span class="GAPprompt">></span> <span class="GAPinput">             ResidueClassUnion(Integers,5,[0,1,3])]);</span>
&rcwa     modulus6>
<span class="GAPprompt">gap></span> <span class="GAPinput">[ResidueClass(1,3),ResidueClassUnion(Integers,3,[0,2])]^elm;</span>
2(5U 4(5), Z \ 2(5U 4(5) ]

</pre></div>

<p><a id="X82DBAF35788FA239" name="X82DBAF35788FA239"></a></p>

<(n29)if (180)

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func 
<p>Returns: either an rcwa mapping <span class="SimpleMath">\\

<p>Obviously not for every rcwa group and every root point a mapping <span class="SimpleMath">\(f\)</span> with these properties exists, and if it exists, it usually depends on the choice of generators of the group.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">G := Group(ClassTransposition(0,2,1,2java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<span class="GAPprompt">></span> <span class="GAPinput">              ClassTransposition(1,4,2,6));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">G := SparseRep(G);;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">f := CollatzLikeMappingByOrbitTree(G,0,4,10);</span>
<rcwa mapping of Z with modulus 4 and 4 affine parts>java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 24
<span class

Rcwa mapping of Z with modulus 4 and 4 affine parts

        /
        | n+1      if n in 0(4)
        | (3n+1)/2 if n in 1(4)
 n |-> <  n/2      if n in 2(4)
        | n-1      if h5>3.6-1 IsRcwaGroup</h5>
        |
        \

<> <span class="GAPinput">B := Ball(G,0,15:Spheres);</span>
[ [ 0 ], [ 1 ], [ 2 ], [ 3 ], [ 6 ], [ 7 ], [ 14 ], [ 915 ], [ 81830 ], 
  [5,1931] [410,3862],[ ,,39,41,63 ,java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
  [ 222440507882126 ], [ 2333517983127 ], 
  [ 324666102158166254 ], 
  [ 2147,""< java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 224
<span class="GAPprompt">gap></span> <span class="GAPinput">List([3..15],i->IsSubset(B[i-1],B[i]^f));</span>
[truetrue,true,,  ,,true, true, true, true, true,
  true ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Trajectory(f,52,[0,1]);</span>
[, 482241
  362181272273410205308309464465698349524525788
  78911841185177888913346676663335005017527531130
  5658488491274637956957143614372156, java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  4856 4857,72863643,3642 1821,2732,2733,4100,4101 , , 
  92304615461423072306115317308651298649974487486
  24324212118291904568691041051587978393819
  18,9,1476,, 2 1]

</pre></div>

<p><a id="X781CBEFA7F39B58D" name="X781CBEFA7F39B58D"></a></p>

<4>4< =Heading"
  Special attributes of tame residue-class-wise affine groups
</span></h4>

<p>There are a couple of attributes which a priori make only sense for tame rcwa groups. With their help, various structural information about a given such group can be obtained. We have already seen above that there are for example methods for <code class="code">IsSolvableGroup</code>, <code class="code">IsPerfectGroup</code> and <code class="code">DerivedSubgroup</code> available for tame rcwa groups, while testing wild groups for solvability or perfectness is currently not always feasible. The purpose of this section is to describe the specific attributes of tame groups which are needed for these computations.</p>

<p><a id="X7F523A6B87825AB8" name="X7F523A6B87825AB8"></a></p>

<h5>3.4-1 <span class="Heading">
    RespectedPartition (of a tame rcwa group or -permutation)
  </span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; RespectedPartition</code>( <var class="Arg">G</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; RespectedPartition</code>( <var class="Arg">g</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: a shortest and coarsest possible respected partition of the rcwa group <var class="Arg">G</var> / of the rcwa permutation <var class="Arg">g</var>.</p>

<p>A tame element <span class="SimpleMath">\(g\)</span> <span class="SimpleMath">\(\in\)</span> RCWA(<span class="SimpleMath">\(R\)</span>) permutes a partition of <span class="SimpleMath">\(R\)</span> into finitely many residue classes on all of which it is affine. Given a tame group <span class="SimpleMath">\(G\)</span> <span class="SimpleMath">\(<\)</span> RCWA(<span class="SimpleMath">\(R\)</span>), there is a common such partition for all elements of <span class="SimpleMath">\(G\)</span>. We call the mentioned partitions <em>respected partitions</em> of <span class="SimpleMath">\(g\)</span> or <span class="SimpleMath">\(G\)</span>, respectively.</p>

<p>An rcwa group or an rcwa permutation has a respected partition if and only if it is tame. This holds either by definition or by Theorem 2.5.8 in <a href="chapBib_mj.html#biBKohl05">[Koh05]</a>, depending on how one introduces the notion of tameness.</p>

<p>There is an operation <code class="code">RespectsPartition(<var class="Arg">G</var>,<var class="Arg">P</var>)</code> / <code class="code">RespectsPartition(<var class="Arg">g</var>,<var class="Arg">P</var>)</code>, which tests whether <var class="Arg">G</var> or <var class="Arg">g</var> respects a given partition <var class="Arg">P</var>. The permutation induced by <var class="Arg">g</var> on <code class="code">P</code> can be computed efficiently by <code class="code">PermutationOpNC(<var class="Arg">g</var>,P,OnPoints)</code>.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">G := Group(ClassTransposition(0,4,1,6),ClassShift(0,2));</span>
<rcwa group over Z with 2 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">IsTame(G);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(G);</span>
infinity
<span class="GAPprompt">gap></span> <span class="GAPinput">P := RespectedPartition(G);</span>
0(4), 2(4), 1(6), 3(6), 5(6) ]

</pre></div>

<p><a id="X831ADC1584DE6113" name="X831ADC1584DE6113"></a></p>

<h5>3.4-2 <span class="Heading">
    ActionOnRespectedPartition & KernelOfActionOnRespectedPartition
  </span></h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; ActionOnRespectedPartition</code>( <var class="Arg">G</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; KernelOfActionOnRespectedPartition</code>( <var class="Arg">G</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; RankOfKernelOfActionOnRespectedPartition</code>( <var class="Arg">G</var> )</td><td class="tdright">( attribute )</td></tr></table></div>
<p>Returns: the action of the tame rcwa group <var class="Arg">G</var> on <code class="code">RespectedPartition(<var class="Arg">G</var>)</code>, the kernel of this action or the rank of the latter, respectively.</p>

<p>The method for <code class="code">KernelOfActionOnRespectedPartition</code> uses the package <strong class="pkg">Polycyclic</strong> <a href="chapBib_mj.html#biBPolycyclic">[EHN13]</a>. The rank of the largest free abelian subgroup of the kernel of the action of <var class="Arg">G</var> on its stored respected partition is <code class="code">RankOfKernelOfActionOnRespectedPartition(<var class="Arg">G</var>)</code>.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">G := Group(ClassTransposition(0,4,1,6),ClassShift(0,2));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">H := ActionOnRespectedPartition(G);</span>
Group([ (1,3), (1,2) ])
<span class="GAPprompt">gap></span> <span class="GAPinput">H = Action(G,P);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">Size(H);</span>
6
<span class="GAPprompt">gap></span> <span class="GAPinput">K := KernelOfActionOnRespectedPartition(G);</span>
<rcwa group over Z with 3 generators>
<span class="GAPprompt">gap></span> <span class="GAPinput">RankOfKernelOfActionOnRespectedPartition(G);</span>
3
<span class="GAPprompt">gap></span> <span class="GAPinput">Index(G,K);</span>
6
<span class="GAPprompt">gap></span> <span class="GAPinput">List(GeneratorsOfGroup(K),Factorization);</span>
[ [ ClassShift( 0(4) ) ], [ ClassShift( 2(4) ) ], [ ClassShift( 1(6) ) ] ]
<span class="GAPprompt">gap></span> <span class="GAPinput">Image(IsomorphismPcpGroup(K));</span>
Pcp-group with orders [ 000 ]

</pre></div>

<p>Let <span class="SimpleMath">\(G\)</span> be a tame rcwa group over ℤ, let <span class="SimpleMath">\(\mathcal{P}\)</span> be a respected partition of <span class="SimpleMath">\(G\)</span> and put <span class="SimpleMath">\(m := |\mathcal{P}|\)</span>. Then there is an rcwa permutation <span class="SimpleMath">\(g\)</span> which maps <span class="SimpleMath">\(\mathcal{P}\)</span> to the partition of ℤ into the residue classes (mod <span class="SimpleMath">\(m\)</span>), and the conjugate <span class="SimpleMath">\(G^g\)</span> of <span class="SimpleMath">\(G\)</span> under such a permutation is integral (cf. <a href="chapBib_mj.html#biBKohl05">[Koh05]</a>, Theorem 2.5.14).</p>

<p>The conjugate <span class="SimpleMath">\(G^g\)</span> can be determined by the operation <code class="code">IntegralConjugate</code>, and the conjugating permutation <span class="SimpleMath">\(g\)</span> can be determined by the operation <code class="code">IntegralizingConjugator</code>. Both operations are applicable to rcwa permutations as well. Note that a tame rcwa group does not determine its integral conjugate uniquely.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">G := Group(ClassTransposition(0,4,1,6),ClassShift(0,2));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">G^IntegralizingConjugator(G) = IntegralConjugate(G);</span>
true
<span class="GAPprompt">gap></span> <span class="GAPinput">RespectedPartition(G);</span>
0(4), 2(4), 1(6), 3(6), 5(6) ]
<span class="GAPprompt">gap></span> <span class="GAPinput">RespectedPartition(G)^IntegralizingConjugator(G);</span>
0(5), 1(5), 2(5), 3(5), 4(5) ]
<span class="GAPprompt">gap></span> <span class="GAPinput">last = RespectedPartition(IntegralConjugate(G));</span>
true

</pre></div>

<p><a id="X81941A247942FB99" name="X81941A247942FB99"></a></p>

<h4>3.5 <span class="Heading">Generating pseudo-random elements of RCWA(R) and CT(R)</span></h4>

<p>There are methods for the operation <code class="code">Random</code> for RCWA(<span class="SimpleMath">\(R\)</span>) and CT(<span class="SimpleMath">\(R\)</span>). These methods are designed to be suitable for generating interesting examples. No particular distribution is guaranteed.</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">elm := Random(RCWA(Integers));;</span>
<span class="GAPprompt">gap></span> <span class="GAPinput">Display(elm);</span>

Rcwa permutation of Z with modulus 180

        /
        | 6n+12     if n in 2(10U 4(10U 6(10U 8(10)
        | 3n+3      if n in 1(20U 5(20U 9(20U 17(20)
        | 6n+10     if n in 0(10)
        | (n+1)/2   if n in 15(60U 27(60U 39(60U 51(60)
        | (n+7)/2   if n in 19(60U 31(60U 43(60U 55(60)
        | 3n+1      if n in 13(20)
        | (-n+17)/6 if n in 23(180U 35(180U 59(180U 71(180U 
 n |-> <                    95(180U 131(180U 143(180U 179(180)
        | (-n-1)/6  if n in 11(180U 47(180U 83(180U 155(180)
        | (-n+7)/2  if n in 3(60)
        | (n+3)/2   if n in 7(60)
        | (n-17)/6  if n in 107(180)
        | (-n+11)/6 if n in 119(180)
        | (-n+29)/6 if n in 167(180)
        |
        \

</pre></div>

<p>The elements which are returned by this method are obtained by multiplying class shifts (see <code class="func">ClassShift</code> (<a href="chap2_mj.html#X86B611BD7EED62A1"><span class="RefLink">2.2-1</span></a>)), class reflections (see <code class="func">ClassReflection</code> (<a href="chap2_mj.html#X7896C5417E3692B4"><span class="RefLink">2.2-2</span></a>)) and class transpositions (see <code class="func">ClassTransposition</code> (<a href="chap2_mj.html#X8716A75F7DD1C46B"><span class="RefLink">2.2-3</span></a>)). These factors can be retrieved by factoring:</p>


<div class="example"><pre>

<span class="GAPprompt">gap></span> <span class="GAPinput">Factorization(elm);</span>
[ ClassTransposition(0,2,3,4), ClassTransposition(1,2,4,6), ClassShift(0,2), 
  ClassShift(1,3), ClassReflection(2,5), ClassReflection(1,3), 
  ClassReflection(1,2) ]

</pre></div>

<p><a id="X86327F6C83D09798" name="X86327F6C83D09798"></a></p>

<h4>3.6 <span class="Heading">The categories of residue-class-wise affine groups</span></h4>

<p><a id="X84AFBB997B694A3D" name="X84AFBB997B694A3D"></a></p>

<h5>3.6-1 IsRcwaGroup</h5>

<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; IsRcwaGroup</code>( <var class="Arg">G</var> )</td><td class="tdright">( filter )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; IsRcwaGroupOverZ</code>( <var class="Arg">G</var> )</td><td class="tdright">( filter )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; IsRcwaGroupOverZ_pi</code>( <var class="Arg">G</var> )</td><td class="tdright">( filter )</td></tr></table></div>
<div class="func"><table class="func" width="100%"><tr><td class="tdleft"><code class="func">&#an style='color: green'>8227; IsRcwaGroupOverGFqx</code>( <var class="Arg">G</var> )</td><td class="tdright">( filter )</td></tr></table></div>
<p>Returns: <code class="code">true</code> if <var class="Arg">G</var> is an rcwa group, an rcwa group over the ring of integers, an rcwa group over a semilocalization of the ring of integers or an rcwa group over a polynomial ring in one variable over a finite field, respectively, and <code class="code">false</code> otherwise.</p>

<p>Often the same methods can be used for rcwa groups over the ring of integers and over its semilocalizations. For this reason there is a category <code class="code">IsRcwaGroupOverZOrZ_pi</code> which is the union of <code class="code">IsRcwaGroupOverZ</code> and <code class="code">IsRcwaGroupOverZ_pi</code>.</p>

<p>To allow distinguishing the groups RCWA(<span class="SimpleMath">\(R\)</span>) and CT(<span class="SimpleMath">\(R\)</span>) from others, they have the characteristic property <code class="code">IsNaturalRCWA</code> or <code class="code">IsNaturalCT</code>, respectively.</p>


<div class="chlinkprevnextbot"> <a href="chap0_mj.html">[Top of Book]</a>   <a href="chap0_mj.html#contents">[Contents]</a>    <a href="chap2_mj.html">[Previous Chapter]</a>    <a href="chap4_mj.html">[Next Chapter]</a>   </div>


<div class="chlinkbot"><span class="chlink1">Goto Chapter: </span><a href="chap0_mj.html">Top</a>  <a href="chap1_mj.html">1</a>  <a href="chap2_mj.html">2</a>  <a href="chap3_mj.html">3</a>  <a href="chap4_mj.html">4</a>  <a href="chap5_mj.html">5</a>  <a href="chap6_mj.html">6</a>  <a href="chap7_mj.html">7</a>  <a href="chap8_mj.html">8</a>  <a href="chap9_mj.html">9</a>  <a href="chapBib_mj.html">Bib</a>  <a href="chapInd_mj.html">Ind</a>  </div>

<hr />
<p class="foot">generated by <a href="https://www.math.rwth-aachen.de/~Frank.Luebeck/GAPDoc">GAPDoc2HTML</a></p>
</body>
</html>

Messung V0.5 in Prozent
C=100 H=100 G=100

¤ Dauer der Verarbeitung: 0.129 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

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 und die Messung sind noch experimentell.






                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Open Source Software

     Quellcodebibliothek
     Eigene Quellcodes
     Fremde Quellcodes
     Suchen

Jenseits des Üblichen ....

Besucherstatistik

Besucherstatistik

Statistik
#Sources=1019547
#Domains=890699