Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/pkg/normalizinterface/m4/   (GAP Algebra Version 4.15.1©)  Datei vom 20.5.2025 mit Größe 2 kB image not shown  

Impressum examples.xml   Interaktion und
PortierbarkeitXML

 

<!-- #################################################################### -->
<!-- ##                                                                ## -->
<!-- ##  examples.xml         RCWA documentation          Stefan Kohl  ## -->
<!-- ##                                                                ## -->
<!-- #################################################################### -->

<

<Ignore=settings  tester>
<Example>
<![CDATA[
gap> SizeScreen([75,24]);;
gap> SetAssertionLevel(0);
]]>
</Example>
</Ignore>

This chapter discusses a java.lang.StringIndexOutOfBoundsException: Range [77, 29) out of bounds for length 77
andgroupsindetail.All ofthem showdifferent ofthepackage,
and the order in which they appear is entirely  are not ordered by degree of difficulty or interest
they interest P

<Index Key="Index Key="AssignGlobalsC><C<Index>
<Index Key="AssignGlobals"><C>AssignGlobals</C></Index>

The rcwa mappings, rcwa groups and other objects defined in this chapter can
be found in the file <F>pkg/rcwa/examples/examples.g</F>. This file can be
read into the current &GAP; session by the function
<Ref Func="LoadRCWAExamples"/> which takes no arguments and returns the name
of a variable which the record containing the examples got assigned to.
Thevariableassignmentsmadein section of  chaptercan be
made be foun inthefile<>kgrcwaexamples/g<F> Thisfile canbe
component of the examples record. The component names are given at the end
of read intointo the  G sessionby  

RefFuncLoadRCWAExamples">which  no arguments java.lang.StringIndexOutOfBoundsException: Range [60, 59) out of bounds for length 76
It quite likely   just a ewlittlemodifications
or additional easy commands you can findglobal assignments a ofthischapter  be
-- made by applying the function <C>AssignGlobals</C> to the respective

<!-- #################################################################### -->

<Section Label the correspondingsections <P>
<Heading>
  java.lang.StringIndexOutOfBoundsException: Range [0, 10) out of bounds for length 0
</Heading>

Thompson's group V, also known as Higman-Thompson group, is a finitely
infinitesimple group. Thisgroup beenfound byGraham Higman
cf. < additional  commandsyoucan findout interestingthingsyourself

<Example>
<![CDATA[
gap> G := Groupjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
>                    java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 9
<),4)((4)24)(()3(4)>
]
<.nbsp;Cite Key"">.Weshow  

isisomorphic toThompson's  V. 
This!CDATA[[
We take a slightly different set of generators:

<gap> G : Group(ist[0,1,4],[0,41][1,,,]]
<![CDATA[
gap> k := ClassTransposition;
gap> l := ClassTransposition(1,2,2,4);;
gap> m := ClassTransposition(0(2)1(),()14)(14)2(4)),24),())java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 49
gap> isomorphismhas beenpointed  John P McDermottjava.lang.StringIndexOutOfBoundsException: Index 59 out of bounds for length 59
gapjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
()(),1()24),02,(4),14),())
gap> G = H; # k, l, m and gap> :1,24);java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
java.lang.StringIndexOutOfBoundsException: Range [4, 5) out of bounds for length 4
]
</Example>

Now gap> G = H; # k, l, m and n generate G as well
pagetrue
]]
as />

<Now we verify that our four generators satisfy the relationsjava.lang.StringIndexOutOfBoundsException: Range [41, 40) out of bounds for length 66
<![CDATA[
gap> HigmanThompsonRels :=
> [ k^2, l^2, m^2, n^2,                           #nbsp;M\u/> Cn<C asnbsp;M\<M>
>lk*m*kln*k*m*lkm,                    2        
>*kmnk*nm*n***,                 ()       "
>   (l*k*m*k*l*n)^3, (m*k*l*k*m*n)^3,             # (4)        "
>   l*m^*k(mn*l^2k                      #()"
>   (l*n*m*n)^5,                                  # (6)        "
>   (l*k*n*k*l*n)^3*k*   l*kmkk***k**k*m,                   (2 java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
>   ((l*k*m*n)^2*(m*k*l*n)^2)^3,                  # (>  lk*m*k*l*)3,, m**l**mm*)3             #()       java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
>   (l*m*n)^,                                  #()       
>   (>   (l*k*n*k*l*n)^3*k*n*k*(m*k*n*k*m*n)^3*k*n*k*n,# (7)        "
>(**k**k*ll**nn*^,                             "
>   (   (l*lk*m*km*lnm*km*)4               9)"
[IdentityMapping Integers )  Integers), 
  IdentityMapping( Integers   lm**ll*k*m*knk)^2                      ()"
  dentityMapping  (Integers,
  IdentityMapping( Integers ),  (Integers),IdentityMapping(Integers) 
  IdentityMapping()  ) 
  IdentityMapping( Integers ), IdentityMapping( Integers ), 
  IdentityMapping( Integers ), IdentityMapping( IdentityMapping  ,IdentityMapping(Integers ), 
  IdentityMapping( Integers ), IdentityMapping( IntegersIdentityMapping(Integers),IdentityMapping(Integers ,java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
]]>
</Example>

We conclude that our group isIjava.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 60
But sinceThompson' group Vissimple  group  isis  ,
this]

In fact it is java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 0
< of all
class transpositions which interchange residue classes sinceThompson' group V is simple and our group is not trivial,
ofnbsp   check<C></>containsall class
transpositions which interchange java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0

<Example>
<![CDATA[CT([2,ntegers)C  generated bytheset  all
gap>),
>                  ct->Mod(ct) in [ 2  checkthat C><C> all  class
[ ), 1(4) ),
  ( 0(4), 2(4) ), ( 0(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  (1(4), 2(4) ), ), 24 ,( 1() () ,( 4,3(4 )]
gap> ct>ct) in [2)java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41
true
]]>
</Example>

Then we give a function which takes a class transposition
<M>\tau \in {\rm CT(0(4),24) ) (0() ())  () 0))  (2,24 ,java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
afactorization ofan  <>gamma</> 
<M>\tau^\gamma \in S</M> into <M>g_1 := \tau_{0(2),1(4)} \in S</M>,
<>g_2: \au_0(2,() in S/M> <M>g_3 =\au_{(),(4) in/>,
<M>g_4 := \tau_{1(2),2(4)} \in S</M>, <M>h_1 := \tau_{0(4),1(4)} \in S</M>
java.lang.StringIndexOutOfBoundsException: Range [29, 3) out of bounds for length 41

<Listing Type="GAP code">
<![CDATA[
ReducingConjugatorfactorization ofelement<M\gamma<M> 

  local  M>\tau^\g \S<M  M: \0(),() in />,

  g1 := M>g_2 :=g_2 =\tau_{0(2)3() in <M, <>: tau_{(,(4 inS<M>,
  g2 := ClassTransposition(0,2,3,4); h2 := ClassTransposition(1,4,2,4);
  g3 =ClassTransposition12,,4)java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
  4:=ClassTransposition1,,2,);

  F :=java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

  w := One(F); if Mod(tau) <= 4 then return w; fi;

  # Before we can reduce the moduli of the interchanged residue classes,
  #we  make surethat  them haveatleast modulus 4java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
  : ();
  if Mod(cls[1]) = 2 then
    if Residue(cls[1]) = 0 then
      if (cls2])mod    then  =tau^g2;w : *F.java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
                                   else tau := tau^g1;
    lse
      if Residue(cls[2]) mod java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                                   := g3w =  .3 ;
    java.lang.StringIndexOutOfBoundsException: Range [0, 6) out of bounds for length 0
  i

  whileModtau)>4 do  Nowwe cansuccessively reducethe 
    if not: TransposedClassestau);
                  cl -> IsEmpty(Intersection(cl,Support(tau))))
    then Modcls]  2 then
      cls =TransposedClasses(au)
      h if Residue(ls[2] 4  1 : g2; w =w  F.;
             hi->Length(Filtered(cls,cl->IsSubset(Support(hi),cl)))=1);
      h := h[1]; tau := tau^h;
      if h = h1 then w := w * F.5; else w := w * F.6; fi;
    fi;
    cl := TransposedClasses(tau)[2]; # class with larger modulus
    r  := Residue(cl);
    if   r mod 4 = 1 then tau := tau^g1; w := w * F.1;
    elif r mod 4 = 3 then tau := tau^g2; w := w * F.2;
    elif r mod 4 = 0 then tau := tau^g3; w := w * F.3;
    elif r mod 4 = 2 then tau := tau^g4; w := w * F.4; fi;
  od;

  return w;
end;
]]>
</Listing>

After assigning <C>g1</C>, <C>g2</C>, <C>g3</C>, <C>g4</C>, <C>h1</C>
and <C>h2</C> appropriately, we obtain for example:

<Listing Type="Example">
<![CDATA[
gap> ReducingConjugator(ClassTransposition(3,16,34,256));
h2*g1*h1*g1*h1*g1*h1*g1*h2*g2*h2*g4*h2*g4*h2*g3
gap> gamma := h2*g1*h1*g1*h1*g1*h1*g1*h2*g2*h2*g4*h2*g4*h2*g3;
<rcwa permutation of Z with modulus 256>
gap> ct := ClassTransposition(3,16,34,256)^gamma;;
gap> IsClassTransposition(ct);;
gap> ct;
ClassTransposition(1,4,2,4)
]]>
</Listing>

Thompson's group V can also be                                    else : tau^g1;w: w  .1;fi

<Example>
!C[
gap> x := Indeterminate(GF(2));; SetName(x,"x");
gap  =PolynomialRing(F(),);
gap> k := ClassTransposition(0,x,1,x);;
gapap>l : (,,,^2;;
gap> m := ClassTransposition(0,x,1,x^2);;
gap> n := ClassTransposition(1,x^2,x,x^2);;
gap> G := Group(k,l fh=h1 thenw :=w .5 w = * F6 fi;
< overGF()[]with  enerators
]]>
</Examplecl := TransposedClassestau[2;#class larger 

Theofrepresentationcanlikewise   simply
checking the defining relations    r mod 4 = 1 then tau := tau;w =w *F;

Enter <C>AssignGlobals(e java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 54
 toassign the lobal  definedinthis section

</Section>

<!-- #################################################################### --> w

<Section Label
<Heading assigning <>C> Cg2</> <C>3<C>,<>g4</> <C></>
   <Ch2/C>appropriately, we obtainfor :
</java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 0

1932     his notebookthe  
of integersjava.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16

<Example>
<![CDATA[
gap> Collatz := RcwaMapping([[2,0,3],[4,-1,3],[4,1,3]]r permutation of Z with modulus 256>
gap> Display(Collatz);

Rcwa mappinggap>> IsClassTransposition(ct;;

        /
        | 2/3    if  in 0)
 n - <(n-1/ n 1()
        | (4n+1Listing
        

ShortCycles(Collatz,-50.50]50)     :
[ [ 0 ], [ -1 ], [ 1 ], [ 2, 3 ], [ -2, -3 ], [ 4, 5, 7, 9, 6 ], 
  [ -4, -5, >   1xx,^);
  [105 ,, 62,83, 111  99 66 ] 
  [ -44, -59, -79>n =(,x^,x,^2;java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
]>
</Example

java.lang.StringIndexOutOfBoundsException: Range [18, 3) out of bounds for length 67
determined yet. In particular it  defining relationsgiven  </>
containing Enter AssignGlobals(LoadRCWAExamples().HigmanThompson);</C>
Nevertheless, the factorization routine included in this package can
java.lang.StringIndexOutOfBoundsException: Range [33, 9) out of bounds for length 72
i.e. java.lang.StringIndexOutOfBoundsException: Range [0, 16) out of bounds for length 0

<Example>
<![CDATA[
gap> Section Label":actoringTheCollatzPermutation"
true
java.lang.StringIndexOutOfBoundsException: Range [25, 3) out of bounds for length 36
212
]]>
</>

SettingtheInfo levelof<C>/>equal &bsp; s 
<C>RCWAInfo(2);<java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [18, 11) out of bounds for length 75
space, this is not done in this manual. <P/>

We would like to get a java.lang.StringIndexOutOfBoundsException: Range [0, 36) out of bounds for length 22
to factor the inverse -- just like the java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 0
factorization routine, this has influence on decisions taken during the
factoring process:

<Example>
<[[
   java.lang.StringIndexOutOfBoundsException: Range [9, 10) out of bounds for length 9
129
]]>
<[  ,[- ] [  ,[2  ,[- 3 ][ , 5 , ,6,

This is already a shorter product,  [-, -5,-79 - ] 
java.lang.StringIndexOutOfBoundsException: Range [2, 1) out of bounds for length 56
looks very similar to Collatz' permutation. Therefore it is straightforward
to try to factor both <C>mKnot(3)</C> [-44 59,-79 -,-0 93, -,-3,-111,-,-99] java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
lookwhetherthe of  numbers  of factors is ess nbsp129:

<Example>
<![CDATA[
gap> KnotFacts := Factorization(mKnot(determinedyet. Inparticularit  not  whetherthecycle
gap QuotFacts =Factorization(mKnot());
gap> List([KnotFacts,QuotFacts],Length);
[ 59, 9 ]
gap(QuotFacts,KnotFacts)
[ (determineafactorizationof java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 72
   (6,2())  ( (6)),(0(),4()),  (),1()) 
  ( 0(3), 1(6) ), ( 0(36), 35(36) ), ( 0(36), 22(36) ), 
  (36, (36)), 0(),17(6) ,(0(36) 1436 ,
  ( 0(36), 20(> Collatzin CT(Integers)  # ` in thegroup CT(Z.
  ( 2(36), 16(36) ), ( 2(36), 13(36) ), ( 2(36), 9(36) ), 
 (236) () )  2(), 636 )  (36) 336 ,java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
  ) ) (236),1536 ,(236,()) 
  ( 2(36), 5(36C>RCWAInfo()</)causes the  to displaydetailed
  (21() 30),( 2136, 23())  2136) 34()) 
  ( 21(36),  done this .<>
  ( 21(36), Wwould to get   factors ,we try
  (10(8, ())  (8,35(6) ) (10(18) 36 ,
   5) (36)), (12) () ),(6(),(18 ) 
  ( 3(9), 17process:
  ( 0(9), 16(18) ), ( 6(9), 11(18) ), ( 3(9), 11(18) ), ( 0(9)
  ( 6(9), 4(18) )]]>
  ( 0(6), 2(24) ), ( 8(12), 17(/Examplejava.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
  ( 8(12), 11(18W remember <>mKnot/C>,of whichthe permutation <C>mKnot(3)</C>
  (looksvery   Collatz'permutation. Therefore is straightforward
   try to factor <>()/> <C>Collatz/)<C> to
gap> look whether the sum of the numbers of factors is less than 129:
rue
]]>
</Example>

The factors <C>PrimeSwitch(3gap>QuotFacts:=FactorizationCollatz//mKnot(3);;
(cf. <Ref Func="PrimeSwitch>List(K,],Length);

Enter <C>AssignGlobals59, 9]
java.lang.StringIndexOutOfBoundsException: Range [34, 2) out of bounds for length 64

<Section

<!-- #################################################################### -->

<Label":nplus1Group"
<Heading>
  The <M( 036) 1836))  (36),(36 )  (),(36)) 
</>

The following group acts transitively on the set of positive integers
forwhich the <>n1<M>   which   by6

<Example>
<![CDATA[
gap> :=ClassTransposition,2,,);;
gap> b := ClassTransposition(1,3,2,6);;
gap> c := ClassTransposition(2,3,4,6);;
ap> =Group(,,)
<(1(2),4(6)),(1(3),2(6)),(2(3),4((() ()) (2136, 2836) ,( 21(36)33() ),
gap> LoadDatabaseOfGroupsGeneratedBy3ClassTranspositions();
"3CTsGroups6"
gap> 3CTsGroups6 36 36)  21) 36 ,(21() ()) 
44132
]]>
<Example>

othis,consider the action  MGM onthe <Q<M>3n1/ <>.
The vertices of this tree are the positive integers for which java.lang.StringIndexOutOfBoundsException: Range [0, 65) out of bounds for length 58
conjecture holds, and for every vertex <M>n</M> there is an edge from
<</M> denotes Collatzmapping 
<Alt Only="LaTeX">
  <Display>
  <![CDATA[T: \ \ \mathbb{Z} \longrightarrow \mathbb{Z}, \ \ \ \
    n 0() (18 , ( () ()) (39,11() )(0() () ,
    \begin{cases}
      \frac{n}{2}    & \text{if} \ \ n \   (),4))  () 418 ),(0(9) (18 )  (6, 14()) 
      \( 0(6),(24)) (8(2) (8 , (7(12) 17(8), 
   end{}]java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
  /
</Alt>
<Alt Only="HTML"><![CDATA[<center>
  <img ="ollatz..png width  ""height  ""
       alt = "T: Z -> Z, n |-> (n/2 if n even
</center>]]></Alt>
<Alt Only="Text"/Example>
                                      /
                                      /2  neven,
               unc= =p/)<>
                                      | (3n+ <>java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 64
                                      \
]]></Verb>
(;<Ref Label"h:/)java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
It is easy to check that for every vertexHeading>
<M>b</M> or <M>c</M> maps <M>n</M> to <M>T(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
other two generatorsfor which <M3+</> conjectureholds which java.lang.StringIndexOutOfBoundsException: Range [57, 56) out of bounds for length 76
<Example
So>3+/M>conjectureisequivalentto theassertionthat java.lang.StringIndexOutOfBoundsException: Range [69, 70) out of bounds for length 69
group <MG<M>acts transitivelyonM{} setminus06</.
First let's have a look at balls of small radius about 1 under the
actionof MG/ -these of those numberswhose 
under <M>gap>c: (,34);

<Example>
<![CDATA12),(6),((),())((),6>
gap> Ball(G,1,5,OnPoints);
[ 1, 2, 4, 5, 8, ();
gap> Ball(gap> CTsGroups6.d3CTsGroup(G,3CTsGroups6.rps;  'catalogue number' of G
[ 1, 2, 3, 4, 5, 44132
  128, 160, 170, 256, 320, 340, 341, 512, 1024, 2048 ]
gap> seethis,consider theactionof <><M the QM>3+11<M> tree</>
[ 1, of treearethepositive for  the<>n+</>
  35, 40, 44 holds andfor vertexM><M there is anedgefrom
  ,136 ,141, 151,,170,208,212,213,226,227,256,272, 
  277, 280, 301, 302, 320, 340, 341, 416, 424, 452, 453, 454, 512, 640, 
   ,832,853,904,908 909 , , ,, , 
  1664, 1696, 1706, 1808, 1813, 1816, 2048, 2560, 2720, 2728, 4096, 
   ,5456,5461,8192 ,10880,10912,10922, ,
  32768, 65536 ]
gap>\frac3+1}2} &\{}\ \n\\ tis odd}
[ [ 1 ], [\ndcases}]>
  [ 3/
  [ 26,/
  [ 17, 104, 106, 113, 640, 680, 682, 4096 ], 
  [ 34, 35, 208, 212, 213, 226, 227, 1280, 1360, 1364, 1365, 8192 ], 
    , , ,70, 75, 416, 424, 452  454 2560  ,16384
     ], 
  [ 22, 23[11 68,69  ,416,424,452,453,454,2560 2720   
      5440, 5456, 5461, 32768 ] 22,23 ,  151 ,java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
   ,45,46, 272 277,280,301,302,1664,1696 1706 1808 
      1813, 1816, 10240, 10880, 10912, 10922, 65536 ] ]
((,,50,,Length;
[ 1, 2, 1, 1, 2, 2, 4, 2, 4, 4, 6, 8, 12, 14, 17, 20, 26, 32, 43, 52, 
  66, 81, 104 ,28924 36532, ,58399,
  1730 ,,35224429, , ,8978 ,14296 .7457 1.,
  22828, 28924, 36532, 126056, 125752, 1.126537 ., ., 
gap> 1.26315, 1.26415, 1 126303,1.6317 1., . ]
[ 2., 0.5, 1., 2., 1., 2>Difference(Filtered(1.100,n-n mod6 < ),BallG140OnPoints)java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
  1.21429, 1.17647, 1.3, 1.23077, 1.34375, 1.2093, 1.26923, 1.22727, 
  >List
  ., 27259 25544,1.,1., .27457, .26712,
  1.26056, 1.25752, 1.26688, 1.26537, 1.26451, 1.26342, 1.26034,toM<Mjava.lang.StringIndexOutOfBoundsException: Range [12, 13) out of bounds for length 12
  1.26315, 1.26415, 1.26704, 1.26303, 1.26317, 1.26553, 1.java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 42
gap> Difference[a ,c] -   1() 46 ,(3) () , ( (),4()) java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
[ 27, 31, 41, 47, 55, 62, 63, 71,/Examplejava.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
gap> T := RcwaMapping([[1,0,2],[3,1,2]]);;
gap> List(last2,n->java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 9
[ 71, 68, 70, 67, 72, 69, 69, 66, 74, 71, 71, 60, 68, 68gap> List(B,Length);
]]>
</Example>

 convenient   anepimorphism fromthefreegroupof rank
to <M>G</M>:

<Example>
<![CDATA[
gap> F := FreeGroup("a","b","c");
f group [a,b,  >
gap> phi := EpimorphismByGenerators(F,G);
[ a, b, cgap> g =a*b;; Orderg);;
]]>
</Example>

We can compute

<Example>
<![CDATA[
gap> B :=  (6),(6,418,212 )(() 36,10))
gap> List(B,Length);
[ , 6 ,24 48  192 ]
gap> List(B[3],Order);
[ 12, infinity, infinity, infinity, infinity, 12 </Example
gap> List(B[3],g->Spending some more time to compute <C>B := Ball(G,One(G),12:Spheres);;</C>,
[b*a,c* *aa ca*, * ]
gap> g := a*b;; Order(g);;
gap> Display(g);

Rcwa permutation of Z with modulus 18,3   ,but which  identityin M/>

(1(), 836), (18) () )(36) () (18 java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
( 5(6), 32(36), 16(18) )

]]>[[
gap>  =(*)^3*b*; Orderg;

Spending some more time to compute <C>B := java.lang.StringIndexOutOfBoundsException: Range [0, 47) out of bounds for length 16
one cancheckthat<>(){12}/>isthe shortest  generators
of <M>G</M> which
3 cyclic groups of order 2,288) 96,128(),32(36))
owever, thegroup <><M>  ofother orders as well --
for example:

<>
<![CDATA[
gap> g := (b*a)^3*b*c;; Order(g);;
gap>Order(*cb*****)java.lang.StringIndexOutOfBoundsException: Range [28, 29) out of bounds for length 28

Rcwa permutation of Z <>

( 8(9),1618, ()256(,85(6,128144,32) java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
( 712,11(),2236))( 5) 10() 40(144) 13(48,
  20(72) ) ( 1(24), 2(36), 4(72) ) ( 14(36), 28(72), 112(288), 
  37(96), 56(144) )

gap> Order(a*c*b*a*b*c*a*c);
60
]]>
</Example>

With some more efforts, one finds that e.g. <M>(abc)^2c^b</M> has order
616, that <M>(abc)^2b</M> has order 2310, that <M>(ab)^2a^ca^bc</M> has
order 27720, and that <M>a(c(ab)^2)^2</M> has order 65520.
Of course <M>G</M> has many elements of infinite order as well.
Some of them have infinite cycles, like e.g.

<Example>
<![CDATA[
gap> g := b*c;;
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 0

Rcwa permutation of Z with modulus 12

        /
        | 4nRcwa permutation of Z with modulus 12
        | 2n  if n in 5(6)
 n |-> <  n/2 if n in 2(12)
        | n/4 if        | n nin1(3)
         n nin 03
        \

gap> Sinks(g);
[ 4(12) ]
gap> Trajectory(g,last[1],10);
[ 4(12), 16(48), 64(192), 256(768), 1024(3072), 4096(12288), 
  16384(49152), 65536(196608), 262144(786432), 1048576(3145728) ]
gap> Trajectory(g,4,20);
[ 4, 16, 64, 256, 1024, 4096, 16384, 65536, 262144, 1048576, 4194304, 
  16777216, 67108864, 268435456, 1073741824, 4294967296, 17179869184, 
  68719476736, 274877906944, 1099511627776 ]
]]>
</Example>

Others seem to have        
<Q>on average</Q> comparatively <Q>short</Q> cycles, like e.g.
 
<Example>
<![CDATA[
gap> g := a*b*a*c*b*
<rcwa  of   modulus 144>
gap> : (g,010000,,020;java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
gap> Difference([0..10000],Union(cycs));
[  ]
gap> Collected(List(cycs,Length));
[ [ 1, 2222 ], [ 3, 1945 ], [ 4, 1111 ], [ 5, 93 ], [ 6, 926 ], 
java.lang.StringIndexOutOfBoundsException: Range [28, 2) out of bounds for length 72
  [ 13, 1 ], [ 14, 31 ], [ 16, 12 ], [ 18, 4 ], [ 20, 1 ] ]
]]>
</Example>

Iffthecycle of <g<M containing  <>nn\in &ZZ;<M>isfinite
and has a , 16, 64,256,1024 , 16384 ,java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
such that for every <M>k \in &ZZ;</M> the cycle 
<M>n + km</M> has length <M>l</M> as well. Thus, in other words, every
<M><Qbelongsto</>a cycle ofresidueclassesjava.lang.StringIndexOutOfBoundsException: Range [70, 71) out of bounds for length 70
(This is a special property of <M>g</M> which is not shared by every
rcwa permutation -- cf. e.g. Collatzjava.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 9
Section <Ref Label="sec:FactoringTheCollatzPermutationrcwa permutation of Z with modulus 144>
We can find some of these infinitely many <Q>residue gap>cycs = ShortCycles(g,0.],,10^);

<
<![CDATA[
gap> cycsrc := ShortResidueClassCycles(g,Mod(g),20);
[  java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
  [ 7(18), 352(864), 44(  ,2222 ,[3 1945 ] [ 4  ,[5  ,[6,926 ] 
  [ 11(18), 544(864), 2896(4608), 362(576), 68(108), 884 ], [ 12, 95 ], 
   () () (108) 52()],[10()] [34),
  [1(4,642592),8() 4216,16(1152) ()] 
  [ 5(54), >has <>/>aswell Thus inother  every
      (2304 () ,
  [ 17(54), 832(2592), 4432(13824),his a pecialproperty of<M>g<>whichisnotshared  
      104324,136()], 
  [ 37(Sectionnbsp;Ref(6), 160,2036 ,
  [ 41(54[7(8,352864) (),28(2)] 
      () 288)] 
  [ 53(54), 2560([13(8) 640(864),108, 3434()] 
      1706(1728), 320(324), 424(432) ], [ 38(72[,642592,8() (216,(1152,2),
  6272,94108) ()]]
gap> List(cycsrc,Length);
[ 1, 3, 4, 6, 4, 1, 1, 6, 8, 8, 6, 8, 8, 3, 3 ]
gap> Sum(List(Flat(cycsrc),cl->1/Mod(cl)));
97459/110592
gap>Float(ast);  about%''
0.881248
gap : (,3*Modg),;
[ [ 0(6) ], [ 3(6), 160(288), 20(36) ], 
  [ 7(18), 352(864), 44(108), 28(72) ], 
  [ 11(18), 544(864), 2896(4608), 362(576), 68(108), 88(144) ], 
  [13(),640864,(108,52(72 , () ,36 , 
  [ 1(54), 64(2592), 8(324), 4(216), 16(1152), 2(144) ], 
  [ 5(54), 256(2592), 1360(13824), 170(1728), 32(324),  [ 7(18), 352(864), 44(108), 28(72) ], 
      208(2304), 26(288) ], 
  [ 17(54), 832(2592), 4432(13824) (), (),5272) ][ 1036],[ 34(34()] 
      (324,136432) ,java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 28
  [ 37(54), 1792(2592), 224(324), 148(216), 784(1152), 98(144) ], 
  [ 41(54), 1984(2592), 10576(13824), 1322(1728), 248(324), 328(432), 
      1744(2304), 218(288) ], 
[53(4) () 1364813824 (,9098() 
      1706(1728), 320(324), 424(432) ], [ 38(72), 58(108), 304(576) ], 
  [ 62(72), 94(108), 496(576) ], 
  [ 23(162), 1120(7776), 5968(41472), 746(5184), 140(972), 184(1296), [41) (2592 1057613824),1322(1728) 248) () 
      976(6912), 5200(36864), 650(4608), 122(864) ], 
  [ 35(162), 1696(7776), 9040(41472), 48208(221184), 257104(1179648), 
      (972),280(296)],
  [ 73(162), 3520(7776), 440(972), 292(648), 1552(3456), 8272(18432), 
      1034(2304), 194(432) ], 
   (162),3712, 1979241472),2474(),464() (),
      3280(6912), 17488(36864), 2186(4608), 410(864) ], 
  [ 89(162), 4288(7776), 22864(41472), 121936(221184), 650320(1179648), 
      (,15242(27648, 28585184, 972 ()] 
  [ 127(162), 6112(7776), 764(972), 508(648),[35162, 1696(776) (),48208(221184,257104(179648) 
      18022304) 338()] 
  [ 14(216), 22(324), 112(1728), 592(9216), 74(1152) ], 
  [ 86(216), 130(324), 688(1728), 3664(9216), 458(1152) ] ]
gap)
[ 1, 3, 4, 6, 4, 1, 1[ 7162) 1979241472 (5184,464972, (1296) 
   
gap> Sum(List(Flat(cycsrc),Density));
5097073/5308416
gap> Float(last); # already about 96% 'coverage'
0.960187
]]>
</Example>

There are 1802(2304,338432],java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
all finite, but <Q>on average</Q> pretty <Q>long</Q> -- e.g.

<Example>
![CDATA
gap> g [,3,46,  1 , 6 8,8, 6,8 8 3  10,108, , 10 ,5 
gap> Display(5]

Rcwa permutation of Z with modulus 288

        gap>() #already about 96 coverage
         16n1/   n  13
<
        | (27n+19)/4  if n in 15(24) U 23(24)
         (n+java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
        |  Display()java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
        | (27n+29)/8  if n in 9(48) U 41(48)
        | (9n+7)/8    if n in 17(48) U 33(48)
 2-7/    if n  (36
 n |-> <  (4n-11)/9   if n in 32(36|(3n+)4if n 524)
        | (27n+38)/8  if n in 14(48)
        | (3n+2)/8    if n in 26(48)
        | (9n+10)/8   if n in 38(48)
         34/     n in20)
        | n/4         if n in 56(72)
        | (|(2-)9   if n  (36
        | (27n+58)/16 if n in 50(96)
        | n           if n in 0(6)
        \

gap> List([1..100],n->Length(Cycle(g,n)));
[ ,,6,6,1,194 ,216, , 26 1,26, , 65 , , 1 216 
  26, 6, 216, 46, 1, 640, 26, 70, 194, 216, 1, 70, 26, 216, 216, 26, 1, 
  194, 216, 73, 26, 110, 1, 194, 216, 194, |()16if in ()
  194, 26, 1, 171, 194, 204, 640, 216, 1, 111, |(n+58)16 if  in 50)
  ,26,111 ,1,50 ,26,216 640   26 111 40,110 
  1, 26, 194, 385, 640, 88, 1, 100, 111, 65, 110, \
   ]
gap> Length(Cycle(g[6,1 6 66 6 1 194,6,216,26,26,1,26,194, ,,26 1,216,
640
  194,216,73 ,110,1,194 216 , ,39 1, 194, ,
323270249684063829
gap> Length(Cycle(g,25855));
4751
gap> Maximum(Cycle(g,25855));
507359605810239426786254778159924369135184044618585904603866210104085
gap> cycs := ShortCycles(g,[0..50000],10000,10^100);;
java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 22
gap> for cyc in cycs do S := java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 25
gap> S;gap>Maximum(ycleg,))java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
[  ]
]]>
</Example>

Taking a look at the lengths of the trajectories of the Collatz mapping
<M>T</M> starting at the points in a cycle, we can see how a cycle of
<M>g</M> goes <Q>up and down<gap>   do   DifferenceScyc) java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51

<Example>
<![CDATA[
gap> List(Cycle(g,25),n->Length(Trajectory(T,]>
[ 17, 21, 25, 29, 33, 31, 35, 34, 32, 33, 37, 41, 45, 44, 42, 39, 43java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  41, 45, 44, 42, 43, 40, 38, 35, 39, 37, 41, 40, 44<[CDATA[
  ,45 46 ,48 ,45,46,50 ,4,43 ,38,39,
  36, 34, 30, 27, 31, 29, 33, 32, 30, 31, 35, 33, 37, 36, 40, 39, 43, 
  41, 45, 44, 42, 43, 47, 51, 55, 53, 57, 56, 54, 55, 59, 58, 62, 66, 
  64, 68, 67, 65, 47,48,45,,,44 ,47,45,46,50 ,47,43,41,38,39,
  36,34,30,27,31,29,33 
  50, 48, 45, 49, 47, 51, 50, 54, 52, 56, 55, 53, 54, 58, 62, 66, 70, 
  74, 72, 76, 75, 79, 83, 87, 91, 90, 94, 93, 97, 95, 99, 98, 96, 97, 
  ,91 ,85,89 ,91 90 88 89 ,84,81,85, 83,87,86, 
  90, 94, 98, 97, 101, 105, 109, 107, 111, 110, 108, 109, 113, 117, 115, 
  119, 118, 122, 126, 125, 123, 120, 124, 122, 126, 125, 123, 124, 121, 
  119, 116, 117, 114, 111, 115, 113, 117, 116, 114, 115, 119, 123, 122, 
  120, 117, 121, 119, 123, 122, 120, 121, 118, 116, 112, 110, 106, 103, 
  ,105 ,108,106, ,111, ,113 ,116 ,118,117 
  115, 116, 113, 110, 111, 108, 104, 102, 99, 103, 101, 105, 104, 108, 
  ,110,109 107 ,112 111 109, 102,103,100,98,95,, 
  92, 96, 94, 98, 97, 95, 96, 93, 91, 88, 92, 90, 94, 93, 97, 101, 105, 
  09 ,106,103,107, 105,, ,106,107 104,102,99103 
  101, 105, 104, 108, 112, 110, 114, 113, 111, 112, 116, 115, 113, 109, 
  106, 110, 108, 112, 111,93 ,88,92,90 94,93 ,101,105, 
   105, ,103,100,98,95, ,97 101,100 , 107 ,
  109, 108, 106, 107, 104, 101, 98, 99, 96, 94, 91, 92, 89, 87, 84, 85, 
  ,80  , 79,83 82,86 , 89,88 86,83,80 81,78,76,
  73, 74, 71, 68, 72, 70, 74, 73, 71, 72, 76, 80, 79, 83, 87, 91, 90, 
  88, 85, 89, ,80,77,81, 79,83  ,85,89 88 86 83 80, 81,78 76,
  92 ,95,93 94 98 96,100,99,97 98 102,106  114,113,
  111, 108, 112, 110, 114, 113, 111, 112, 109, 107, 104, 108, 106, 110, 
  109, 113, 117, 115, 119, 118, 116, 117, 114, 111, 115, 113, 117, 116, 
  114, 115, 119, 118, 116, 112, 110, 107, 108, 105 111 ,112,110,114,113 , 112,109 107,104,108,106,110,
  106, 105, 109, 108, 112, 110, 114, 113, 111, 112, 116, 115, 113, 109, 
  106, 103, 104, 101, 99, 95, 91, 88, 92, 90, 94, 93, 91, 92, 96, 94, 
  98, 97, 95, 96, 100, 98, 102, 101, 105, 104, 102, 99, 100, 97, 93, 89, 
  87, 84, 85, 82, 80, 77, 74, 78, 76, 80, 79, 77, 78, 75, 73, 69, 67, 
  64, 68, 66, 70, 69, 73, 71, 75, 74, 72, 73, 70, 67, 68, 65, 63, 60, 
  64, 62, 66, 65, 69, 68, 66, 63, 64, 61, 59, 56, 60, 58, 62, 61, 65, 
  64, 62, 59, 60, 57, 55, 51, 48, 49, 46, 44, 40, 37, 34, 35, 32, 28, 
  26, 23, 27, 25, 29, 28, 32, 30, 34, 33, 31, 32, 36, 35, 33, 29, 26, 
27 ,22, , 18,14, ,
  22, 20, 24, 23, 21, 22, 19, 16, 20, 18, 22, 21, 19, 20, 24, 23, 21, 
  17, 15, 17, 15, 19, 18, 16 ]
gap> lngs := List27 24 22, ,19,23 21,,24,28,27 25 22 23 ,18 14,18,
gap> Minimum(lngs);

gap>
521
gap> Position(lngs,55);
15
gap> Position(lngs,521);
2807
]]>
</Example>

Finally let's have a look at elements of <M>G</M> with small modulus:

<Example>
<![CDATA[
gap> B := RestrictedBall(G,One(G),20,36:Spheres);;
gap> List(B,Length);
[ 1, 3, 6, 12, 4, 6, 6, 4, 4, 4, 6, 6, 3, 3, 2, 0, 0, 0, 0, 0, 0 ]
gap> Sum(last);
70
gap> Position(last2,0)-2;
14
]
</,401 ,405 ,,, 338,330 332,

wehave 70elementsof  36or lessinMG/>which
can be reached from the java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 2
generators without passing elements with mudulus exceeding 36.
java.lang.StringIndexOutOfBoundsException: Range [15, 7) out of bounds for length 66
element with;14.
Now we double our bound[48, 4,[   ]]

<Example/Example>
<![CDATA[
gapWe  there are  elementsin MG<M> with modulus72
ListB,ength);
[ 1, 3, 6, 12, 22, 14, 18, 22, 24, 26, 26, 34, 35, 32, 37, 38, 46, 58, 
   ,82,91 , ,110,  114 ,146,138,148 168 74, 
  196, 215, 214, 232, 255, 2800212,((),(),()06))>
  ,,405, , 405 , ,415,435,424,401  ,,332 
  281  =ShortOrbitsG[..]100);java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
  ,88,55,35,20 , 5,1 2,0, ,0,0 0 ,  0 ,0 0 ,, 8 ,8 ,2 2 
  0, 0, 0, 0, 0 ]
gap Sumlast;
15614
java.lang.StringIndexOutOfBoundsException: Range [25, 26) out of bounds for length 25
83
gap> Collected(List(Flat(B),Modulus));
[ [ 1, 1 ], [ 6, 3 ], [ 12, 4 ], [ 18, 2 ], [ 24,gap Collected(ast)java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 21
[484]  72,15540 ]]
]]>
</Example>

We observe that there are 15540 elements in <M>G</M> with modulus 72
which <Q>reachable</>from the identity successive
withw elements with mudulus
exceeding 72. Further we see that the longest word in the generators
yielding an element So almost half of the inin range <C[.1000<C>  java.lang.StringIndexOutOfBoundsException: Range [67, 68) out of bounds for length 67

Itis obviousmanyquestionsregarding group<M><M
remain open.

</Section>

<!-- #################################################################### -->

<java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 47
<Heading>
   huge orbits
</Heading>

In this section we investigate a group which has huge finite orbits on &ZZ;.

java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 9
< Position(,[)java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
gap> a := ClassTransposition(0,2,1,2);;
gap(0,545;java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
gap> FlatB)java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
gap> G :=
<(0(2),1(2)),(0(5),4(5)),(1(4),0(6))>
gap> LoadDatabaseOfGroupsGeneratedBy3ClassTranspositions :=ab*;java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
"3CTsGroups6"
gap> 3CTsGroups6.Rcwa permutation of Z with modulus 60
1284
]]>
</Example>

We look for orbits of length at most         |                  (0)
range<C>[0.1000/>

<Example>
<![CDATA[
gap> orbs := ShortOrbits(G,[0..1000],100);;
gap> List(orbs,Length);
[ 16, 2, 24, 2, 2, 2, 8,        |n3        nin1()U 
  8, 2, 2, 8, 2, 24, 8, 2, 56, 2, 2, 2, 8, 2, 8, 2, 2, 8, 2, 8, 2, 2, 2, 
  24, 2, 8, 2, 8, 2, 2, 8, 2, 8, 2, 24, 2, 2, 2, 8, 2, 8, 2, 2, 8, 2, 8, 
  ,2 2, 2, 2 ,24 ,8,2  8 ,24,8 ,2, ,2, , ,8, ,2,
  8, 2, 8, 2, 2, 2, 24, 2, 8, 2, 8,   736:after250000 stepstheiteratehas 414binary java.lang.StringIndexOutOfBoundsException: Range [63, 62) out of bounds for length 63
gap  [166,2 ,[ ],[176 24,[,2 ] [196  ] 
[ [ 2, 67 ], [ 8, 32 ], [ 16, 1 ], [ 24, 9 ], [ 40, 1 ], [ 56, 1 ] ]
gap> Length(Difference([0..1000],Union(orbs)));
491
]]>
< ,8 ,[ 322 2 ][326 2] 332,8], [ 346  ,java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62

So almost half of the[386,2 , 392,24 ,[406,2 ,[412 8 ][ 416 200 ] 
orbits of length larger than 100. In fact there are much larger orbits.
For example: 

<
<![CDATA[
gap> B := Ball(G,32,500,OnPoints:Spheres);; # compute ball about 32
 PositionB,];#>fail > exhausted  orbit
354
gap> L(BL); #theorbit 
6296
> Maximum(Flat()# largest integerin orbit
3301636381609509797437679
gap> B := Ball(G,736,5000,OnPoints:Spheres);; # the same for 736 ...
gap> Position(B,[]);
2997
gap> Sum(List(B,Length)); # the orbit length for this time
495448
gap> Maximum(Flat(B));
java.lang.StringIndexOutOfBoundsException: Range [74, 73) out of bounds for length 74
[ 802, 2 ], [ 806, 2 ], [ 812, 8 ], [ 826, 2 ], [ 832 120 , 
847078493406287854573381920553713155967741550498839
]]>
<java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 10

It seems that the cycles of <M>abc</M> completely traverse  [952  , [ 956,956 8, [962,2]  ,24,[,2,
of <M>G</M>, with the only java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 3
in the above examples:

<Example>
<![CDATA[
gap> g := a*b*cthan 10000001000000 thecycle containing has length245719352
 Displayg;

Rcwa permutation of Z with modulus 60

        /
        | n-1       if checking his mayrequire a of computing  <P/
        |                   29(30)
        | 3n/2      if n in 0(20) U 12(20) U 16(20)
        | n+1       if n in 2(20) U 6(20) U 10(20)
        | (2n+1)/3  if n in 7(30) U 13(30) U 19(30)
        | n+3       if n in 1(30) U 11(30)
 n |-> <  n-5       if n in 15(30) U 25(30)
        | (3n+12)/2 if n in 4(20)
        | (3n-12)/2 if n in 8(20)
         +       if  in (20java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
        | n-3       if n in 18(20)
        |(n7/   n 5(0
        | (2n+9)/3  if n in 21(those here:
        \

gapCDATA[
6296
gap> Length(Cycle(gap> h := a*b*c*a*c
495448
]]>
<Example

Representatives and lengths of the cycles of <M>g</M> which intersect
nontrivially with the range <C>[0..1000]</C>  ,247724]

<Example>
!CDATA[
gap> CycleRepresentativesAndLengths(g,[0..1000]:notify:=50000);
n = 736: after 50000 steps, the iterate has 157 binary digits.
n = 736: after 100000 steps, the iterate has 135 binary digits.
n = 736: after 150000 steps, the iterate has 131 binary digits.
n = 736: after 200000 steps, the iterate has 507 binary digits.
n = 736: after 250000 steps, the iterate has 414 binary digits.
java.lang.StringIndexOutOfBoundsException: Range [57, 1) out of bounds for length 63
n = 736: after 350000 steps, the iterate has 465 binary digits.
n = 736: after 400000 steps, the iterate gap> positions2 := List(Cycle(h,33),n->Posit,);
java.lang.StringIndexOutOfBoundsException: Range [21, 1) out of bounds for length 63
n = 896: [[0  ]]
n = 896: after 100000 steps]]>
,  ,[ 2,2 ,[  24,[ ,2 ]  26, 2]  32 6296,
  [ 
[86,2 , ,8]  106  ,[112,104], [ ,  ,
  [ 122, 2 ], [ 136, 440 ], [ 142, 2 ], [ pretty <></>java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 24
  [ 166, 2 ], [ 172, 8 ], [ 176, 24 ], [ 182, 2 ], [ 196, 8 ], 
  [ 202, 2 ], [ 206, 2 ], [ 212, 8 ], [ 226, 2 ], [ 232, 24 ], 
  [ 236, 8 ], [ 242, 2 ], [ 256, 56 ], [ 262, 2 ], [ 266, 2 ], 
  [ 272, 408 ], [ 286, 2 ], [ 292, 8 ], [ 296, 104 ], [ 302, 2 ], 
  316  ] [322  ,[, 2]  332,8 ] [346,  ,
  [ 352, 264 ], [ 356, 8 ], [ 362, 2 ], [ 376, 1304 ], [ 382, 2 ], 
  [ 386, 4, 47 ,51,67,6223,6221, 69  6215, 6205,6209,6211 
  4,2]  436  ,[442,2 ]  446, ] [ 452,  ,java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
  [ 466, 2 ], [ 472, 104 ], [ 476, 8 ], [ 482, 2 ], [ 496, 24 ], 
  [ 502, 2 ], [ 506, 2 ], [ 512, 696 ], [ 526, 2 ], [ 532, 8 ], 
  [ 536, 3912 ], [ 542, 2 ], [ 556, 8 ], [ 562, 2 ], [ 566, 2 ], 
  [ 572, 8 ], [ 586, 2 ], [ 592, 888 ], [ 596, 8 ], [ 602, 2 ], 
java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
  [ 652, 8 ], [ 656, 24 ], [ 662, 2 ], [ 676, 8 ], [ 682, 2 ], 
  [ 686, 2 ], [ 692, 8 ], [ 706, 2 ], [ 712, 24 ], [ 716, 8 ], 
  [ 722, 2 ], [ 736, 495448 ], [ 742, 2 ], [ 746, 2 ], [ 752, 1272 ], 
  [, 2],[772,8 ]  ,  ,[782 2]  796  ,java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
  [ 802, 2 ], [ 806, 2 ], [ 812, 8 ], [ 826, 2 ], [ 832, 120 ], 
  [ 836, 8 ], [ 842, 2 ], [ 856, 2264 ], [ 862, 2 ], [ 866, 2 ], 
  [ 872, 24 ], [ 886, 2 ], [ 892, 8 ], [ 896, 132760 ], [ 902, 2 ], 
  [ 916, 8 ], [ 922, 2 ], [ 926, 2 ], [ 932, 8 ], [ 946, 2 ], 
  [ 952, 456 ], [ 956, 8 ], [ 962, 2 ], [ 976, 24 ], [ 982, 2 ], 
  [ 986, 2 ], [ 992, 1064 ] ]
]]>
</Example>

So far the author has checked that all positive integers less than
173176 lie in finite cycles of <M>g</M>. Several of them are longer
than 1000000, and the cycle containing 25952 has length 245719352.
Whether the cycle containing 173176 is finite or infinite has not
been checked so far -- in any case it is longer than 5700000000, and
it exceeds <M>10^{40000}</M>. Presumably it is finite as well, but
checking this may require a lot of computing time. <P/>

On the one hand the cycles of <M>g</M> seem to behave <Q>randomly</Q>,
perhaps as if they would ascend or descend from one point to the next
by a certain factor depending on which side a thrown coin falls on.
-- In this <Q>model</Q>, cycles would be finite with probability 1
since the simple random walk on &ZZ; is recurrent.
On the other, there seems to be quite some structure on them,
however little is known so far. <P/>

First we observe that each orbit under the action of <M>G</M>
seems to split into two cycles of <M>h := abcacb</M> of the same
length (of course this has been checked for many more orbits than
those shown here):

<Example>
<![CDATA[
gap> h := a*b*c*a*c*b;
<rcwa permutation of Z with modulus 360>
gap> List(CyclesOnFiniteOrbit(G,h,32),Length);
[ 3148, 3148 ]
gap> List(CyclesOnFiniteOrbit(G,h,736),Length);
[ 247724, 247724 ]
]]>
</Example>

One cycle seems to contain the points at the odd positions and the
other seems to contain the points at the even positions in the
cycle of <M>g</M>:

<Example>
<![CDATA[
gap> cycle_g := Cycle(g,32);;
gap> positions1 := List(Cycle(h,32),n->Position(cycle_g,n));;
gap> Collected(positions1 mod 2);
[ [ 1, 3148 ] ]
gap> positions2 := List(Cycle(h,33),n->Position(cycle_g,n));;
gap> Collected(positions2 mod 2);
[ [ 0, 3148 ] ]
]]>
</Example>

However the ordering in which these points are traversed looks
pretty <Q>scrambled</Q>:

<Example>
<![CDATA[
gap> positions1{[1..200]};
[ 1, 6271, 6291, 6281, 6285, 6287, 6283, 6289, 6273, 6275, 6277, 6279, 
  6293, 5, 15, 17, 19, 6259, 6261, 6263, 6265, 21, 23, 25, 41, 6227, 
  6229, 6231, 6233, 6235, 6237, 6239, 43, 53, 55, 57, 63, 59, 61, 65, 
  45, 47, 49, 51, 67, 6223, 6221, 69, 6163, 6215, 6205, 6209, 6211, 
  6207, 6213, 6165, 6171, 6177, 6179, 6181, 6183, 6175, 6173, 6185, 
  6189, 6191, 6187, 6193, 6169, 6167, 6195, 6199, 6201, 6197, 6203, 
  6217, 73, 83, 85, 87, 103, 113, 115, 117, 4357, 4361, 4363, 4359, 
  4365, 4371, 4373, 4375, 4377, 4369, 4367, 4379, 119, 121, 123, 125, 
  129, 131, 127, 133, 139, 141, 143, 145, 137, 135, 147, 149, 151, 153, 
  155, 159, 161, 157, 163, 169, 175, 4283, 4281, 177, 4271, 4273, 4275, 
  4277, 181, 4255, 4257, 4259, 261, 4263, ,,2161,2163,
  4195, 4199, 4201, 4197, 4203, 4209, 4211, 4213, 4215, 4207, 4205, 
  4217, 2165, 2167, 2169, 2171, 2175, 2177, 2173, 2179, 2185, 2187, 
  2189, 2191, 2183, 2181, 2193, 2195, 2197, 2199, 2201, 2467, 2469, 
  4117, 4121, 4123, 4119, 4125, 4131, 4133, 4135, 4137, 4129, 4127, 
  4139, 2471, 2473, 2475, 2477, 2487, 2489, 2491, 2507, 2517, 2519, 
  2521, 2537, 3923, 3925, <[DATA[
]]>
</Example>

</Section>

<!-- #################################################################### -->

<="FourTransitiveGroup>
<Heading>
  A group which acts 4-transitively on the positivegap>tups:= tups,up>ForAll[1,]31,2,4,[,2]java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
</Heading>

In this section, we would like to show that the group <M>G</M> generated
by the two permutations

<java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
<![CDATA[
gap> a := RcwaMapping(java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
gap> u := RcwaMapping([[3,0,5],[9,1,5],[3,-1,5],[9,-2,5],[9,<!CDATAjava.lang.StringIndexOutOfBoundsException: Range [9, 10) out of bounds for length 9
gap> SetName(a,"a");  256, 400,,400 100 32,324,400 ,400 ,25  35,
]]>
</Example>

which we have already investigated in earlier examples acts 4-transitively
on the    integersjava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32

Obviously1875,75 225, 405, 225, 225,675 ,2187, 729, 2187,216 ,
First we show that 243, 2187, 1944, 2187 ,,576 ,,81 729, 2187 

We start by checking in which residue classes sufficiently large positive
integers are mapped to smaller ones by a suitable group element:

<Example>
<![CDATA[
gap> List([a,a^-1,u,u^-1],DecreasingOn);
[ 1(2), 0(3), 0(5) U 2(5), 2(3) ]
gap> Union(last);
Z \ 4(30) U 16(30) U 28(30)
]]>
<Example>

We see that we cannot always choose such a group element from the set of
generators and their inverses -- otherwise the  coefficient of the respective mapping are mappedintegers:
<C>Integers</C>.

<[DATA[
java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 41
gap> List([a,a^-1,u,u^-1,a^2,a^-[  ,8 25 9,9 16,100 , 50,, 75 ,81 ,81 ,400,
[1(), () 5)U 25, 2(),(8 U () 03 U2()U (),
  0(25) U 12(25) U 17(25) U 20(25), 2(3) U 1(9) U 3(9) ]
gap> Union(last); # Still not enough ...
Z \ 4(90) U 58(90) U 76(90)
java.lang.StringIndexOutOfBoundsException: Range [21, 3) out of bounds for length 70
>         DecreasingOn);
[ 1(2), 0(3), 0(5) U 2(5), 2(3), 1(8) U 7(8), 0(3) U 2(9) U 7(9), 
  0(25) U 12144 324 972,400, ,80 80 ,2500,100 1250,625,625,25, 
  3(5) U 0(1045 135 600 120,150,1875 ,225,135,225,225,675 
gap> Union(last); # ... but that's it!
Integers
]]>
</Example>

Finally, we have to deal with <Q>small</Q> integers. java.lang.StringIndexOutOfBoundsException: Range [0, 55) out of bounds for length 15
the coefficients of rcwa mappings introduced Since the least common multiple of the moduli of these unions of residue
Let <M>c_{r(m)} > a_{r(m)}</M>. Then we easily see that
<M>(a_{r(m)}n+b_{r(m)})/c_{r(m)} > n</M> implies
<M &;b_{r(m}/c_rm}a_rm))<M.
Thus we can restrict our considerations to integers
<Mn&;b_{rm }/>  <>{\m max<M>isthelargest
 entry  acoefficienttripleofone of the group elements
in our list:

<ExampleExample>
<![CDATA[
gap> List([a,a^-1,u,u^-1,a^2,a^-2,u^2,u^-2,a
>         f->Maximum(List(Coefficients(f),c->c[2])));
[ 1, 1, 4, 2, 7, 7, 56, 28, 25, 17, 17, 11unionof30 classes(od 
gap> Maximum(last);
56
]]>
</Example>

Thus this upper bound is 56. The rest is easy -- all we have to do is
to check that the orbit We have to treat 4 separately
integers less than or equal to 56:

<Example>
<[DATA[
gap> S := [1];;
gap> while not IsSubset(S,[1..56]) do
>      S := Union(S,S^a,S^u,java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
>    od;
gap> IsSubset(S,[1..56]);
true
]]>
</Example>

Checking 2-transitivity is computationally harder, and in the sequel we
will omit some steps which are in practice needed to find out
<Q>what to do</Q>.

The approach taken here is to show that the stabilizer of 1
in <M>G</M> acts transitively on the set of positive integers greater
than 1. We do this by similar means as used above for showing the
transitivity of the action of <M>G</M> on the positive integers.

We start by determining all products of at most 5 generators and their
inverses, which        =[,]java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
not suffice!):

<Example>
<![CDATA[
gap> gens := [a,u,a^-1,u^-1];;
gap> tups := > stabelm := List,(t,i>gens[]);;
gap> gap> decs := List(stabelm,DecreasingOn);;
1364
gap> tups := Filtered(tups,tup->ForAll([[1,3],[3,1],[2,4],[4,2]],
>                                      l->PositionSublist(tup,l)=fail));;
gap> Length(tups);
484
gap> stab> S: ;
gap> for tup in tups do
>      n := 1;
>p don =n[] 
>      if n = 1 then Add(stab      ifS< S_oldthenViewObj(S)Print("); fijava.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
>    od;
gap> Length(stab);
118
gap> stabelm := List(stab,tup->Product(List(tup,i->gens[i])));;
gap> ForAll(stabelm,elm->1^elm=1); # Check.
true
]]>
<Example>

notquitesmallmoduli:

<Example>
<![CDATA[
gap> List(stabelm,Modulus);
[ 4, 3, 16, 25, 9, 81, 64, 100, 108, 100, 25, 75, 27, 243, 324, 243, 
  256, 400, 144, 400, 100, 432, 324, 400, 80, 400, 625, 25, 75, 135, 
  150, 75, 225, 81, 729, 486, 729, 144, 144, 81, 729, 1296, 729, 6561, 
  1024, 1600, 192, 1600, 400, 576, 432, 1600, 320, 1600, 2500, 100, 100, 
  180, 192, 192, 108, 972, 1728, 972, 8748, 1600, 400, 320, 80, 1600, 
  500300 2500 ,,75,675 ,75135 ,600 ,600 
  1875, 75, 225, 405, 225, 225u   residueclasses(od 5760)(classes>
  243, 2187, 1944, 2187, 19683, 576, 144, 576, 432, 81, 81, 729, 2187, 
  5184, 324, 8748, 243, 2187, 19683, 26244, 19683 ]
gap> Lcm(last);
12597120000
gap> Collected(Factors(last));
[ [ 2, 10 ], [ 3, 9 ], [ 5, 4 ] ]
]]>
</Example>

Similar as before, we determine for any of the above mappings the
residue classes whose elements larger than the java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 42
- coefficient of the respective mapping are mapped to smaller integers:

<Example>
<!union of32 residue (od >
gap> decs := List(stabelmes (mod )
s);
[ 2, 3, 8, 25, 9, 9unionof20residueclasses mod259200) (16>
  48, 200, 100, 72, 108, 400, 80, 200, 625, 25, 75, 45, 75, 75, 225, 81, 
  ,81 ,144, 144 ,243,216, 243 , ,64,400,java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
  ,48 144,1600,320 400,2500 100 ,60,96, ,108 , 
  144, 324, 972, 400, 400, 80, 80unionof 12 residue classes m 259200 (10classes)
  75, 75, 75, 45, 135, 600, 120, 150, 1875, 75, 225, 135, 225, 225, 675, 
  243, 729, 243, 729, 108, 216, 243, 729, 162, 729, 2187, 144, 144, 144, 
  144, 81, 81, 243, 729, 1296, 324, 972, 243, 729, 2187, 1458, 2187 ]
gap> Lcm(last);

]]>
</Example>

Since the least common multiple of the moduli 
classes is as large as 174960000, directly forming their union and
ckingwhether  isequal tothe setof   takerelatively
much and .  starting java.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 68
subtracting the above sets one-by-one in a suitably chosen order is cheap:

<Example>
<![CDATA[
gap> SortParallel(decs,stabelm,
>      function(S1,S2)
>        return First([1..100g> :=(tup>[13,31,24,4,2]java.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
>             < First([1..100],k->Factorial(k) mod Modulus(S2)=0);
>      end);>ap> for  in tups do
gap : Integers;
 fori in [.Length()]do
>      S_old := S; S := Difference(S,>     if   1,, Add(,tup;fi;
>      if S <> S_old then ViewObj(S); Print("\n"); fi;
>      if S = [] then maxind := i; break; fi;
>    od;
0(2)
2(6) U 4(6)
<union of 19 residue classes (mod 60) (6 classes)>
<union of 8 residue classes (mod 30)>
<union of 120 residue classes (mod 720)>
<union of 112 residue classes (mod 720)>
<union of 80 residue classes (mod 720)>
<union of 24 residue classes (mod 720)>
<union of 16 residue classes (mod 720) (12 classes)>
<union of 8 residue classes (mod 720)>
<union of 6 residue classes (mod 720)>
4(720) U 94(720) U 148(720) U 238(720)
<of   classesm )
<union of 72 residue classes (mod 51840      functionS1)
<java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 41
union of 04 classes mod259200>
<union of 144 residue classes (mod 259200)>
<union gap>S : Integers;
<union of 84 residue classes (mod 
>
<union of 48 residue classes (mod 259200)>
<union of 24 residue classes (mod 259200)>
<union of 12 residue classes (mod 259200) (6 classes)>
<union of 30 residue classes (mod 777600)>
54004(64800) U 151204(259200) U 216004(259200)
[  ]
]]>
<>

Similar as above, it remains to check that the <Q>small</Q> integers all
lie in the orbit containing 2. Obviously, it is sufficient to check
that any integer greater than 2 is mapped to a smaller one by some
suitably chosen element of the stabilizer under consideration:

<Example>
<![CDATA[
gap> Maximum(List(stabelm{[1..maxind]},
>                 f->Maximum(List(Coefficients(f),c->c[2]))));
6581
gap> Filtered([3..6581],n->Minimum(List(stabelm,elm->n^elm))>=n);
[ 4 ]
]]>
</Example>

We:

<Example>
<![CDATA[
 1(u**^2*^1u;
1
gap> 4^(u*a*u^2*ajava.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
3
]]>
</Example>

java.lang.StringIndexOutOfBoundsException: Index 74 out of bounds for length 74
u of12 residue classes m 129600>
as 2, thus that this stabilizer acts transitively on
<M>&NN; \setminus \{1\}</M>. But this means that we have established
the 2-transitivity of the action of <M>G</M> on &NN;. <P/>

nthe following,  repeatthe above steps to show that
this action is indeed 3-transitive:

<Example>
<![CDATA[
gap> tups := Concatenation(List([1..6],k->Tuples([1..4],k)));;
gap> tups := Filtered(tups,tup->ForAll([[1,3]union 22 residueclasses(>
>                                 >PositionSublisttup,)fail);
gap> stab := [];;
gap> for tup in tups do
>      l := [1,2];
>      for i in tup do l := List([ ]
>      if l = [1,2] then Add(stab,tup); fi;
>    od;
 Lengthstab)java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
212
gap> stabelm gap>smallnum : [..];
gap> decs := List(stabelm,DecreasingOn);;
ap SortParallel(,function(S1S2
>      return First([1..100],k->Factorial(k) mod Mod(S1)=0)
>           < First([1..100],k->Factorial(k) mod Mod(S2)=0); end);
gap> S := Integers;;
gap> for i in [1..Length(decs)] do
>      S_old := S; S := Difference(S,decs[i]);
>      if S <> S_old then ViewObjjava.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 0
>      if S = [] then break; fi;
>    od;
Z \ 1(8) U 7(8)
<union of 424 residue classes (mod 720)>
<union of 169 residue classes (mod 720)>
<union of 51 residue classes (mod 720)>
<union of 45 residue classes (mod 720)>
<union of 42 residue classes (mod 720)>
<union of 35 residue classes (mod 720)>
<  30 classes m )java.lang.StringIndexOutOfBoundsException: Range [39, 40) out of bounds for length 39
<union of 16 residue classes (mod 720) (10 classes)>
<union of 11 residue classes (mod 720) (7 classes)>
<union of 8 residue classes (mod 720) (6 classes)>
148(360) U 238(360) U 4(720) U 454(720)
238(360) U 4(720) U 148(720) U 454(720)
<nionof 28residue ( 5760>
<union of 24 residue classes (mod 5760)>
< of23 residue classes (mod 5760)>
<union of 22 residue classes (mod 5760)>
<union of 20 residue classes (mod 5760) (14 classes)>
<union of 19 residue classes (mod 5760) (14 classes)>
<union of 16 residue classes (mod 5760) (12 classes)>
<union of 112 residue classes (mod 51840)>
<union of 96 residue classes (mod 51840)>
<union of 90 residue classes (mod 51840)>
<union of 51 residue classes (mod 51840)>
<union of 21 residue classes (mod 51840)>
<union of 19 residue classes (mod 51840) (15 classes)>
<union of 16 residue classes (mod 51840) (12 classes)>
<union of 54 residue classes (mod 259200)>
<union of 53 residue classes (mod 259200)>
<union of 50 residue classes (mod 259200)>
<union of 38 java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<union of 35 residue classes (mod 259200)>
<union of 32 residue classes (mod 259200)>
<union of 24 residue classes (mod 259200)>
<union of 22 residue classes (mod 259200)>
<union of 20 residue classes (mod 259200) Heading>
<union of 18 residue classes (mod 259200) (15 classes)>
<of  residueclasses (mod 259200) (13 classes)>
<union of 15 residue classes (mod 259200) (12 classes)>
<java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 55
<union of 7 residue classes (mod 259200)>
2164(259200) U 66964(259200) U 228964(259200)
[  ]
gap> Maximum(List(stabelm,f->Maximum(List(Coefficients(f),c->c[2]))));
515816
gap> smallnum := [4..515816];;
gap>  iin 1.() 
>      smallnum := Filtered(smallnum,n->n^stabelmgap> (G)
>    od;
gapgap (.^2G.2^*(12G2^;#G >the product C_infty  C_2.
[  ]
]]>
</Example>

Thesame for4-transitivity

<Example>
<![CDATA[
gap> tups := Concatenation(List([1..8],k->Tuples([1..4],k)));;
:Filteredtup-ForAll([,],[1[,][,],
>                                      l->PositionSublist(tup,l)=fail));;
gap> stab := [];;
java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 23
>      =[,,]java.lang.StringIndexOutOfBoundsException: Index 20 out of bounds for length 20
>| nifnin (4java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30
>      if l = [1,2,3] then Add(stab,tup); fi;
>    od;
gap> Length(stab);
528
gap> stabelm := [];;
gap> for i in [1..Length(stab)] do
>      elm := One(G);
>      jin i java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 26
>        if Modulus(elm) > 10000 then elm := fail; break; fi;
>        elm := elm * gens[j];
>      od;
>      if elm <> fail then Add(gap> gens := [ClassShift(0,1)^-1,Class12,,),
>   od;
gap> Length(stabelm);
334
gap> decs := List(stabelm,DecreasingOn);;
gap> SortParallel(decs,stabelm,
>      function(S1,S2)
>        return First([1..100],k->Factorial(k) mod Modulus(S1) = 0)
>             < First([1..100],k->Factorial(k) java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
>      end);
gap> S := Integers;;
gap> for i in [1..Length(decs)] do
>      S_old := S; S := Difference(S,decs[i]);
>      if S <> S_old then ViewObj(S); Print("\n"); fi;
>      if S = [] then maxind := i; break; fi;
>    od;
Z \18 U ()
<union of 24  [,  ],[ , ,  16,3  
<union of 22 gap>decs :ListstabelmDecreasingOn;
<[ 04) 34, 0(),3) 24 () () () 2() (4,1(,
4(18)
<union of 28 residue classes (mod 576)>
<union of 26 residue classes (mod 576)>
<union of 21 residue classes (mod 576)>
<union of 20 residue classes (mod 576) (7 classes)>
<union of 18 residue classes (mod 576) (8 classes)>
<Similar   theprevious section  remains tocheck thatthe integers
<union of 15 residue classes (mod 576) (6 classeswith Qsmall<Q> absolute liein the  containing&;1 under
<union of 120 residue classes&bsp;0:
<union of 45 residue classes (mod 5184)>
<union of 30 residue classes (mod 5184)>
<union of 28 residue classes (mod 5184)>
<union of 6 <union of 6 residue
< 116residue classes ( )>
<union of 104gap>for    doS : Union(S,^elmS(elm^1)) ;
<union of 92 residue classes (mod 32400)>
<union of 84 residue classes (mod 32400)>
<union of 80 residue classes (mod 32400)>
<union of 210 residue classes (mod 129600)>
<nionof189 residue classes (mod 129600>
<union of 160 residue java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
<union of 136 residue classes (mod 129600)>
<union of 133 residue classes (mod 129600)>
<union of 122 residue classes (mod 129600)>
<union of 114 residue classes (mod 129600)>
<union of 106 residue classes (mod 129600)>
<of 104 classes mod 129600>
<union of 100 residue classes (mod 129600)>
<)>
<union of 60 residue classes (modelements areq , looking at setsof is cheapjava.lang.StringIndexOutOfBoundsException: Index 77 out of bounds for length 77
<union of 52 residue classes (mod 129600)>
<union of 48 residue classes (mod 129600)>
<union of 40 residue classes (mod 129600)>
<union of 36 residue classes (mod 129600)>
<    classes mod129600)
<union of 24 residue classes (mod 129600)>
<union of 16 residue classes (mod 129600) (10 classes)>
<union of 12 residue classes (mod 129600)>
<union of 10 residue classes (mod 129600)>
<union of 8 residue classes (mod 129600)>
<union of 6 residue classes (mod 129600)>
57406(129600) U 63076(129600) U 115006(129600) U 120676(129600)
57406(129600) U 115006(129600) U 192676(259200) U 250276(259200)
<union of 15 residue classes (mod 777600) (6 classes)>
<union of 9 residue classesgap Lengths;
<union of 30 residue classes (mod 3110400)>
<union of 26 residue classes (mod 3110400)>
<union of 22 residue classes (mod 3110400)>
<union of 19 residue classes (mod 3110400) (10 classes)>
<union of 14 residue classes (mod 3110400) (8 classes)>
705406(777600) U 2007076(3110400) U 2649406(3110400) U 2784676(3110400)
<union of 14 residue classes (mod 9331200) (8 classes)>
1483006(2332800) gap>decsp: List(tabelmelm-(9.]n>^<)
<union[[9  ,  ,12 ,16 ]  ,16 ] [9 13 ] [12 ] 
2784676(9331200) U 5117476(9331200)
[  ]
  [9 11 13 15]]
>                 >Uniond)java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
37387
gap> smallnum := [5..37387];;
gap> i  1.] java.lang.StringIndexOutOfBoundsException: Range [28, 29) out of bounds for length 28
>      smallnum := Filtered(smallnum,n->n^stabelm[i]>=n);
>    od;
gap> smallnum;
[  ]
]]>
</Example>

There is even some evidence that the degree of transitivity of the action of
<M>G</M> on the positive integers is higher than It   checkthat group<>G/>doesnotact4-ransitively

<Example>
<![CDATA[
gap> phi := EpimorphismFromFreeGroup(G);
[ a, u ] -> [ a, u ]
gap> F := Source(phi);
f groupon  generators [ a, u ]>
gap> List([5..20],
>         n->RepresentativeActionPreImage(G,[1,2,3,4,5],
>                                           [1,2,3,4,n],OnTuples,F));
[ <identity ...>, a^-3*u^4*a*u^-2*a^2, a^-1*(a^-1*u)^4*a^-1*u^-1*a, 
  a^4*u^-2*a^-4, a^-1*u^-4*a, (u^2 od;
  a^-1*u^2*a, a^-1*u^-6*a, a^2*u^4*a^2*u^2, u^-4*a*u^-2*a>   end;java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
  a^-1*u^->old: (orb;
  u^-2*a*u^2*a*u^-2, u^-4*a^2*u^2 ]
]]>
</Example>

Enter <C>AssignGlobals(LoadRCWAExamples().CollatzlikePerms);</C>
in order to assign the global variables defined in this section.

</Section>

<!-- #################################################################### -->

<Section Label="sec:ThreeButNotFourTransitiveGroup">
<Heading>
  A group which acts 3-transitively, but not 4-transitively onjava.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
</Heading>

In this section, we would like to show that the group <M>G</M> generated
by
acts This showsthat MG</>actsnot4-transitivelyon &ZZ;

<Example>
<![CDATA[
gap> G := Group(ClassShift(0,1),ClassTransposition(1,2,0,4));
<rcwa group over Z with 2 generators>
gap> IsTame(G);
false
gap> (G.1^-2*G.2)^3*(G.1^2*G.2)^3; # G <> the free product C_infty * C_2.
IdentityMapping( Integers )
gap> Display(G:CycleNotation:=false);

Wild rcwa group over Z, generated by

[
Tame rcwa permutation of Z: n -> n + 1

Rcwa

        java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
        | 2n-2    if n in 1(2)
 n |-> <  (n+2)/2 if n in 0(4)
        | n       if n in 2(4)
        \

]
]]>
</Example>

This /Section
group generated by the first of the two java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 0
show that it acts 2-transitively. We essentially proceed as in the example
in the previous section, by checking that the stabilizer of 0
acts transitively on <M>&ZZ; \java.lang.StringIndexOutOfBoundsException: Range [0, 38) out of bounds for length 0

java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 9
<![CDATA[
gap> gens := [ClassShift(0,1)^-1,ClassTransposition(1,2,0,4),
>             ClassShift(0,1)];;
gap> tups := Concatenation(List([1!CDATAjava.lang.StringIndexOutOfBoundsException: Range [9, 10) out of bounds for length 9
gap> tups := Filtered(tups,tup->ForAll([[0,0],[-1,1],[1,-1]],
>                                      l->PositionSublist(tup,l)=fail));;
gap> Length(tups);
java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 3
gap> stab := [];;
gap> for tup in tups do
>      n := 0;
>      for i in tup do n := n^gens[i+2]; od;
>      if n = 0 then Add(stab,tup); fi;
>    od;
gap> =Liststabtup-Product(ist(,i>ensi2));
gap> Collected(List(stabelm,Modulus));
[ [ 4, 6 ], [ 8, 4 ], [ 16, 3 ] ]
gap> decs := List(stabelm,DecreasingOn);
[ 0(4), 3gap> ((1.1000]n-Trajectory(,n,S0)))java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 61
  0(8), 3(8) ]
gap> Union(decs);
Integers
]]>
</Example>

Similar as in the previous section, it remains to check that the integers
with <Q>small</Q> absolute value all lie in the orbit containing 1 under
the actionofthe stabilizer ofn;0

<Example>
<![CDATA[
gap> Maximum(List(stabelm,f->Maximum(List(Coefficients(f),
>                                         c-
21
gap> S := [1];;
gap> for elm in stabelm do S := Union(S,S^elm,S^(elm^-1)); od;
gap> IsSubset(S,Difference([-21..21],[0])); # Not yet ..
false
gap> for elm in stabelm do S := Union(S,n |-   113/    ()
gap> IsSubset(S,Difference([-21..21],[0])); # ... but now!
true
]]>
</Example>

Now we have to check for 3-transitivity. Since we cannot find for java.lang.StringIndexOutOfBoundsException: Range [0, 71) out of bounds for length 52
residue class an element of the pointwise stabilizer of <M>\{0,1\}</M>
which properly divides its elements, we also have to take additions and
subtractions into consideration. Since the moduli of all of our stabilizer
elements are quite small, java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 25

<Example>
<![CDATA[
gap> tups := Concatenation(List([1..10],k->Tuples([-1,0,1],k)));;
gap>tups := Filtered(tups,tup-ForAll([00,-,],[-],
>                                      l->PositionSublist(tup,l)=fail));;
gap> Length(tups);
3069
stab:=[];
gap> for tup in tups do
>      l := [0,1];
>      for i in tup do l := List(l,n->n^gens[i+2]); od;
>      if l = [0,19,6,23515]
>    od;
gap> Length(stab);
10
gap> stabelm := List(stab,tup->Product(List(tup,i->gens[i+2])));;
gap> Maximum(List(stabelm,Modulus));
8
gap> Maximum(List(stabelm,
>                 f->Maximum(List(Coefficients(f),c->AbsInt(c[2])))));
8
gap> decsp := List(stabelm,elm->Filtered([9..16],n->n^elm<n));
  9 13]  ,12 14 16 ] [12  ,[9 13 ,[ ,16 ]
  [ 9, 11, 13java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  [ 9, 11, 13, 15 ] ]
gap> Union(decsp);
[ 9 .. 16 ]
gap> decsm := List(stabelm,elm->Filtered([-16..-9],n->n^elm>n  thejava.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
  15 13 -,- ,[-6 - ] [ 16,-12],[ 15 11 ,
  [ -16, -14, -12, -10 ], [ -15, -11 ], [ -15, -11 ], 
  [ -16, -14, -12, -10 ], [ -16, -14, -12, -10 ], [ -15, -11 ] ]
gap> Union(decsm);
[ -16 .. -9 ]
gap> S := [2]Enter <AssignGlobalsL).SlowlyContractingMappings;</>
gap> for elm in stabelm do S := Union(S,S^elm,S^(java.lang.StringIndexOutOfBoundsException: Range [0, 52) out of bounds for length 10
gap> IsSubset(S,Difference([-8..8],[0,1]));
true
]]>
</Example>

At this point    3-ransitivity.
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
We do this by checking that it is not transitive on 4-tuples (mod 4).
Since <M>n</M> < =sec:"
agenerator MG/M> m , it  tocompute(od :

<Example>
<![CDATA[
gap> orb := [[0,1,2,3]];;
gap> extend := function ()
java.lang.StringIndexOutOfBoundsException: Index 263 out of bounds for length 17
>      for gen in gens do
>         =UnionorbList(,List(,-n) mod8));
>   java.lang.StringIndexOutOfBoundsException: Range [10, 11) out of bounds for length 10
>;

>old :ShallowCopy(rb;
>      extend(); Print(Length(orb),"\n");
>    until orb = old;
7
27
97gapjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
279
573
916
1185
1313
1341
java.lang.StringIndexOutOfBoundsException: Range [4, 5) out of bounds for length 4
1344
S(Listorbl>l mod4));
p<id""name="X7950ED88879EE36F<a<p>
gapp the main  ofthe  to  Userwithtools  S Union(,S^T)
true
]
</Example>

This shows that <M>G</M> acts not 4-transitively on &ZZ;.
corresponding calculationfor 3nionof810 classes mod>

<>
<![CDATA[
gap> orb := [[0,1,2]];;
gap> repeat
>      old := ShallowCopy(orb);
>      extend(); Print(Length(orb),"\n");
>    until 
7
27
84
207
363
459
503
512
512
gap> Length(Set(List(orb,l->l mod 4)));
64
gap> last = 4^3;
true
]]>
</Example>

Needless to say that the latter kind of argumentation is java.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 53
for proving, but only for disproving <M>k</M>-transitivity. 

</Section>

<!-- #################################################################### -->

<Section Label="sec:SlowlyContractingMapping">
<Heading>
  An rcwa mapping which seems gap> x := Indeterminate(GF(4),1);; SetName(x,"x");
</Heading>

The iterates of an integer under the Collatz mapping <M>T</M> seem to
approach its contraction centre -- this is the finite set where all
trajectories end up after a finite number of steps -- rather quickly and
do not get very large before doing so (of course this is a purely heuristic
statement as the <M>3n+1</M> conjecture has not been

<Example>
<![CDATA[
gap> T := RcwaMapping([[1,0,2],[3,1,2]]);;
gap> S0 := LikelyContractionCentre(T,100,1000);
#I  Warning: `LikelyContractionCentre' is highly probabilistic.
The returned result can only Rcwa mappingofGF(2[  modulus x
See ?LikelyContractionCentre for more information.
[136,-,-82,-68,-, -, 41 37 -, 25,-, 10 -,-5,java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
- ,1  ]
        
true
gap> 
[ 1gap> List[,L2]IsSurjective
  11, 11, 8, [true,true java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
gap> Maximum(List([1..1000],n->Length(Trajectory(T,n,S0))));
113
gap> Maximum(List([1..1000],n->Maximum(Trajectory(T,n,S0))));
125252
]]>
</Example>

msto be contracting well,but  
are much longer:

<Log>
<![CDATA[
gap> f6 := RcwaMapping([[ 1,0,6],[ 5, 1,6],[ 7,-2,6],
>                       [11,3,6],[11,-2,6],[11,-1,6]]);;
gap> Display(f6);

Rcwa mapping of Z with modulus 6

        /
        | n/6       if n in 0(6)
        | (5n+1)/6  if n in 1(6)
        | (7n-2)/6  if n in 2(6)
 n |-> <  (11n+3)/6 if n in 3(6)
        | (11n-2)/6 if n in 4(6)
        | (11n-1)/6 if n in 5(6)
        |
        \

gap> S0 := LikelyContractionCentre  thetwo states 0&;nbsp;<><M 
I  : LikelyContractionCentre is java.lang.StringIndexOutOfBoundsException: Range [49, 48) out of bounds for length 63
The returned result can only be regarded as a
See ?LikelyContractionCentre for more information.
Trajectory(,25,)
[ 25, 21, 39, 72, 12, 2 ]
gap> List([1..100],n->Length(Trajectory(f6,n,S0)));
[ 1, 1, 3, 4, 1, 2, 3, 2, 1, 5, 7, 2, 8, 17, 3, [1 ,0 ,0java.lang.StringIndexOutOfBoundsException: Index 71 out of bounds for length 71
  5, 5, 6, 1, 4, 2, 15, 1, 1, 3, 2, 5, 13, 3, 2, 3, 4, 1, 8, 4, 4, 2, 7, 
  19, 23517, 3, 9, 3, 1, 18, 14, 2, 20, 23512, 14, 2, 6, 6, 1, 4, 19, 
,23511,8, 23513, 10, 1,13,13 ,1 23517 ,, 9 ,6 
  12, 8, 6, 18, 14, 23516, 31, 12, 23545, 4, 21, 19,1 1 1 1 ,1 ,,1,,  
  9 6  ]
gap> Maximum(Trajectory(f6,47,S0));
7363391777762473304431877054771075818733690108051469808715809256737742295\
45698886054
]]>
</Log>

Computing the trajectory of 3224 takes quite a while -- this trajectory
ascends to about <M>3 \cdot 10^{2197}</M>, before it approaches the fixed
point 2 after 19949562 steps. <P/>

henconstructing  C< of java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
partial mappings have been chosen to
been chosen to be numbers coprime to the common denominator, whose product
is just a little bit smaller than the <C>Modulus(f6)</C>th power of the
denominator. In the example we have <M>5 \cdot 7 \cdot 11^3 = 46585</M>
and <M>6^6 = 46656</M>. <P/>

Although the trajectories of <C>T</C> are much shorter than those of
<<C>  seemsthatthisdoes   java.lang.StringIndexOutOfBoundsException: Range [55, 54) out of bounds for length 74
whether the mapping <C>T</C> is contracting essentially easier --
 java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 67
the 
  cases ..forexamplewhenthere  some<Mk/M>suchthat
applying the <M>k</M>th power of the respective mapping to java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
decreases its absolute valueclass"APprompt"gap;/span < class">

Enter "example"<
in order to java.lang.StringIndexOutOfBoundsException: Range [0, 18) out of bounds for length 10

</Section>

- ########################################-

<java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 36
<Heading>Checking a1            3               5       67java.lang.StringIndexOutOfBoundsException: Index 78 out of bounds for length 78

InCite Key"Andaloro00/,P ndaloro has that java.lang.StringIndexOutOfBoundsException: Range [69, 68) out of bounds for length 73
trajectories of integers <M>n \in 1(16)</M> under the Collatz mapping always
java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 71
/pre</div>
the imagesof theresidueclass ()under powersoftheCollatz
java.lang.StringIndexOutOfBoundsException: Range [13, 7) out of bounds for length 70
.Thusweput <>S: 116/>  successively unite the
et&;M></> java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 53

<
<![CDATA[
 T =RcwaMapping([1,0,],312];
<o Z modulus2>
 S:=ResidueClass(ntegers16)
1(<<p>Computetheof spanclass="impleMath"><span> in <span class="SimpleMath">G</span>, i.e. compute a generating set of <span class="SimpleMath">C_G(x)</span>.java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
dl
1(16) U 2(24)
gap> S := Union(S,S^T);
1(12) U 2(24) U 17(48) U 33(48)
java.lang.StringIndexOutOfBoundsException: Range [4, 3) out of bounds for length 23
<union of 30 residue classes (mod 144)>
gap> S := Union(S,S^T);
< 42  ( 144)java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
gap> S := Union(S,S^T);
<union of 172 residue classes (mod 432)>
gap> S := Union(S,S^T);
<union of 676 residue classes (mod 1296)>
gap> S := Union(S,S^T);
<union of 810 residue classes (mod 1296)>
gap> S := Union(S,S^T);
<union of 2638 residue classes (mod 3888)>
gap> S := Union(S,S^T);
<union of 33 residue classes (mod 48)>
gap> S := Union(S,S^T);
<union of 33 residue classes (mod 48)>
gap> Union(S,ResidueClass(Integers,3,0)); # Et voila ...
Integers
]]>
</Example>

Further similar computations are shownjava.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 0
Section <Ref Label="sec:CollatzImagesAndPreImages"/>. <P/>

Enter <C>AssignGlobals(LoadRCWAExamples().CollatzMapping);</C>
norder variablesdefined n section.

</Section>

<!-- ############################\

<Section Label="sec:MatthewsLeighExamples">
<Heading>Two examples by Matthews and Leigh</Heading>

In <Cite Key="MatthewsLeigh87"/>, K. R. Matthews and
 .nbsp;eighhave shown twotrajectoriesof the following
(surjective, but not injective) mappings are acyclic (mod <M>x</M>)
and divergent:

<Example>
<![CDATA[
gap> x := Indeterminate(GF(4),1);; SetName(x,"x");
gap> R := PolynomialRing(GF(2),1);
GF(2)[x]
gap> ML1 := RcwaMapping(R,x,[[1,0,x],[(x+1)^3,1,x]]*One(R));;
gap> ML2 := RcwaMapping(R,x,[[1,0,x],[(x+1)^2,1,x]]*One(R));;
gap> Display(ML1);

Rcwa mapping of GF(2)[x] with modulus x

        /
        | P/x                     if P in 0(x)
 P |-> <  ((x^3+x^2+x+1)*P + 1)/x if P in 1(x)
        |
        \

gap> Display(ML2);

Rcwa 

        /
        | P/x               if P in 0(x)
 P|><(x^+)*P +1/xifP 1x
        |
        \

gap> List([ML1,ML2],IsSurjective);
[ true, true ]
java.lang.StringIndexOutOfBoundsException: Range [11, 3) out of bounds for length 33
[ false, false ]
gap> traj1 := Trajectory(ML1,One(R),16);
[ 1, x^2+x+1, x^4+x^2+x, x^3+x+1, x^5+x^4+x^2, x^4+x^3+x, x^3+x^2+1, 
  x^5+x^2+1, x^7+x^6+x^5+x^3+1, x^9gap List(ycsLength;
  x^11+x^10+x^8+x^7+x^6+x^5+x^2, x^10+x^9+x^7+x^6+x^5+x^4+x, 
  x^9+x^8+x^6+x^ 22, 21, 22, 22, ,  
  ^13x^12+^+x8x^x^+^,x^2+^+x10+^77+^6+x5+^3]
gap> traj2 := Trajectory
[ x^3+x+1, x^4+x+1, x^5+x^3+gap>u2nu18^462;#This java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 62
  x^6+x^4+x^3+x+1, x^7+x^4+x^3+x+1, x^8+x^6+x^5+x^4+x^3+x+1, 
  x^9+x^6+x^3+x+1, x^10+x^8  x^9+x^6+x^]
  x^11+x^8+x^7+x^5+x^4+x^3+x^2+x+1, x^12+x^10+x^9+x^8+x^7+x^5+1, 
  x^13+x^10+
  x^13+x^11+We observethat ourcommutators  various java.lang.StringIndexOutOfBoundsException: Range [55, 54) out of bounds for length 66
  x^12+x^10+x^9+x^7+x^6+x^4+x^3+x+1 ]
]]>
</Example>

The pattern which Matthews and Leigh used to show the java.lang.StringIndexOutOfBoundsException: Index 57 out of bounds for length 0
above trajectories can be recognized easily by <java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
Markov chains with the two states 0 mod <M>x</M> and
1 mod <M>x</M>:

<Example>
<![CDATA[
ap> := Trajectory(L1One()400x;;
gap> traj2modx := Trajectory(ML2,(x^3+x+1)*One(R),600,x);;
gap> List(traj1modx{[1..150]},val->Position([Zero(R),One(R)],val)-1);
[ 1, 1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 
  1, 1, 1, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,GF2)[x]
  gap  : (x^+11,^+1;
  1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, gap> c := ClassTransposition(1x,0,^2+x);;
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
  1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
  1, 1, 
gapList(traj2modx{[1..150]},val->Position(Zero(R)O(R),val)1;
[ 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 
  1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 
  , 0 1 0 1  ,1,1 1 ,1 ,1 , ,1 ,1 ,1, ,,
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
  1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 
  0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1 ]
]]>
</Example>

What is important here are the lengths of the intervals between two changes
from one state to the other:

<Example>
<![CDATA[
gap> ChangePoints := l->Filtered([1..Length(l)-1],pos->l[pos]<>l[pos+1]);;
gap> Diffs := l->List([1..Length(l)-1],pos->l[pos+1]-l[pos]);;
gap> Diffs(ChangePoints(traj1modx)); # The pattern in the first ...
[ 1, 1, 2, 4, 2, 2, 4, 8, 4, 4, 8, 16, 8, 8, 16, 32, 16, 16, 32, 64, 32, true
  32, 64 ]
gap> Diffs(ChangePoints(traj2modx)); # ... and in the second example.
[ 1, 7, 1, 1, 1, 13, 1, 1, 1, 1, 1, 1, 1, 25, 1
  1, 1, 1, 1, 1, 1, 49, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, infiniteorder Forexample,  
<Example>
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, <[
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 193, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
  1, 1, 1, 1, 1, 1, 1, 1, 1,]
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
  1, 1, 1, 1, 1, 1, 1, 1, 1, 1 ]
gap> Diffs(ChangePoints(last)); # Make this a bit more obvious.
[ 1, 3, 1, 7, 1, 15, 1, 31, 1, 63, 1 ]
]>
</Example>

This looks clearly acyclic, thus the trajectories diverge.
Needless to say however that this computational evidence does not replace
  gens   : GeneratorsOfGroupF);
sheds a light on the idea behind it. <P/>

Enter <C>AssignGlobals(LoadRCWAExamples().MatthewsLeigh);</C>
in order to assign the global variables defined in this section.

</Section>

<!-- #################################################################### -->

<Section Label="sec:OrdersOfCommutators">
<Heading>Orders of commutators</Heading>

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

<Example>
<![CDATA[
gap> u := RcwaMapping([[3,0,5],[9,1,5],[3,-1,5],[9,-2,5],[9,4,5]]);;
gap> IsTame(u);;
java.lang.StringIndexOutOfBoundsException: Index 2 out of bounds for length 0

 ofZ with  java.lang.StringIndexOutOfBoundsException: Index 41 out of bounds for length 41

        /
        | 3n/5     if n in 0(5)
        | (java.lang.StringIndexOutOfBoundsException: Range [22, 20) out of bounds for length 68
 n |-> <  (3n-1)/5 if n in 2(5)
        | (9n-gap  =NormedWords(,)
        [ab*]
        \
]]>
</Example>

We would like to compute the order of <M>[u,n \mapsto n + k]</M>
and <M>[u^2,n \mapsto n + k]</M> for different values of <M>k</M>:

<Example>
<![CDATA[
java.lang.StringIndexOutOfBoundsException: Range [21, 3) out of bounds for length 41
gap> l := Filtered([0..100],k->IsTame(Comm(u,nu^k)));
[ 0, 2, 3, 5, 6, 9, 10, 12, 13, 15, 17, 18, 20, 21, 24, 25, 27, 28, 30, 
  32, 33, 35, 36, 39, 40, 42, 43, 45, 47, 48, 50, 51, 54, 55, 57, 58, 
  60 ,63,65,66 69,70,7273,7577,78, 0,81 ,85,87,
  ,90,92 , 95, 96, 99, 100 ]
java.lang.StringIndexOutOfBoundsException: Range [20, 3) out of bounds for length 36
[1, 6, 5, 3, 5, 5, , , 7,infinity,, 7 ,3, java.lang.StringIndexOutOfBoundsException: Range [64, 63) out of bounds for length 65
  infinity, 3, 5, 7, infinity, 7, infinity, 3, 5, 5, 3, 5, infinity, 
  infinity, infinity, 5, 3, 5, 5, 3, infinity, 7, infinity, 7, 5, 3, 
   ab*c*a*b**a**,ab*a**a*c**,ab***cc*c*b*,a*b*c**cb*c*a*c 
  infinity, infinity, infinity, 5, 3, 5, 5, 3 ]
gap> u2 := u^2;
<wild rcwa permutation of Z with modulus 25>
gap> java.lang.StringIndexOutOfBoundsException: Range [21, 13) out of bounds for length 36
[ 15 ]
gap> Order(Comm(u2,nu^15));
infinity
gap> u2nu17 := Comm(u2,nu^17);
<rcwa permutation of Z with modulus 81>
gap> cycs := ShortCycles(u2nu17,[-100..100],100);;
gap> List(cycs,Length);
[ 72, 73, 72, 72, 72, 73, 72, 72, 73, 72, 72, 73, 72, 72, 73, 72, 72, 
  73, 72, 72, 73, 72, 72 ]
gap> Lcm(last);
5256
gap> u2nu17^5256;
IdentityMapping( Integers )
gap> u2nu18 := Comm(u2,nu^18);
<rcwa permutation of Z with modulus 81>
gap> cycs := ShortCycles(u2nu18,[-100..100],100);;
gap> List(cycs,Length);
[ 21, 22, 22, 22, 21, 22, 22, 21, 22, 22, 21, 22, 21, 22, 22, 21, 22, 
  22, 21, 22, 22, 21, 22 ]
gap> Lcm(last);
62
  x^+x^4x^x+1,x5+^22+(2)*, ^55+x^+(22)2x+(^)2 java.lang.StringIndexOutOfBoundsException: Index 66 out of bounds for length 66
IdentityMapping( Integers )
gap> List([Comm(u2,nu^20),Comm(u2,nu^25),Comm(u2,nu^30)],Order);
[ 29, 9, 15 ]
]]>
</Example>

We 
that the prime factors of these orders are not all <Q>very small</Q>. <P/>

Enter <C
in order to assign the global variables defined in this section.

</Section>

<!-- #################################################################### -->

<Section Label="sec:OddNumberOfGens_FiniteOrder">
<Heading>
  An infinite subgroup of CT(GF(2)[x]) with many torsion elements
</Heading>

In this section, we have a look at the following subgroup of CT(GF(2)[x]):

<Example>
<![CDATA[
gap> x := Indeterminate(GF(2));; SetName(x,"x");
gap> R := PolynomialRing(GF(2),1);
GF(2)[x]
a: ,,)
gap> b := ClassTransposition(0,x^2+1,1,x^2+1);;
gap> c := ClassTransposition(1,x,0,x^2+x);;
gap> G := Group(a,b,c);
<rcwa group over GF(2)[x] with 3 generators>
gap> Display(G);

Rcwa group over GF(2)[x], generated by

[
2x:P >P +Z()^0

Rcwa permutation of GF(2)[x] with modulus x^2+1, of order 2

        /
        | P + 1 if P in 0(x^2+1) U 1(x^2+1)
 P |-> <  P     if P in x(x^2+1) U x+1(x^2+1)
        |
        \


Rcwa permutation of GF(2)[x] with modulus x^2+x, of order 2

        /
        | (x+1)*P + x+1   if P in 1(x)
 P |-> <  (P + x+1)/(x+1) if P in 0(x^2+x)
        | P               if P in x(x^2+x)
        \

]
]]>


We can easily find 2 normal subgroups of <C>G</C>:

<Example>
<![CDATA[
gap> N1 := Subgroup(G,[a*b,a*c]);
<rcwa group over GFjava.lang.StringIndexOutOfBoundsException: Range [19, 20) out of bounds for length 9
gap> IsNormalfree onthegenerators[ ,b>
gap> (,SPermuted(S(,4)OnTuplesF)
gap> Index(G,N1);
2
gap GN1
Group([ (1,2), (1,2), (1,2) ])
gap> N2 := Subgroup(G,[a*b*c,a*c]);;
gap> IsNormal(G,N2);
true
gap> IsSubgroup(N1,N2);
false
]]>
</Example>

Products of even numbers of generators of <C>G</C> may have
infinite order. For example,We with something onecan tryingto <>transfer/ an

<Example>
<![CDATA[
gap> Order(a*b);
2
gap> Order(a*c);
infinity
gap> Order(b*c);
infinity
]]>
</Example>

We would like to have a look at orders of products of odd numbers of
generators. In order to restrict our considerations to <Q>essentially
different</Q> products (as far as we can easily do this), we use
the following auxiliary function:

<Listing Type="GAP code">
<![CDATA[
NormedWords := function ( F, lng )

  localofnbsp;M&ZZ_(2)}<M>

  gens   := GeneratorsOfGroup(F);
  tuples := EnumeratorOfTuples([1..3],lng);
  words  := [];

  for w in tuples do
    if    (w[1] = 1 or not 1 in w)
      andPositionSublistw[,] =fail
      and PositionSublist(w,[2,2]) = fail
      and PositionSublist(w,[3,3]) = fail
      and PositionSublist(w,[2,1]) = fail
      and w[1] < w[lng]
      and w{[1,lng]} <> [1,2]
      and (w{[1..3]} = [1,2,3] or PositionSublist(w,[1,2,3]) = fail)
    Add(w) fi
  od;

  words := List(words,word->Product(List(word,i->gens[i])));
  return words;
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 4
]]>
</Listing>

Now let's compute the possible orders of products of 3, 5, 7 or 9 generators:

<Log>
<![CDATA[
gap
gap> phi := EpimorphismByGenerators(F,G);
[ a, b, c ] -> 
[ ClassTransposition(0,x,1,x), ClassTransposition(0,x^2+1,1,x^2+1), 
  ClassTransposition(1,x,0,x^2+x)|(+1/ if  in(8)
gap> B3 := NormedWords(F,3);
[ a*b*c ]
gap> B3 := List(B3,g->g^phi);
[ <rcwa permutation of GF(2)[x] with modulus x^3+x> ]
gap> List(B3,Order);
[ 20 ]
gap> B5 := NormedWords(F,5);
[ a*b*c*a*c, a*b*c*b*c ]
gap> B5 := List(B5,g->g^phi);
[ <rcwa permutation of GF(2)[x] with modulus x^3+x>, 
  <rcwa permutation of GF(2)[x] with modulus x^4+x^3+x^2+x> ]
gap> List(B5,Order);
[ 12, 12 ]
gap> B7 := NormedWords(F,7);
[ a*b*c*a*c*a*c, a*b*c*a*c*b*c, a*b*c*b*c*a*c, a*b*c*b*c*b*c ]
gap> B7 := List(B7,g->g^phi);
[ <rcwa permutation of GF |        2()
  <rcwa|n+4 nin1)
  <rcwa permutationn|-   n-  java.lang.StringIndexOutOfBoundsException: Range [9, 20) out of bounds for length 9
  <rcwa permutation of GF(2)[x] with modulus x^5+x> ]
gap> List(B7,Order);
[ 12, 12, 12, 30 ]
gap> B9 := NormedWords(F,9);
[ a*b*c*a*b*c*a*b*c, a*b*c*a*c*a*c*a*c, a*b*c*a*c*a*c*b*c, a*b*c*a*c*b*c*a*c, 
  a*b*c*a*c*b*c*b*c, a*b*c*b*c*a*c*a*c, a*b*c*b*c*a*c*b*c, a*b*c*b*c*b*c*a*c, 
  a*b*c*b*c*b*c*b*c ]
gap> B9 := List(B9,g->g^phi);;
gap> List(B9,Order);
[ 20, 4, 30, 12, 42, 30, 4, 42, 12 ]
]]>
</Log>

Enter <C>AssignGlobals(LoadRCWAExamples<Chapter Label="Functions">
<H>java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 56

<

<!-- #################################################################### -->

< Labels:">
<Heading>An abelian rcwa group over a polynomial ring

enter a -abelianwildrcwa over ()<M>/>:

</>
java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 9
   ((4,);SetNamex"x";
 R :=PolynomialRingGF()1;
GF(2^2)[x]
gapInclude Label"ycleIndexWreathProductImprimitiveAction"
gap> p := x^2 + x + e;;    q := x^2 + e;;
gap> r := x^2 + x + Z(4);; s := x^2 + x + Z(4)^2;;
gap> cg := List( AllResidues(R,x^2), pol -> [ p, p * pol mod q, q ] );;
gap> ch := List( AllResidues(R,x^2), pol -> [ r, r * pol mod s, s ] );;
gap> g := RcwaMapping( R, q, cg );
<rcwa mapping of GF(2^2)[x] with modulus x^2+1>
gap> h := RcwaMapping( R, s, ch );
<rcwa mapping of java.lang.StringIndexOutOfBoundsException: Range [17, 19) out of bounds for length 9
gap> List([g,h],IsTame);
[ false, false ]
gap> G := Group(g,h);
<rcwa group over GF(2^2)[x] with 2 generators>
gap> IsAbelian(G);
true
gap> IsTame(G);
false
]]>
</Example>

It is easy to see|n-31   ifnin ()
of <C>G</C> are finite. <P/>

Now we compute|
make some statistics of the orbits of <C>G</C> containing polynomials of
degree less than 4:

<Example>
<![CDATA[
gap> orb := Orbit(G,x^5);
[ x^5, x^5+x^4+x^2+1, x^5+x^3+x^2+Z(2^2)*x+Z(2)^0, x^5+x^3, 
  x^5+x^4+x^3+x^2+Z(2^2)^2*x+Z(2^2)^2, x^5+x, x^5+x^4+x^3, 
  x^5+x^2+Z(2^2)^2*x, x^5+x^4+x^2+x, x^5+x^3+x^2+Z(2^2)^2*x+Z(2)^0, 
  x^5+x^4+Z(2^2)*x+Z(2^2), x^5+x^3+x, x^5+x^4+x^3+x^2+Z(2^2)*x+Z(2^2), 
  x^5+x^4+x^3+x+1, x^5+x^2+Z(2^2)*x, x^5+x^4+Z(2^2)^2*x+Z(2^2)^2 ]
gap> H := Action(G,orb);
Group([ (1,2,4,7,6,9,12,14)(3,5,8,11,10,13,15,16), 
  (90()76(512) (), () ()80),532,
gap> IsAbelian(H); # check ...
true
gap> IsCyclic(Hjava.lang.StringIndexOutOfBoundsException: Index 60 out of bounds for length 60
false
gap> Exponent(H);
8
gap> Collected(List(ShortOrbits(G,AllResidues(R,x^4),100),Length));
 ), 238(512), 254(512), 
]]>
</Example>

Changing the generators a little changes the structure of the group
and its action on the underlying ring a lot:

<Example>
<![CDATA[
gap> cg[1][2] := cg[1][2] + (x^2 + e) * p * q;;
gap> ch[7][2] := ch[7][2] + x * r * s;;
gap> g := RcwaMapping( R, q, cg );; h := RcwaMapping( R, s, ch );;
gap> G := Group(g,h);
<rcwa group over GF(2^2)[x] with 2 generators>
gap> IsAbelian(G);
false
gap> Support(G);
GF(2^2)[x] \ [ 1, Z(2^2), Z(2^2)^2 ]
gap> orb := Orbit(G,Zero(R));;
gap> Length(orb);
87
gap> StructureDescription(Action(G,orb));
"A87"
gap> Collected(List(orb,DegreeOfLaurentPolynomial));
[ [ -infinity, 1 ], [ 1, 2 ], [ 2, 4 ], [ 3, 16 ], [ 4, 64 ] ]
gap> S := AllResidues(R,x^6);;
gap> orbs := ShortOrbits(G,S,-1:finite);;
gap> List(orbs,Length);
[ 87, 1, 1, 1, 2, 2, 2, 2, 2, 4, 4, 4, 20, 4, 12, 4, 20, 4, 4, 12, 8, 8, 
  48, 48, 16, 8, 8, 56, 8, 88, 8, 8, 8, 400, 16, 48, 16, 16, 16, 80, 16, 
  16, 16, 96, 32, 192, 32, 16, 16, 416, 16, 48, 16, 16, 880, 16, 16, 16, 
  16, 16, 16, 16, 16, 16, 848, 16, 16, 32, 16, 16, 16, 16, 16, 16, 16 ]
gap> Position(last,880);
55
gap> Set(orbs[55],DegreeOfLaurentPolynomial); # all elm's have same degree
[ 5 ]
gap> H := Action(G,orbs[55]);;
gap> IsPrimitive(H,MovedPoints(H));
false
gap> List(Blocks(H,MovedPoints(H)),Length);
[ 110, 110, 110, 110, 110, 110, 110, 110 ]
]]>
</Example>

Enter <C>AssignGlobals(LoadRCWAExamples().AbelianGroupOverPolynomialRing);</C>
in order to assign the global variables defined in this section.

</Section>

<!-- #################################################################### -->

<Section Label="sec:CheckingForSolvability">
<Heading>Checking for solvability</Heading>

Presently there is no general method available for testing wild rcwa groups
for solvability. However, sometimes the question for solvability can be
answered anyway.
In the example below, the idea is to find a subgroup <A>U</A> which acts
on a finite set <A>S</A> of integers, and which induces on <A>S</A>
a non-solvable finite permutation group:

<Example>
<![CDATA[
]);
gap> b := RcwaMapping([[3,0,2],[3,13,4],[3,0,2],[3,-1,4]]);;
gap> G := Group(a,b);;
gap> ShortOrbits(Group(Comm(a,b)),[-10..10],100);
[ [ -10 ], [ -9 ], [ -30, -21, -14, -13, -11, -8 ], [ -7 ], [ -6 ], 
  [ -12, -5, -4, -3, -2, 1 ], [ -1 ], [ 0 ], [ 2 ], [ 3 ], 
  [ 4, 5, 6, 7, 10, 15 ], [ 8 ], [ 9 ] ]
gap> S := [ 4, 5, 6, 7, 10, 15 ];;
gap> Cycle(Comm(a,b),4);
[ 4, 7, 10, 15, 5, 6 ]
gap> elm := RepresentativeAction(G,S,Permuted(S,(1,4)),OnTuples);
<rcwa permutation of Z with modulus 81>
gap> List(S,n->n^elm);
[ 7, 5, 6, 4, 10, 15 ]
gap> U: Group(Comm(a,),elm)
<rcwa group over Z with 2 generators>
gap> Action(U,S);
Group([ (1,4,5,6,2,3), (1,4) ])
gap> IsNaturalSymmetricGroup(last);
true
]]>
</Example>

Thus the subgroup <A>U</A> induces on <A>S</A> a natural symmetric group of
degree 6. Therefore the group <A>G</A> is not solvable.
We conclude this example by factoring the group element <A>elm</A> into
482512) 498512,484512, 500512 486) () 

<Example>
<![CDATA[
gap> F := FreeGroup("a","b");
<free group on the generators [ a, b ]>
gap> RepresentativeActionPreImage(G,S,Permuted(S,(1,4)),OnTuples,F);
a^-2*b^-2*a*b*a^-1*b*a*b^-2*a
gap> a^-2*b^-2*a*b*a^-1*b*a*b^-2*a = elm;
true
]]>
</Example>

Enter <C>AssignGlobals(LoadRCWAExamples().CheckingForSolvability);</C>
in order to assign the global variables/Section

</Section>

<!-- #################################################################### -->="sec:oduliOfPowers"

<Section Label="sec:LocalExample">
<Heading>Some examples over (semi)localizations of the integers</Heading>

We start with something one can observe when trying to <Q>transfer</Q> an
rcwa mapping from the ring of integers to one of its localizations:

<Example>
<![CDATA[
gap> agap>[.4]i>ai)
gap> IsBijective(a);
true
gap> a2 := LocalizedRcwaMapping(a,2);
<gap e2: [1,][,0],1,,][1,,],
gap> IsSurjective(a2); # As expected
true
gap> IsInjective(a2); # Why not??
false
gap> 0^a2;
0
gap> (1/3)^a2; # That's the reason!
0
]]>
</Example>

The above can also be explained easily by pointing out that the
modulus of the inverse of <C>a</C> is 3, and that 3 is a unit
of <M>&ZZ;_{(2)}</M>.
Moving to <M>&ZZ;_{(2,3)}</M> solves this problem:

<Example>
<![CDATA[
gap> a23 := SemilocalizedRcwaMapping(a,[2,3]);
<rcwa mapping of Z_( 2, 3 ) with modulus 4>
gap> IsBijective(a23);
true
]]>
</Example>

We get additional finite cycles, e.g.:

<Example>
<![CDATA[
gap> List(ShortOrbits(Group(a23),[0..50]/5,50),orb->Cycle(a23,orb[1]));
[ [ 0 ], [ 1/5, 2/5, 3/5 ], 
  [ 4/5, 6/5, 9/5, 8/5, 12/5, 18/5, 27/5, 19/5, 13/5, 11/5, 7/5 ], 
  [ 1 ], [ 2, 3 ], [ 14/5, 21/5, 17/5 ], 
  [ 16/5, 24/5, 36/5, 54/5, 81/5, 62/5, 93/5, 71/5, 52/5, 78/5, 117/5, 
      89/5, 68/5, 102/5, 153/5, 116/5, 174/5, 261/5, 197/5, 149/5, 
      113/5, 86/5, 129/5, 98/5, 147/5, 109/5, 83/5, 61/5, 47/5, 34/5, 
      51/5, 37/5, 29/5, 23/5 ], [ 4, 6, 9, 7, 5 ] ]
gap> List(last,Length);
[ 1, 3, 11, 1, 2, 3, 34, 5 ]
gap> List(ShortOrbits(Group(a23),[0..50]/7,50),orb->Cycle(a23,orb[1]));
[ [ 0 ], [ -1/7, 1/7 ], [ 2/7, 3/7, 4/7, 6/7, 9/7, 5/7 ], [ 1 ], 
  [ 2, 3 ], [ 4, 6, 9, 7, 5 ] ]
gap> List(last,Length);
[ 1, 2, 6, 1, 2, 5 ]
]]>
</Example>

However the structure of a group with prime set <M>\mathbb{P}</M>
remains invariant under the <Q>transfer</Q> from &ZZ;
to <M>&ZZ;_{(\mathbb{P})}</M>. <P/>

<Q>Transferring</Q> a non-invertible rcwa mapping from the ring of integers
to some of its (semi)localizations can also turn it into an invertible one:

<
<![CDATA[
gap> v := RcwaMapping([[6,0,1],[1,-7,2],[6,0,1],[1,-1,1],
> (1.20,->(i);
gap> Display(v);

Rcwa mapping of Z with modulus 8

        /
        | 6n      if n in 0(2)
        | n-1     if n in 3(4)
 n |-> <  (n-7)/2 if n in 1(8)
        | (n+1)/2 if n in 5(8)
        |
        \

gap
true
gap> IsSurjective(v);
false
 Image()java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 14
Z \ 4(12) U 8(12)
gap> Difference(Integers,last);
4(12) U 8(12)
gap> v2 := LocalizedRcwaMapping(v,2);
< mappingofZ_(2   >
gap> IsBijective(v2);
true
gap> Display(v2^-1);

Rcwa permutation of Z_( 2 ) with modulus 4

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

gap> S := ResidueClass(Z_pi(2),2,0);; l := [S];;
gap> for i in [1..10] do Add(l,l[Length(l)]^v2); od;
gap> l; # Visibly v2 is wild ...
[ 0(2), 0(4), 0(8), 0(16), 0(32), 0(64), 0(128), 0(256), 0(512),
  0(1024), 0(2048) ]
gap> w2 := RcwaMapping(Z_pi(2),[[1,0,2],[2,-1,1],[1,1,1],[2,-1,1]]);;
 v2w2 =Commv2);v2w2^-;java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 36
gap> Display(v2w2);

Rcwa permutation of Z_( 2 ) with modulus 8

        /
        | 3 n   if n in 2(4)
        | n + 4 if n in 1(8)
 n |-> <  n - 4 if n in 5(8)
        | n     if n in 0(4) U 3(4)
        |
        \
]]>
</Example>

Again, viewed as an rcwa mapping of the integers the commutator given at
the end of the example would not be surjective. <P/>

Enter <C>AssignGlobals(LoadRCWAExamples().Semilocals);</C>
in order to assign the global variables defined in this section.

</Section>

<!-- #################################################################### -->

<Section Label="sec:Twisting257CyclesToModulus32">
<Heading>
  Twisting 257-cycles into an rcwa mapping with modulus 32
</Heading>

We define an rcwa mapping <A>x</A> of order 257 with modulus 32.
The easiest way to construct such a mapping is to prescribe a transition
graph and then to assign suitable affine mappings to its vertices.

<java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 0
<![CDATA[
gap> x_257 := RcwaMapping(
>      [[ 16,  2,  1], [ 16, 18,  1], [  1, 16,  1], [ 16, 18,  1],
>       ],  1,16,1,[16,18  ]java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
>         1 16 1,[16 ,] [ 1  1,[16,,  1,
>       [  1, 16,  1], [ 16, 18,  1], [  1, 16,  1], [ 16, 18,  1],
>       [  1,  0, 16], [ 16, 18,  1], [  1,-14,  1], [ 16, 18,  1],
>       [  1,-14,  1], [ 16, 18,  1], [  1,-14,  1], [ 16, 18,  1],
>       [  1,-14,  1], [ 16, 18,  1], [  1,-14,  1], [ 16, 18,  1],
>       [  1,-14,  1], [ 16, 18,  1], [  1,-14,  1], [  1,-31,  1]]);;
gap> Order(x_257);; Display(x_257:CycleNotation:=false);

Rcwa permutation of Z with modulus 32, of order 257

        /
        | 16n+18 if n in 1(2) \ 31(32)
        | n+161()  89)
        |                12(32) U 14(32)
        | n-14   if n in 18(32) U 20(32) U 22(32) U 24(32) U 26(32) U 
 n |-> <                 28(32) U 30(32)
        | 16n+2  if n in 0(32)
        | n/16   if n in 16(32)
        | n-31   if n in 31(32)
        |
        \

gap> Display(x_257);

Rcwa permutation of Z with modulus 32, of order 257

(0(), (512,18() 4512, 20() 6512,22(12, 
  8(512), 24(512), 10(512), 26(512), 12(512), 28(512th  <>T6/   residueclass(2) 
30512,16() 132,34(), 50(12, 36512,512,
  38(512), 54(512), 40(512), 56(512), 42(512), 58(512), 44(512), 
  , ,82512) 
  68(512), 84(512), 70(512), 86(512), 72(512), 88(512), 74(512), 
  90(512), 76(512), 92(512), 78(512), 94(512), 80(512), 5(32), 
  98(512), 114(512), 100(512), 116(512), 102(512), 118(512), 
  104(512), 120(512), 106(512), 122(512), 108(512), 124(512), 
  ) 126512, 112) 7(),130512),146() 
  132(512), 148(512), 134(512), 150(512Integers,,)S)java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
  138(512), 154(512), 140(512), 156(512), 142(512), 158(512), 
  144(512), 9(32), 162(512), 178(512), 164(512), 180(512), 
  166(512), 182(512), 168(512), 184(512), 170(512), 186(512), 
  172(512), 188(512), 174(512), 190(512), 176(512), 11(32), 
  194(512), 210(512), 196(512), 212(512), 198(512), 214(512), 
  200(512), 216(512), 202(512), 218(512), 204(512), 220(512), 
  206(512), 222(512), 208(512), 13(32), 226(512), 242(512), 
  228(512), 244(512), 230(512), 246(512), 232(512), 248(512), 
  512,236(12,252(),(512, 254512),java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62
  240(512), 15(32), 258(512), 274(512), 260(512), 276(512), 
  262(512), 278(512), 264(512), 280(512), 266(512), 282(512), 
  268(512), 284(512), 270(512), 286(512), 272(512), 17(32), 
  290(512), 306(512), 292(512), 308(512), 294(512), 310(512), 
  296(512), 312(512), 298(512), 314(512), 300(512), 316(512), 
  302(512), 318(512), 304(512), 19(32), 322(512), 338(512), 
  324(512), 340(512), 326(512), 342(512), 328(512), 344(512), 
  330(512), 346(512), 332(512), 348(512), 334(512), 350(512), 
  336(512), 21(32), 354(512), 370(512), 356(512), 372(512), 
  358(512), 374(512), 360(512), 376(512), 362(512), 378(512), 
  364(512), 380(512), 366(512), 382(512), 368(512), 23(32), 
  386(512), 402(512), 388(512), 404(512), 390(512), 406(512), 
  392(512), 408(512), 394(512), 410(512), 396(512), 412(512), 
  398(512), 414(512), 400(512)0()
  420(512), 436(512), 422(512), 438(512), 424(512), 440(512), 
  426(>  : ^T
  432(512), 27(32), 450(512), 466(512),03) 5(9  79)U()
  454(512), 470(512), 456(512), 472(512), 458(512), 474(512), 
  460(512), 476(512), 462(512), 478(512), 464(512), 29(32), 
  482(512), 498(512), 484(512), 500(512), 486(512), 502(512), 
  488(512), 504(512), 490(512), 506(512), 492(512), 508(512), 
  494(512), 510(512), 496(512), 31(32) )

gap> Length(Cycle(x_257,0));
257
]]>
</Example>

Enter <C>AssignGlobals(LoadRCWAExamples().LongCyclesOfPrimeLength);</C>
in java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8

</Section>

<!-- #################################################################### -->############################ ->

<Section Label="sec:ModuliOfPowers">
<Heading> The behaviour of the moduli of powers </Heading>

We give some examples of how the series of the moduli of powers of a given
rcwa mapping of the integers can look like.

<Example>
<![CDATA[
a : RcwaMapping(30,02][,1,]);
gap> List([0..4],i->Modulus(a^i));
[ 1, 4, 16, 64, 256 ]
gap> e1 := RcwaMapping([[1,4,1],[2,0,1],[1,0,2],[2,0,1]]);;
gap> e2() U4)U ()
>                       [1,4,1],[2,0,1],[1,0,1],[1,0,1]]);;
gap> List([e1,e2],Order);
[infinity 
gap> List([1..20],i->Modulus(e1^i));
[ 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,<nion of784 classesmod 1215>
gap> List([1..20],i->Modulus(e2^i));
[ 8, 4, 8, 4, 8, 4, 8, 4, 8, 4, 8, 4, 8, 4, 8, 4, 8, 4, 8, 4 ]
gap> Display(e2);

Rcwa permutation of Z with modulus 8, of order infinity

        /
        | n+4 if n in 0(4)
        | 2n  if n in 1(4)
 n |-> <  n/2 if n in 2(8)
        | n   if n in 3(4) U 6(8)
        |
        \

gap> e2^2 = Restriction(RcwaMapping([[1,2,1]]),RcwaMapping([[4,0,1]]));
true
gap> g:=RcwaMapping([[2,2,1],[1, 4,1],[1,0,2],[2,2,1],[1,-4,1],[1,-2,1]]);;
gap> h:=RcwaMapping([[2,2,1],[1,-2,1],[1,0,2],[2,2,1],[1,-1,1],[1, 1,1]]);;
gap> List([0..7],i->Modulus(g^i));
[ 1, 6, 12, 12, 12, 12, 6, 1 ]
gap> List([1..18],i->Modulus((g^3*h)^i));
[ 12, 6, 12, 12, 12, 6, 12, 6, 12, 12, 12, 6, 12, 6, 12, 12, 12, 6 ]
gap> u := RcwaMapping([[3,0,5],[9,1,5],[3,-1,5],[9,-2,5],[9,4,5]]);;
gap> List([0..3],i->Modulus(u^i));
[ 1, 5, 25, 125 ]
gap> v6 := RcwaMapping([[-1,2,1],[1,-1,1],[1,-1,1]]);;
gap> List([0..6],i->Modulus(v6^i));
[ 1, 3, 3, 3, 3, 3, 1 ]
gap> w8 := RcwaMapping([[-1,3,1],[1,-1,1],[1,-1,1],[1,-1,1]]);;
gap> List([0..8],i->Modulus(w8^i));
[ 1, 4, 4, 4, 4, 4, 4, 4, 1 ]
gap> z := RcwaMapping([[2,1,1],[1, 1,1],[2,-1,1],[2, -2,1],
>                      [1,6,2],[1, 1,1],[1,-6,2],[2,  5,1],
>                      [1,6,2],[1, 1,1],[1, 1,1],[2, -5,1],
>                      [1,0,1],[1,-4,1],[1, 0,1],[2,-10,1]]);;
gap> IsBijective(z);
true
gap> List([0..25],i->Modulus(z^i));
[ 1, 16, 32, 64, 64, 128, 128, 128, 128, 128, 128, 256, 256, 256, 256, 
  256, 256, 512, 512, 512, 512, 512, 512, 1024, 1024, 1024 ]
]]>
</Example>

Enter <C>AssignGlobals(LoadRCWAExamples().ModuliOfPowers);</C>
in order to assign the global variables defined in this section.

</Section>

<!-- #################################################################### -->

<Section Label="sec:CollatzImagesAndPreImages">
<Heading> Images and preimages under the Collatz mapping </Heading>

We have a look at the images of the residue class 1(2)
under powers of the Collatz mapping.

<Example>
<![CDATA[
gap> T := RcwaMapping([[1,0,2],[3,1,2]]);;
gap> S0 := ResidueClass(Integers,2,1);;
 S1 : S0^java.lang.StringIndexOutOfBoundsException: Range [16, 17) out of bounds for length 16
2(3)
gap> S2 := S1^T;
1(3) U 8(9)
gap  [268434943 1619 ],[ 536869887, 2429], [ 1073739775,3644], 
2(3) U 4(9)
gap> S4 := S3^T;
Z \ 0(3) U 5(9)
gap> S5 := S4^T;
Z \ 0(3) U 7(9)
gap> S6 := S5^T;
Z \ 70368609926062 20 ,   ,[140737219852124 5],
[ 281474439704249  ,[281474439704249, 4],[562948879408498  ,
Z \ 0(3)
]]>
</Example>

Thus the image gets stable after applying the mapping <M>T</M> gap> Trajectory(igma_T^1[,]20;
he6th time.Hence M>6/>maps  residueclass()surjectively
onto the union of the residue classes 1(3) and 2(3), which <M>T</M>
stabilizes setwise.
Now we would like to determine thepreimagesof 1(3) and 2(3) in 1(2)
under <M>T^6</M>. The residue class 1(2) has to be the disjoint union of
these sets.

<Example>
<![CDATA[
gap> U := Intersection(PreImage(T^6,ResidueClass(Integers,3,1)),S0);
<unionWhile itseemseasy to make     of 
gapof C>&uscoreT/C>obtaining on
< 21  (64)
gapAsUnionOfFewClassesU
[ 1(64), 5(64), 7(64), 9(64), 21(64), 23(64), 29(64), 31(64), 49(64), 
  51(64), 59(64) ]
gap> AsUnionOfFewClasses(V);
[ 3(32), 11(32), 13(32), 15(32), 25(32), 17(64), Rpermutation Z^2 with modulus(1,)(,)java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
  37(64), 39(64), 41(64), 53(64), 55(64), 61(64), 63(64) ]
gap> Union(U,V) = S0 and Intersection(U,V) = [];  # consistency check
true
]]>
</Example>

The images of the residue class 0(3) under powers of <M>T</M> look
as follows:

<Example>
<![CDATA[
gap> /
0(3)
gap> S1
0()U(9)
gap> S2 := S1^T;
0(3) U 5(9) U 7(9) U 8(27)
gap> S3 := S2^T;
<union of 20 residue classes (mod 27) (6 classes)>
gap> S4 := S3^T;
<union of 73 residue classes (mod 81)>
gap> S5 := S4^T;
Z \ 10(81) U 37(81)
gap> S6 := S5^T;
Integers
gap> S7 := S6^T;
Integers
]]>
</Example>

Thus every integer is the image of a multiple of 3
nder&;M means  it wouldbesufficient toprovethe
<M>3n+1</M> conjecture for multiples of 3.
We can obtain the corresponding result for multiples of 5 as follows:

<Example>
<[62,16001]  31 ],[15 4005 , 7 128011 ],
gap> S 3 256023 ],  1,512047]  0  ], [0  ] 
[ 0(5) ]
gap> for i in [1..12] do Add(S,S[i]^T); od;
gap> for s in java.lang.StringIndexOutOfBoundsException: Range [0, 15) out of bounds for length 10
0(5)
0(5) U 8(15)
0(5) U 4(15) U 8(15)
0(5) U 2(15) U 4(15) U 8(15) U 29(45)
<union of 73 residue classes (mod 135)>
<union of 244 residue classes (mod 405)>
<union of 784 residue classes (mod 1215)>
<union of 824 residue classes (mod 1215)>
<union of 2593 residue classes (mod 3645)>
<union of 2647 residue classes (mod 3645)>
<union of 2665 residue classes (mod 3645)>
<union of 2671 residue classes (mod 3645)>
1(3) U 2(3) U 0(15)
gap> Union(S[13],ResidueClass(Integers,3,0));
Integers
gap>  List(S,Si->Float(Density(Si)));
[ 0.2, 0.266667, 0.333333, 0.422222, 0.540741, 0.602469, 0.645267, 
  0.678189, 0.711385, 0.7262, 0.731139, 0.732785, 0.733333 ]
]]>
</Example>

Enter <C>AssignGlobals(LoadRCWAExamples().CollatzMapping);</C>
in order to assign the global variables defined in this section.

</Section>

<!-- #################################################################### -->

<Section Label="sec:Sigma_T">
<Heading>
  An extension of the Collatz mapping T to a permutation of <M>&ZZ;^2</M>
</Heading>

The Collatz mapping <M>T</M> is java.lang.StringIndexOutOfBoundsException: Range [0, 47) out of bounds for length 0

<Example>
<![CDATA[
gap> T := RcwaMapping([[1,0,2],[3,1,2]]);;
gap> Display(T);

Rcwa mapping of Z with modulus 2Listing>

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

gap> IsInjective(T); IsSurjective(T);
false
true
gap> PreImages(T,2);
[ 1, 4 ]
]]>
</Example>

Often, dealing with rcwa permutations is easier.
Indeed the Collatz mapping&Listing>
ways to permutations of <M>![CDATA[
permutation acts a=leveljava.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 70

Example
<![CDATA[
gap> Sigma_T := RcwaMapping( Integers^2, [[1,0],[0,6]],
>                            [[[[2,0],[/>
>                             [[[4,0],[0,3]],[2,1],2],
>                             [[[2,0],[0,1]],[0,0],2],
>                             [[[4,0],[0,3]],[2,1],2],
>                             [[[4,0],[0,1]],[0,0],2],
>                             [[[4,0Example
<rcwa mapping of Z^2 with modulus (1,0)Z+(0,6)Z>
gap> IsBijective(Sigma_T);
true0() () 4,3())
gap> Display(Sigma_T);

Rcwa permutation of Z^2 with modulus (1,0)Z+(0,6)>iflevel=1   ;else

            /
            | (2m+1,(3n+1)/2) if (m,n) in (0,1)+(1,0)Z+(0,2)Z
            | (m,n/2)         if (m,n) in (0,0)+(1,0)Z+(0,6)Z U 
 (m,n) |-> <                              (0,2)+(1,0)Z+(0,6)Z
            | (2m,n/2)        if (m,n) in (0,4)+(1,0)Z+(0,6)Z
            |
            \

gap> Display(Sigma_T^-1);

Rcwa permutation of Z^2 with modulus (2,0)Z+(0,3)Z

            /
            | (m,2n)             if (m,n) in (0,0)+(1,0)Z+(0,3)Z U 
            |                                (0,1)+(1,0)Z+(0,3)Z
 (m,n) |-> <  (m/2,2n)           if (m,n) in (0,2)+(2,0)Z+(0,3)Z
            | ((m-1)/2,(2n-1)/3) if (<groupoverZ with 2 >
            
            \
]]>
</Example>

ow <>3+<M conjectureis equivalentto  assertionthat
the line <M>n=4</M> is a set      (15,9,13)261014(,,12, ],
<C>Sigma&uscore;T</C> on the half plane <M>n > 0</M>. <P/>

gap H,Size);

<Example>
<![CDATA[
gap>Sigma_T,[,,75;
[ [ 0, 27 ], [ 1, 41 ], [ 3, 62 ], [ 3, 31 ], [ 7, 47 ], [ 15, gap>List(H,;
  [ 31, 107 ], [ 63, 161 ], [ 127, 242 ], [ 127, 121 ], [ 255, 182 ], 
  [ 255, 91 ], [ 511, 137 ], [ 1023, 206 ], [ 1023, 103 ], 
  [ 2047, 155 ], [ 4095, 233 ], [ 8191, 350 ], [ 8191, 175 ], 
  [ 16383,263 ,[32767,395 ,  ,593]  131071 ] 
  [ 131071, 445 ], [ 262143, 668 ], [ 262143, 334 ], [ 524286,in    theglobalvariablesdefinedinthis .
  [ 1048573, 251 ], [ 2097147, 377 ], [ 4194295, 566 ], [ 4194295, 283 ], 
[8388591,  , 
  [ 33554367, 479 ], [ 67108735, 719 ], [ 134217471, 1079 ], 
  [ 268434943, 1619 ], [ 536869887, 2429 ], [ 1073739775, 3644 ], 
  [ 1073739775, 1822 ], [ 2147479550, 911 ], [ 4294959101, 1367 ], 
  [ 8589918203, 2051 ], [ 17179836407, 3077 ], [ 34359672815, 4616 ], 
  [ 34359672815, 2308 ], [ 68719345630, 1154 ], [ 68719345630, 577 ], 
  [ 137438691261, 866 ], [ 137438691261, 433 ], [ 274877382523, 650 ], 
  [ 274877382523, 325 ], [ 549754765047java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
  [ 1099509530094, 122 integer the<><M>&;.Incontrast,
  [ 2199019060189, 46 ], [ it seems likely that most trajectories of  twomappings
  [ 17592152481515, 53 ], [ 35184304963031, 80 ], [ 35184304963031, 40 ], 
  [ 70368609926062, 20 ], [ 70368609926062, 10 ], [ 140737219852124, 5 ], 
  [281474439704249, ,[281474439704249,4] [562948879408498,2] 
  [ 562948879408498, 1 ], [ 1125897758816997, 2 ], 
  [ 1125897758816997, 1 ], [ 2251795517633995, 2 ], 
  [ 2251795517633995, 1 ] ]
gap> Trajectory(Sigma_T^-1,[0,27],20);
[ [ 0, 27 ], [ 0, 54 ], [ 0, 108 ], [ 0, 216 ], [ 0, 432 ], [ 0, 864 ], 
  [ 0, 1728 ], [ 0, 3456 ], [ 0, 6912 ], [ 0, 13824 ], [ 0, 27648 ], 
  [ 0, 55296 ], [ 0, 110592 ], [ 0, 221184 ], [ 0, 442368 ], 
  [ 0, 884736 ], [ png"width  372" height = ""
  [ 0, 14155776 ] ]
]]>
/java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 10

While it seems easy to make conjectures regarding the behaviour of cycles
of <C>Sigma&uscore;T</C>, obtaining results on it is apparently hard.
We observe however that <C>Sigma&uscore;T</C> can be written as a product
of two permutations of <M>&ZZ;^2</M> whose cycles can be described
easily:

<Example>
<![CDATA[
gIntegers^2[10,02],[[40,01],0 0,]java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
>                                               [[[4,0],[0,1]],[2,-1],2]]);
<rcwa mapping of Z^2 with modulus (1,0)Z+(0,2)Z>
gap> b := a^-1*Sigma_T;
<rcwa permutation of Z^2 with modulus (2,0)Z+(0,3)Z>
gap> Display(a);

Rcwa permutation of Z^2 with modulus (1,0)Z+(0,2)Z

            /
            | (2m,n/2)       if (m,n) in (0,0)+(1,0)Z+(0,2)Z
 (m,n) |-> <  (2m+1,(n-1)/2) if (mjava.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 75
            |
            \

gap> Display(b);

Rcwa permutation of Z^2 with modulus (2,0)Z+(0,3)Z

            /
            | (m,3n+2) if 5:Z \ 7(2 2532)
             m/,)  (m, in(,)(,)+03Z 
 (m,n) |-> <                       (0,1)+(2,0)Z+(0,3)Z
            | (m,n)    if (m,n)>
            |
            \
]]>
</Example>

It is easy to see that both <C>a</C> and <C>b</C> have infinite order.
The  <small/Q <><M.Sincei  Mca/>wehave
speak, from <M>(0<>anb/ geq </    Mn\ /ca)/M, we java.lang.StringIndexOutOfBoundsException: Range [65, 64) out of bounds for length 72
A given cycle contains only finitely many points both of whose coordinates
 are (0)and (1,1)
We have a look at an example of a cycle of 

<Example>
<![CDATA[
gap> Trajectory(a,[1000,1000],15);
[ [ 1000, 1000 ], [ 2000, 500 ], [ 4000, 250 ], [ 8000, 125 ], 
  [ 16001, 62 ], [ 32002, 31 ], [ 64005, 15 ], [ 128011, 7 ], 
  [ 256023, 3 ], [ 512047, 1 ], [ 1024095, 0 ], [ 2048190, 0 ]
  [ 4096380, /
gap> Trajectory(a^-1,[1000,1000],15);
[ [ 1000, 1000 ], [ 500, 2000 ], [ 250, 4000 ], [ 125, 8000 ], 
  [ 62, 16001 ], [ 31, 32002 ], [ 15, 64005 ], [ 7containnbsp; by computing preimages ofnbsp1 
  [ 3, 256023 ], [ 1, 512047 ], [ 0, 1024095 ], [ 0, 2048190 ], 
  [ 0, 4096380 ], [ 0, 8192760 ], [ 0, 16385520 ] ]
]]>
</Example>

tisleft aneasyexercise  theto   the cycles
of <C>b</C> look like k :k+;

Enter <C>AssignGlobals(LoadRCWAExamples()>   until (small;
in order to assign the global variables defined in this section.

</Section]>

<!-- #################################################################### -->

<Section Label="sec:
<Heading>
  Finite quotients of Grigorchuk groups
</Heading>

In this section, we show how to construct finite quotients of the two
infinite periodic groups introduced by Rostislav Grigorchuk
in <Cite Key="Grigorchuk80"/> with the help of &  The free group of rank 2 and the modular group PSL(2,&ZZ

The first of these, nowadays known as <Q>Grigorchuk group</Q>, is
in anexample  onthe &AP website- 
<URL>https:even in  subgroupwhich s  by  classtranspositions

The &RCWA; package permits a simpler and more elegant construction
of the finite quotients of this group: The function <C>TopElement</C>
given on the mentioned webpage gets unnecessary, and the function
<C>SequenceElement</C> can be simplified as follows:

<Listing>
<![CDATA[
SequenceElement := function ( r, level )

  return Permutation(Product(Filtered([1..level-1],kgap>gamma1 =RepresentativeActionRCWA(,
                             k->ClassTransposition(    2^(k-1)-1,2^(k+1),
                                                   2^k+2^(k-1)-1,2^(k+1))),
                     [0..2^level-1]);

]]>
</Listing>

The actual constructors for the generators are modified as follows:

<Listing>
<![CDATA[
a := level -> Permutation(ClassTransposition(0,2,1,2),[0..2^level-1]);
b := level -> SequenceElement(0,level);
c := level -> SequenceElement(2,level);
d := level -> SequenceElement(1,level);
]]>
</Listing>

All computations given on the webpage can now be done just as with the
<Q>original</Q> construction of the quotients of the Grigorchuk group.
In the sequel, we construct finite quotients of the second group introduced
in <Cite Key="Grigorchuk80"/>:

<Example>
<![CDATA[
gap> FourCycle := RcwaMapping((4,5,6,7),[4..7]);
( 0(4), 1(4), 2(4), 3(4) )
gap> GrigorchukGroup2Generator := function ( level )
>      if level = 1 then return FourCycle; else
>        return   Restriction(FourCycle, RcwaMapping([[4,1,1]]))
>               * Restriction(FourCycle, RcwaMapping([[4,3,1]]))
>               * Restriction(GrigorchukGroup2Generator(level-1),
>                             RcwaMapping([[4,0,1]]));
>      fi;
>    end;;
gap> GrigorchukGroup2 := level -> Group(FourCycle,
>                                       GrigorchukGroup2Generator(level));;
]]>
</Example>

We can do similar things as shown in the example on the &GAP; webpage
for the <Q>first</Q> Grigorchuk group:

E
<![CDATA[
gap> G := List([1..4],lev->GrigorchukGroup2(lev<Example>
[ <rcwa group over Z with 2 generators>, 
  <rcwa group over Z with 2 generators>Attr=IsomorphismRcwaGroup"
  <rcwa group over Z with 2 generators>, 
  <rcwa group over Z with 2 generators> ]
gap> H := List([1.</>
[ Group([ (1,2,3,4), (1,2,3,4) ]), 
  Group([ (1,2,3,4)(5,6,7,8)(9,10,11,12)(13,14,15,16), 
      (1,5,9,13)(2,6,10,14)(4,8,12,16) ]), 
  <permutation group with 2 generators>, 
  <permutation group with 2 generators> ]
gap> List(H,Size);
[ 4, 1024, 4294967296, 1329227995784915872903807060280344576 ]
gap> List(last,n->Collected(Factors(n)));
[ [ [ 2, 2 ] ], [ [ 2, 10 ] ], [ [ 2, 32 ] ], [ [ 2, 120 ] ] ]
gap> List(H,NilpotencyClassOfGroup);      
[ 1, 6, 14, 40 ]
]]
</Example>

Enter <C>AssignGlobals(LoadRCWAExamplesgap>     IsSubset(X1,X2^.) andIsSubset(1X^(F21^-1))
in order>    andIsSubset(2X1^2 IsSubsetX2X1^F22-1);

</Section>

<!-- #################################################################### -->

<">
<Heading>
  Forward orbits of a monoid with 2 generators
</Heading>

The <M>3n+1</M> >    IsSubset(Union(Sinks^1)X2^F2^-1)java.lang.StringIndexOutOfBoundsException: Index 48 out of bounds for length 48
integer under the Collatz mapping <M>T</M> contains 1. In contrast,
it seems likely that <Q>most</Q> trajectories of the two mappings
<Alt Only="LaTeX">
  <Display>
  <![CDATA[T_5^\pm: \ \mathbb{Z} \longrightarrow \mathbb{Z}, \ \ \ \
    n \ \longmapsto \
    \begin{cases}
      \frac{n}{2}        & \may help to understand what is actually tounderstandwhat   inthiscalculation
      f5n \ 1{2}&\text{f \   \
    \end{cases}]]>
  </Display>
</Alt>
<Alt Only="HTML"><![CDATA[<center>
  <img src = "t5pm.png" width = "372" height = "61"
       alt = "T5+/-: Z -> java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1
</center>]]></Alt>
<Alt Only="Text"><Verb><![CDATA[
                                      /
                                      | n/2          if n even,
          T_5+/-:  Z -> Z,   n  |->  <
                                      | (5n +/- 1)/2 if n odd
                                      \
]]></Verb></Alt>
diverge.
However we can show by means of computation that the forward orbit of any
positive integer under the action of the monoid generated by the two
mappings <M>T_5^-</M> and <M>T_5^+</M> indeed java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 29
First of all, we enter the generators:

<Example>
<![CDATA[
gap> T5m := RcwaMapping([[1,0,2],[5,-1,2]]);;
gap> T5p := RcwaMapping([[1,0,2],[5, 1,2]]);;
]]>
</Example>

   a  Mk<M       Mr2^)<M
there is a product <M>f>                                               CyclicGroup2))java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
whose restriction to <M>r(2^k)</M> is given by <M>n \mapsto (an+b)/c</M>
where <M>c>a</M>:

<Example>
<![CDATA[
gap> k := 1;;
gap> repeat
>      maps := List(Tuples([T5m,T5p],k),Product);
>      decr := List(maps,DecreasingOn);
>      decreasable := Union
>      Print(k,": ")< Only=HTML"&<Alt>
>      k := k + 1;
>    until
1: 0(2)
2: 0(4)
3: Z \ 1(8) U 7(8)
4: 0(4) U 3(16) U 6(16) U 10(16) U 13(16)
5: Z \ 7(32) U 25(32)
6: <union of 48 residue classes (mod 64)>
7: Integers
]]>
</Example>

Thus <M>k=7</M> serves our purposes.
To be sure that for any positive integer <M>n</M> our monoid contains
a mapping <M>f</M> such that <M>n^f<n</M>, we still need to check this
condition for <Q>small</Q> <M>n</M>. Since in case <M>c>a</M> we have
<M>(an+b)/c \geq n</M> if only if <M>n \leq b/(c-a)</M>, we only need to
check those <M>n</M> which are not larger than the largest coefficient
<M>b_{r(m)}</M> occurring in any of the products under consideration:

<Example>
<![CDATA[
gap> maxb := Maximum(List(maps,f->Maximum(List(Coefficients(f),t->t[2]))));
25999
gap> small := Filtered([1..maxb],n->ForAll(maps,f->n^f>=n));
[ 1, 7, 9, 11 ]
]]>
</Example>

This means that except of 1, only for <M>n \in \{{7,9,11\}}</M> there
is no product of 7 mappings <M>T_5^\pm</M> which maps <M>n</M> to a smaller
integer. We check that also the forward orbits of these three integers
contain 1 by successively computing preimages of 1: 

<Example>
<![CDATA[
gap> S := [1];; k := 0;;
gap> repeat
>      S := Union(S,PreImage(T5m,S),PreImage(T5p,S));
>      k := k+1;
>    until IsSubset(S,small);
gap> k;
17
]]>
</Example>

CAssignGlobals().);<C
inorder to theglobal variables efinedinthis.

</Section>

!-################################## ->

<Section Label="sec:F2andPSL2Z">
<Headingjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9

/>

free  of rank 2embeds  RCWA&; - infactit 

   be constructedby transferringthe 
 theso- <QSchottky <Q>(f. <Cite Key=LaHarpe00/,
page 27) from PSL(2,
(we use the notation from the cited book):

<
!CDATA
gap D: AllResidueClassesModulo();
 0(4), 1(4),2(4), 3() ]
gap gamma1 =RepresentativeAction(()java.lang.StringIndexOutOfBoundsException: Index 51 out of bounds for length 51
>Difference(D[],D2);
gap> gamma2 := java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 0
>Difference(Integers,D3)D]);
gap> F2 := Group"NCurses.BrowseGeneric<code></span></h5>
<rcwa group over Z with 2 generators>
]]>
</Example>

We can do some checks:

<Example>
<![CDATA[
gap> X1 := Union(D{[1,2]});; X2 := Union(D{[3,4]});;
gap>     IsSubset(X1,X2^gamma1) and IsSubset(X1,X2^(gamma1^-1))
>    and IsSubset(X2,X1^gamma2) and IsSubset(X2,X1^(gamma2^-1));
true
]]>
</Example>

The generators are products of 3 class transpositions, each:

<Example>
<![CDATA[
gap> Factorization(gamma1);
[ ( 0(2), 1(2) ), ( 3(4), 5(8) ), ( 0(2), 1(8) ) ]
gap> Factorization(gamma2);
[ ( 0(), ())  () 78 ,( 02, 38)  ]
]
</Example>

  constructionused by<ef "
=for group">to embed free groups of any rank <M>\geq 2</M>.
</

We give another only slightly different representation of the free group
of rank 2. We verify that it really is one by java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
- ETable-Lemma</E>(ee g Cite =LaHarpe00">
Section II.B.) to the infinite cyclic groups generated by the two
generatorsandtothe  two sets <>X1</C and<><C as above:

<
<![CDATA[
gap> r1 := ClassTransposition(0,2,1,2)*ClassTransposition(0,2,1,4);;
gap> r2 := ClassTransposition(0,2,1,2)*ClassTransposition(0,2,3,4);;
gap> F2 := Group(r1^2,r2^2);;
gap> List(GeneratorsOfGroup(F2),IsTame);
[ false, false ]
gap>     IsSubset(X1,X2^F2.1) and IsSubset(X1,X2^(F2.1^-1))
>    and IsSubset(X2,X1^F2.2) and IsSubset(X2,X1^(F2.2^-1));
true
gap> [Sources(r1),Sinks(r1),Loops(r1)]; # compare with X1
[ [ 0(4) ], [ 1(4) ], [ 0(4), 1(4) ] ]
gap> [Sources(r2),Sinks(r2),Loops(r2)]; # compare with X2
[ [ 2(4) ], [ 3(4) ], [ 2(4), 3(4) ] ]
gap>    IsSubset(X1,Union(Sinks(r1))) and IsSubset(X1,Union(Sinks(r1^-1)))
>   and IsSubset(X2,Union(Sinks(r2))) and IsSubset(X2,Union(Sinks(r2^-1)));
true
gap> IsSubset(Union(Sinks(r1)),X2^F2.1) and
>    IsSubset(Union(Sinks(r1^-1)),X2^(F2.1^-1));
true
gap> IsSubset(Union(Sinks(r2)),X1^F2.2) and
>    IsSubset(Union(Sinks(r2^-1)),X1^(F2.2^-1));
true
]]>
</Example>

Drawing the transition graphs of <C>r1</C> and <C>r2</C> for modulus 4
may help to understand what is actually done in this calculation.
It is easy to see that the group generated by <C>r1</C> and <C>r2</C>
is <E>not</E> free:

<Example>
<![CDATA[
gap> Order(r1/r2);
3
]]>
</Example>

The modular group PSL(2,&ZZ;) embeds into CT(&ZZ;) as well.
We give an embedding, and check that it really is one by applying
the Table Tennis Lemma as above:

<Example>
<![CDATA[
gap> PSL2Z := 
>      Group(ClassTransposition(0,3,1,3) * ClassTransposition(0,3,2,3),
>            ClassTransposition(1,3,0,6) * ClassTransposition(2,3,3,6));;
gap> List(GeneratorsOfGroup(PSL2Z),Order);
[ 3, 2 ]
gap> X1 := Difference(Integers,ResidueClass(0,3));
Z \ 0(3)
gap> X2 := ResidueClass(0,3);
0(3)
gap> IsSubset(X1,X2^PSL2Z.1) and IsSubset(X1,X2^(PSL2Z.1^2));
true
gap> IsSubset(X2,X1^PSL2Z.2);
true
]]>
</Example>

A slightly different representation of PSL(2,&ZZ;) can be obtained by using
&RCWA;'s general method for <C>IsomorphismRcwaGroup</C> for free products of
finite groups:

<Example>
<![CDATA[
gap> G := Image(IsomorphismRcwaGroup(FreeProduct(CyclicGroup(3),
>                                                CyclicGroup(2))));
<wild rcwa group over Z with 2 generators>
gap> List(GeneratorsOfGroup(G),Factorization);
[ [ ( 0(4), 2(4) ), ( 1(2), 0(4) ) ], [ ( 0(2), 1(2) ) ] ]
]]>
</Example>

Enter <C>AssignGlobals(LoadRCWAExamples().F2_PSL2Z);</C>
in order to assign the global variables defined in this section.

<Alt Only="HTML"> </Alt>

</Section>

<!-- #################################################################### -->

</Chapter>

<!-- #################################################################### -->

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

¤ 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.0.650Bemerkung:  ¤

*Bot Zugriff






Wurzel

Suchen

PVS Prover

Isabelle Prover


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.