Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/GAP/pkg/rcwa/doc/   (GAP Algebra Version 4.15.1©)  Datei vom 22.8.2025 mit Größe 78 kB image not shown  

Quelle  rcwamap.xml   Sprache: XML

 

<!-- #################################################################### --> Labeljava.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 33
<!-- ##                                                                ## -->
<!-- ##  rcwamap.xml          RCWA documentation          Stefan Kohl  ## -->/an <E>rcwa</E> mapping,
<!-- ##                                                                ## -->
<!-- #################################################################### -->

<Chapter Label="ch:RcwaMappings">
<Heading>there positive java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 71

<Remark" for>
<Example java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 18
<![CDATA     \\ a_m}cn +b_{(m}c_{rm}
gap> SizeScreen([75,24]);;
gap> SetAssertionLevel(0);
]]>
</Example>
</Ignore>

This chapter contains the basic definitions, and it describes how to
enter residue-class-wise affine mappings and how to compute with them. <P/>

How to compute with residue-class-wise affine groups is described in detail
in the next chapter. The reader is encouraged to look there already after
having read the first few pages of this chapter, and to look up definitions
as  needs to.

<!-- #################################################################### -->Alt ="><[DATA<java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 34

<Section Label="sec:basicdefinitions">
<Heading>Basic definitions</Heading>

<Index Key="rcwa mapping" Subkey="definition">java.lang.StringIndexOutOfBoundsException: Index 49 out of bounds for length 18
<ndex rcwa"Subkey="definition>group<java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62

Residue-class-f|_m)  r()>   -  ----------
permutation groups whose java.lang.StringIndexOutOfBoundsException: Range [46, 31) out of bounds for length 52
 P>

A<>f Z; rightarrow &ZZ;</M> is called
<E>residue-class-wise affine</E>, or for short an <>cwa/E>java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
is positive integer M<M> suchthat 
of <M>f</M> to theIndex= mapping"Subkey="odulusmultiplier>cwa/java.lang.StringIndexOutOfBoundsException: Range [66, 65) out of bounds for length 66
<M>r(m) \in =rcwamapping" =divisor" mapping/java.lang.StringIndexOutOfBoundsException: Range [63, 62) out of bounds for length 63
i
>
  <Display>
    f|_{r(m)}: \ r(m) \rightarrow \mathbb{Z}, \ \ \
    n \ \mapsto \ \frac{a_{r(m)} \cdot n + b_{ri. that<>gcd({(),{m}, c_rm)  =1</>,that
  /java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 12
<>
<<>c_{}/>is the<E><E>
  <  ="png   366height ="49"
       alt f|_()  java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 63
</
< =Text>Verb
                                        )* (m
           f_m): rm - Z,n|>  ---------------
                                              c_r(m)
<>/>
  a_{(},rm}, {() \ <M
depending on Index Key="rcwa java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 60

<Index Key="modulus" Subkey="definition">modulus</Index>
<Index Key="rcwa mapping" Subkey="modulus">rcwa mapping</Index>
<Index Key="multiplier" Subkey="definition">multiplier</Index>
<Index Key="rcwa mapping" Subkey="multiplier">rcwa mapping</Index>
<Index Key="divisor" Subkey="definition">divisor</Index>
<Index Key="rcwa mapping" Subkey="divisor">rcwa mapping</Index>

The smallest possible <M>m</M> is called the <E>modulus</E>
of&MM.is java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 66
},c_{(} )<M, and 
<M>c_{r(m)} > 0
Anrcwa is <><E>ifthesetof
coefficients  java.lang.StringIndexOutOfBoundsException: Range [12, 10) out of bounds for length 54
java.lang.StringIndexOutOfBoundsException: Range [7, 2) out of bounds for length 22

It is partition  ofjava.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 74
java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 71
permutations of & java.lang.StringIndexOutOfBoundsException: Range [12, 10) out of bounds for length 74
We denote the could call the>java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 72

<Index Key="tame" Subkey="rcwa mapping">tame</Index>
<Index Key="tame" Subkey="rcwa group">tame</Index>
<Index Key="wildjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
<java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 50
< fact java.lang.StringIndexOutOfBoundsException: Range [14, 13) out of bounds for length 71
<Index Key="rcwa group" groupsover <<M&^2</M>,over semilocalizations ofnbsp&;
< Key="rcwa  =wild"rcwa>
<Index Key="The ring <M>&ZZ;<>&Z;2< been    a

An  been java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 77
anthe java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 71
of &ZZ;asof java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 49
it is affine.   isEtame</E>ifasuch
partition for all of its elements,java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 69
are called <E>wildjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
onejava.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 59
while wild rcwa>r<M &;Mr(m)}</M> for <M>r(m)</M> running over the

 java.lang.StringIndexOutOfBoundsException: Range [18, 15) out of bounds for length 65
   to nbsp&ZZ;
In fact, >coeffs</A> java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 55
ffine  over <M>&ZZ;^2</M>, over semilocalizations of &ZZ;
and over univariate <M>_{r()}/M>C]</C> java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 73
The ring <M>&ZZ;^java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 4
 java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 73
have been chosen asjava.lang.StringIndexOutOfBoundsException: Range [6, 5) out of bounds for length 74
and the univariate printed and a break loop java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 72
of with

</Section>

<!-- #################################################################### -->notalljava.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 57

<Section Label="sec:EnteringRcwaMappings">
<Heading>class-ise /java.lang.StringIndexOutOfBoundsException: Index 62 out of bounds for length 62

Entering an rcwa mapping of &ZZ; requires giving the
>
<M>b_{T:[1,0,],3,1,]) java.lang.StringIndexOutOfBoundsException: Range [56, 55) out of bounds for length 64
residue classes (mod&gap>[ (T), IsInjective( ;

This can be done easiest by <C>RcwaMapping( <A>coeffs</A> )</C>, where
<</A is  list M>/>java.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 55
<>java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 74
<java.lang.StringIndexOutOfBoundsException: Range [64, 2) out of bounds for length 73
<P/>

If some coefficient <M>c_{r(m)}<
under to be be  java.lang.StringIndexOutOfBoundsException: Range [64, 63) out of bounds for length 74
printed n |-> <  (3n1/2 if nin ()
<C>[1,4,3|
The java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 57
<M>rcwaZ modulus>
are divisible by 3. <P/>

For the general constructor>a;
< RcwaMapping"Label=by ring, modulus and list of coefficients"/>.

<Example>
<![CDATA[
gap> T := RcwaMapping(g> Displaya;#This  Collatz':
<java.lang.StringIndexOutOfBoundsException: Range [16, 5) out of bounds for length 34
gap> [ java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 0
[ true, false ]
gap> Display(T);

Surjective rcwa mapping of Z java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 31

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

gap> a := RcwaMapping([[2,0,3]g (a,4;
<rcwa  of Z with modulus 3>
gap> IsBijective(a);
true
gap> Display]]

RcwaAlt "

        /
        | 2n/3     if n in 0(3)
 n)
        | (4n+1)/3 if n factored into members of the following three series of permutations particularlysimple 
        \

gap> Support(a);
Z 
ManSection>
[ Func "ClassShift"Arg=r,m Label=r,m">
 FuncName=""Arg"l" Label="l"/>
</Example>

<Alt Only="LaTeX">\java.lang.StringIndexOutOfBoundsException: Range [52, 27) out of bounds for length 61
There is computational evidence for the conjecture that any
residue-class-wise affine permutation of &ZZ; can be
factored into members of the following three series of permutations of
particularly simple structure
(cf. <Ref Attr="FactorizationIntoCSCRCT"
          Label="for an rcwa permutation of Z"/>):

<ManSection>
  <Func Name="ClassShift    and   M&;\etminus rm</M java.lang.StringIndexOutOfBoundsException: Range [57, 56) out of bounds for length 62
  <Func Name="ClassShift" ()/> thejava.lang.StringIndexOutOfBoundsException: Range [59, 58) out of bounds for length 71
  <Returns> the class shift <M>\nu_{r(m)}</
  <Description>
    The <E>class shift</E> <M>\nu_{r(m)}</M> is the rcwa mapping
    of >(5,2);
    andjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0

    In the |n+12 java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 28
    residue class <M>r(java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
    ManSection
<
DATA[
gap> Display(ClassShift(5,12));

Tame rcwa permutation of Z with modulus 12, of ofnbsp;&ZZ; which Mnin rm)<M  M>n+2<M>  which

        /
        | n+12 if n in 0  lt <M. />
 n|<nifn    512)
        |
        \
]]>
</Example>
  </Description>
</java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 13

<permuta  Z java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 48
  <Name=Cjava.lang.StringIndexOutOfBoundsException: Range [34, 29) out of bounds for length 56
  <Func Name="ClassReflection" Arg="cl" Label=- nif ninZ  (java.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
   class  M\java.lang.StringIndexOutOfBoundsException: Range [47, 46) out of bounds for length 68
  
    E> java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 75
    &;which <>n\inm<M M-  r</M java.lang.StringIndexOutOfBoundsException: Range [68, 67) out of bounds for length 73
    fixes <M>&ZZ; \setminus r(m)</M> pointwise, where it is java.lang.StringIndexOutOfBoundsException: Range [0, 70) out of bounds for length 48
    <M>0 \leq r <  java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 11


    java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 71
    java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 26
<java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
<![CDATA[
gap> Display(ClassReflection(5,9));

Rcwa permutation of Z with modulus 9, of order 2

        /
        | -n+10 if n in 5(9)
 n|-><n      ninZ  5()
        |
        \
]]>
</Example>
  </Description>
</ManSection>

<Alt Only="LaTeX">\pagebreak[4]</Alt>

<ManSection>
  <= ="r1 m1,,java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54
                                  Label="r1, m1, r2, m2"/>
  <Func Name="ClassTransposition" Arg="cl1, cl2"
                                  Label="cl1, cl2"/>
  <Returns>
    the class transposition <M>\tau_{r_1(m_1),r_2(m_2)}</M>.
  </Returns>
  <Description>
    Given two disjoint residue classes <M>r_1(m_1)</M> and <M>r_2(m_2)</M>
    of the integers, the <E>class transposition</E>
    <M>\tau_{r_1(m_1),r_2(m_2)}</M> <M>\in</M> RCWA(&ZZ;) is defined as the
    involution which java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 73
    any integer <M>k</M> java.lang.StringIndexOutOfBoundsException: Range [7, 1) out of bounds for length 73
     ism_1</M>nbspM>M> java.lang.StringIndexOutOfBoundsException: Range [70, 69) out of bounds for length 70
    that>l  & </.
    For a <E>generalizedC>java.lang.StringIndexOutOfBoundsException: Range [29, 26) out of bounds for length 30
    java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 22

    The class transpositionnbsp;M><M> 
    the java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 73
    complement of their union  <Mr_1m_1<M&Mm_2<>java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75

    <Index Key="TransposedClasses" Subkey <Mr_1(m_1)/>and<>(2<M stored
      <CTransposedClasses/>
    </Index>

    In the java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 0
M,M><M,<>r_2</M>
    and <M>m_2</M>, respectively.
    A of allclass java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 73
    stand  the  classes <M>r_1(m_1)</M> and <M>r_2(m_2)</M>,
    respectively. Enclosing the argument list in list brackets is permitted.
    The residue classes <M>r_1(m_1)</M> and <M>r_2(m_2)</M> are stored
    as an attribute <C>TransposedClasses</C>. <P/>

    <Index Key="ClassPairs" Subkey="m"><C>ClassPairs</C></Index>

    bound. of primes  givenasjava.lang.StringIndexOutOfBoundsException: Range [61, 60) out of bounds for length 70
    moduli less than or equal m_1<M>Mm_2<M   >PA.
     >Listjava.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 71
    where java.lang.StringIndexOutOfBoundsException: Range [23, 22) out of bounds for length 71
    java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 68
    pairs of  Key="ExtRepOfObj=f  java.lang.StringIndexOutOfBoundsException: Range [63, 62) out of bounds for length 64
    with
    java.lang.StringIndexOutOfBoundsException: Range [14, 9) out of bounds for length 70
    then java.lang.StringIndexOutOfBoundsException: Range [4, 1) out of bounds for length 71
>java.lang.StringIndexOutOfBoundsException: Range [37, 36) out of bounds for length 57
    java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 68
    only the 4-tuples where <M>m_1</M> and <M>m_2java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 57

    <java.lang.StringIndexOutOfBoundsException: Range [6, 1) out of bounds for length 39
    Index Key="ExtRepOfObj" Subkey="for a class transposition">
      <C>ExtRepOfObj</C>
    </Index>

    The functionC>(<>m/A>)</C returns the  of the
    list <C    M>/> of  ajava.lang.StringIndexOutOfBoundsException: Range [59, 58) out of bounds for length 74
    faster and without actually generating the list of tuples.
    Given a class transposition <A>ct</A>, the java.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 9
    can <C><A>>t/)<C><P/

    <Index Key=Rcwapermutation  Zwith10, of order 2
           Subkey="for a class transposition and a number of factors"
nsposition/>
    </Index>

       be written as aproduct of any given number
    <M>k</M> of class transpositions. Such        \
    <><>t<A><>k</A)C> />
<Example>
<[java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
> Display(1,810)CycleNotation:false;

Rcwa permutation of Z with modulus 10, of order 2

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

gap> List(ClassPairs(4),ClassTransposition);
[ ( 0(2), 1<>
  (3)2 ,  ()1(4))  (), (),  (),34 ,
  ( 
(  
gap> NrClassPairs(100   of  generatesthe
3528138
gap> SplittedClassTransposition(ClassTransposition java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 76
[ 1())(() (12 )  () 912  ]java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
</Example>
  />
</

<L"Alt>
The set of all class transpositions of the ring of integers generates the
simple group CT(&ZZ;) mentioned in andto  M>&;/> and<>\<M>the senseof  used
Thiscan  java.lang.StringIndexOutOfBoundsException: Range [25, 24) out of bounds for length 69
Label="he java.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 68
eof all generalizedclass &bsp&;
generates ajava.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 76

Class shifts, class reflections and class transpositionsof  java.lang.StringIndexOutOfBoundsException: Range [44, 38) out of bounds for length 57
<java.lang.StringIndexOutOfBoundsException: Range [5, 4) out of bounds for length 66
way -- all one needs to do java.lang.StringIndexOutOfBoundsException: Range [3, 1) out of bounds for length 56
and read<&;/>and<\<M  java.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 73
by&;&GAP;
They can also entered basicallyas- just
the desired the rcwa mapping which maps <M>n \in r(m)</M> to and which fixes <M>R \setminus r(m)</M> pointwise.
<Q>default ring</Q>    Class rotations generalize reflections,aswehave
Reference   that  first  is .<P>

On rings==java.lang.StringIndexOutOfBoundsException: Range [43, 42) out of bounds for length 61
    <Index

<ManSection>
  <Func Name="ClassRotation" Arg="r, m, u" Label= residue<>()/> java.lang.StringIndexOutOfBoundsException: Range [46, 45) out of bounds for length 71
  </
  <Returns> the class rotation <M>\rho_{r(m),u</>.
  <Description(Zpi2),),1/);
    Given a residue class <M>
    ring <M>R</M>, the <E>class rotation</E>  -               nin (
    is
     java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 54
    Class rotations generalize java.lang.StringIndexOutOfBoundsException: Range [0, 36) out of bounds for length 35
    <M\rho_{()1}  java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 50

   <java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 61
      <C>RotationFactor>Display;
    </Index>

    In the two-Rcwa permutation  GF(2^3)[x] with modulus x, of order 7
    residue class <M
    rackets is permitted. The argument <A>u</A> is stored as an attribute
    <C>RotationFactor</C>.
<Example>
<![CDATA[
java.lang.StringIndexOutOfBoundsException: Range [49, 3) out of bounds for length 59

Tame rcwa permutation of Z_( 2 ) with modulus 2, of order infinity

        /
         n in 1(2)
 n |<>C
        |
        

 x =java.lang.StringIndexOutOfBoundsException: Range [24, 23) out of bounds for length 50
gap> R <</,C><C>,
 :=ClassRotation1xZ()OneR);();
ClassRotation( 1(x), Z(2^3) >java.lang.StringIndexOutOfBoundsException: Range [39, 34) out of bounds for length 68
1(x) \ [ 1 ]
java.lang.StringIndexOutOfBoundsException: Range [26, 27) out of bounds for length 17

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

        /
        | Z(2^3)*P + Z(2^for thisorjava.lang.StringIndexOutOfBoundsException: Range [66, 65) out of bounds for length 66
 P=byringand java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 50
        |
        \
]]>
</Example>
  </Description>
</ManSection>

<Index Key
  <C>        Label=band range"/>
</Index>
<Index Labelmodulus  ">
  <C>IsClassReflection</CMeth RcwaMapping" Arg=, coeffs"
</Index>
<Index Key="IsClassRotation" Subkey="for an rcwa mapping">
  <C>IsClassRotation<Meth ="" Arg"  java.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 45
</Index>
<Index Key="IsClassTransposition"Subkey=for   mapping>
  <java.lang.StringIndexOutOfBoundsException: Range [8, 1) out of bounds for length 66
</Index>
Index Key=Ijava.lang.StringIndexOutOfBoundsException: Range [65, 43) out of bounds for length 74
  <C>IsGeneralizedClassTransposition</C>
</Index>

<C>IsClassShift</C>        byjava.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 44
<C>IsClassRotation<allcases the argument&<>R</A  the java.lang.StringIndexOutOfBoundsException: Range [62, 61) out of bounds for length 67
<C>IsGeneralizedClassTransposition</C> are E>coefficient list</E> for an rcwa mapping with
whether a given rcwa C>[</C><M>a_{r(m)}</Mrm}</M>,<>c_r()}</><C>]</C>

Inthe (modn;M>M)in by
mappings. TheC<><> <></><C. InM  />
but knowing all possible ways of entering an rcwa mapping is by no means
necessary for understanding this manual or comes first and is followed by the one for <M>1(m)</M>, the one for

<ManSection>
  <Heading> RcwaMapping (the general constructor) </Heading>
  <Meth Name="RcwaMapping" Arg="R, m, coeffs"
        Label="by ring, modulus and list of coefficients"/>
  <Meth Name="RcwaMapping" Arg="R, coeffs"
        Label="by ring and list of coefficients"/>
  <Meth Name="RcwaMapping" Arg="coeffs"
        Label="by list of coefficients"/>
  <Meth Name="RcwaMapping" Arg="perm, range"
        Label="by permutation and range"/>
  <Meth Name="RcwaMapping" Arg="m, values"
        Label"bymodulus and  /java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
   Arg=p,"
            descriptiofthe java.lang.StringIndexOutOfBoundsException: Range [48, 47) out of bounds for length 62
  """,m, oeffs"
        Label="by finite field size, modulus and list of coefficients"/>
  <Meth Name="RcwaMapping<>
        java.lang.StringIndexOutOfBoundsException: Range [24, 13) out of bounds for length 66
  <Meth Name="RcwaMapping" Arg="cycles"
        Label(b)/Mark>
  <Meth Name="RcwaMapping" Arg="expression"
        Label="by         of <A>R</A> = &ZZA>A> _(\pi}< withmodulus
  <Returns> an rcwa mapping. </Returns>
  <Description>
    In all cases the </Item>
    <A>m</A> is the modulus and<>
    A <E>coefficient list</E> for an rcwa mapping with modulus <M>m</M>
    consists of <M>|R/mR|</M> coefficient <<range</>+k*Length(A>range<A)</> Aperm<A>
    <C>[</C><M>a_{r(m)}</M>, <M>b_{r(m)}</M>, <M>c_{r(m)}</M><C>]</C>.
    Their ordering is determined by the ordering of the representatives of
    the classes(odnbsp;M>m/ in the list  
    <C      /)/java.lang.StringIndexOutOfBoundsException: Index 22 out of bounds for length 22
    this means that the coefficient triple for the residue class <M        2  C[/>reimage<>, /<>]/>per
    comes first and is followed by the one for <M>1(m)>
    <2/andsoon.</

     or several the arguments A>R/> A>/>
    <A>coeffs</A> are omitted or replaced by other arguments, the former
    are either from the  ordefaultvaluesarejava.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
    The meaning of the other arguments/>
    description of Item

    The above methods return the rcwa mapping
    <List>
      Mark>a)/Mark>
      <Item>
        of <A>R</A> java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 22
      </Item partitions <>/>and AP2<A> &<></> intoresidue
      <>
      <Item>
        of <A>R</A> = &      <ark>i</Mark>
        <C>Length(<A>coeffs</A>)</C> and coefficients <A>coeffs</A>,
      /java.lang.StringIndexOutOfBoundsException: Index 13 out of bounds for length 13
      <>()/Mark>
      <Item>
        of <A>achjava.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 48
        <A>/>,
      </Item>
      <Mark> <>java.lang.StringIndexOutOfBoundsException: Range [47, 45) out of bounds for length 75
<
        of <A(g <<C>"02,18)()5>, classshifts
        <C><A>range</A>+k*Length(<A>range<e.g cs46)"/>  eg <"(4)<C>,
java.lang.StringIndexOutOfBoundsException: Index 76 out of bounds for length 30
      </Item>
      
      >
        ;  java.lang.StringIndexOutOfBoundsException: Range [41, 39) out of bounds for length 75
        A></A of2 pairs <C>[</C>preimage<C>, < <><C>preimage<C>, </C>image<C>]</C> per
        residuegap R : PolynomialRing(F()1);  =X(GF(2),1) (,x)
      <Item>
      <Mark>(f)</Mark>
      <Item>
        of <A>R</A> = <M>&ZZ;_{(\pi)}</M> withgap> RcwaMappingZ_pi(),[/01];                              # (b)
        <C>Length(<A>coeffs</A>)</C> and coefficients <A>coeffs</A>
        (the set of primes <M>\pi</M> which denotes the underlying ring
        is passed as argument <A>pi</A>),
      </Item>
      <Mark>(g)</Mark>
      <Item>
        of <A>R</A> = GF(<A>>a =(2,3,,,3]41,]);                  )
        coefficients <A>coeffs</A>,
      <>
      <Mark>(h)</Mark>
      Item
        an rcwa permutation which induces a bijection between
         <><>and<>P2/A &;A>R<A> 
        classes and which
      </Item>
<()Mark
      <Item>
       java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 66
        java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 78
        each of which it permutes List([[0,2],[1,4],[3);        h
      />
      <(j</Mark>
      <Item>
        the rcwa permutation of> last0,);
        arithmetical expression <A>expression</A> -- a > g := RcwaMapping("((0(4),1(6))*cr(0(6)))^2/cs(2(8))"); 
        ClassTransposition416*java.lang.StringIndexOutOfBoundsException: Range [56, 55) out of bounds for length 64
        residue classes (e.g. <
        (e.g. <C>"/java.lang.StringIndexOutOfBoundsException: Index 16 out of bounds for length 16
        arithmetical operators some MZZ{(pi)</M>nbsp;&ZZ:
        and brackets (<C>"<"java.lang.StringIndexOutOfBoundsException: Range [35, 34) out of bounds for length 35
      </Item><FuncName"java.lang.StringIndexOutOfBoundsException: Range [39, 38) out of bounds for length 39
    </List>
    respectively.
    The methods fortheM&;_{)/M 
    argument{(pi)<M the  java.lang.StringIndexOutOfBoundsException: Range [53, 50) out of bounds for length 70
    instead>
java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 9
<![CDATA[
 =((2,;  = X((,);;x"")java.lang.StringIndexOutOfBoundsException: Index 69 out of bounds for length 69
 Rx+1,[10,One(),x+R,01]One());     # )
<rcwa mapping of GF(<java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
gap> RcwaMapping(Z_pi(2),[[1/3,0,1]]);                              # (b)
 mapping of Z_ 2) n- 13n
gap> a := gap> LocalizedRcwaMapping(,)13113;
<rcwamapping of Z with modulus 3>
gap> RcwaMapping((1,2,3),[1..4]);                                   # (d)
( 1(4), 2(4), 3(  419/13 635/,959//13, 144513,2174/,1087/,163713, 246213,
gap> T = RcwaMapping(2,[[1,2],[2,1],[3,5],[4,2]]);                  # (e)
true
gap> Index Key="View" Subkey="for an rcwa mapping"><C>View</C></Index>
mappingof Z_():n >/n
gap> RcwaMapping(2, KeyPrint=for mappingmapping">CPrint</></>
<<Inde Key="Subkey=for rcwamapping">Cjava.lang.StringIndexOutOfBoundsException: Range [59, 58) out of bounds for length 70
gap> RcwaMapping([0],1]23]]java.lang.StringIndexOutOfBoundsException: Range [59, 58) out of bounds for length 60
>                    List In java.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 68
true
gap> RcwaMapping([List([[0,C>java.lang.StringIndexOutOfBoundsException: Range [18, 16) out of bounds for length 69
(() 1()()() java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 27
 last)
[ 0(2), 1(4), 3(8),  the <>java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 70
gapjava.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 64
<rcwa residue classes are mapped to which by the affine partial mappings,
gap> g = T java.lang.StringIndexOutOfBoundsException: Range [31, 27) out of bounds for length 66
>         ClassShift(2,8);
true
]]>
</Example>
  </describes an rcwa mapping in full. The <C>Print</C>ed representation of
</ManSection
java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 65
Rcwa  Key="   java.lang.StringIndexOutOfBoundsException: Range [64, 63) out of bounds for length 65
of some semilocalization

<ManSection>
  <Func Name="LocalizedRcwaMapping"
        Arg="p"Label="for anjava.lang.StringIndexOutOfBoundsException: Range [38, 37) out of bounds for length 65
  <""
        Arg="f, pi" Package>amsmath</Package theoption<A>Factorization/> java.lang.StringIndexOutOfBoundsException: Range [69, 70) out of bounds for length 69
  <Returns>
    the rcwa mapping class reflections,class transpositions and prime switches is printed
    <M>&ZZ;_{(\pi)}</M> with cf. <Ref Attr="FactorizationIntoCSCRCT"
    <A>f</A> of &ZZ;.
  </Returns>
  <Description>
    The argument <A>p</A> or <A>pi</A> must be a prime or a set of primes,
    respectively. The argument <A>f</A> must be an           Label="">)
erof&bsp;Ap/>
    or whose modulus has only primeA>java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 68
    respectively.java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
<Example>
<![CDATA\cases}
  =([10,],3,12];  Collatzjava.lang.StringIndexOutOfBoundsException: Index 65 out of bounds for length 65
gap> Cycle(LocalizedRcwaMappingjava.lang.StringIndexOutOfBoundsException: Range [23, 21) out of bounds for length 72
[ 131  by <java.lang.StringIndexOutOfBoundsException: Range [72, 71) out of bounds for length 75
  419/13, 2462/13, 
  java.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 45
]
</The opera<>  java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 68
  </Description>
</ManSection>

<Index Key="View" Subkey="for</java.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10
<Index Key="Display" Subkey="for an rcwa mapping"><java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
< java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 64
<Index Key="String" Rcwacan be java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 69

<Alt Only="LaTeX">\noindent</<>/>  java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 74
Rcwa mappingsjava.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 72
written to a <C>String</C>. The output of the <C>View</C> method is kept
reasonably short. In most cases it does not describe an rcwa mapping
completely. In these cases the output is enclosed in brackets.
There arejava.lang.StringIndexOutOfBoundsException: Range [19, 17) out of bounds for length 62
<otationto influenceon
how certain rcwa is usually expensive -- run time and memory requirements normally grow
set to <C>true</C> or set to <C>false</C>.approximately exponentially with theexponent.Howjava.lang.StringIndexOutOfBoundsException: Range [61, 60) out of bounds for length 72
If the option <>CycleNotation</C>  ,itistriedto write
down an rcwa memory required for storing an rcwa mapping is proportional to its modulus.
residue class cycles, if this Whether  is java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 74
If the option <C>AsClassMapping</C> is set, <C>Display/C> shows
hichresidue  are mapped to  by affine  mappings,
and marks any loops.
The option <C>PrintNotation</C> influences java.lang.StringIndexOutOfBoundsException: Range [9, 46) out of bounds for length 9
&; java.lang.StringIndexOutOfBoundsException: Range [20, 19) out of bounds for length 74
abridge longer names like <C>ClassShift</C>, <C>ClassReflection</C>([2,0,][,1,],[1,3]);;   permutation
putof themethodsfor<>java.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 73
describes an rcwa mapping in full. java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 35
an rcwa mapping is &GAP; - java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 28
 ofthe of underlying ring so.<>

<Index Key="java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 18
  <C>LaTeXStringRcwaMappingrcwamapping ofZ modulus 768>
</java.lang.StringIndexOutOfBoundsException: Index 8 out of bounds for length 8

There is also an java.lang.StringIndexOutOfBoundsException: Index 21 out of bounds for length 10
as argument an rcwa mapping and returns a corresponding
&>
<n <A>java.lang.StringIndexOutOfBoundsException: Range [59, 58) out of bounds for length 69
and the argument C/
class reflectionsjava.lang.StringIndexOutOfBoundsException: Range [7, 6) out of bounds for length 54
(cf. <Ref<java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 8
          Label="for an rcwa java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 14
For  java.lang.StringIndexOutOfBoundsException: Range [18, 17) out of bounds for length 72
</> can java.lang.StringIndexOutOfBoundsException: Range [46, 45) out of bounds for length 68
value accordingly.

<Example>
<![CDATA[
gap> Print(LaTeXStringRcwaMapping(T));
n \ \mapsto \
\begin{cases}
  n/2      java.lang.StringIndexOutOfBoundsException: Range [6, 3) out of bounds for length 57
   [,1]);
\end{cases}
]]>
</>

<Index Key=LaTeXAndXDVI" for an rcwa mapping">
  <C>LaTeXAndXDVI</C>
</Index>

There isan  <C>LaTeXAndXDVI/C which  an mapping
in an <Package>xdvi</Package> window.
This works as The sameworks  partitions of the sourceintoa finitenumber java.lang.StringIndexOutOfBoundsException: Index 67 out of bounds for length 67
is inserted into a <
result is shown 23
Calling <C>Display</C> with option <A>xdvi
The operation <C>LaTeXAndXDVI</Cgap [0,][1,3][,]Rjava.lang.StringIndexOutOfBoundsException: Range [44, 42) out of bounds for length 46
and requires suitable installations of &LaTeX; and <Package>xdvi</Package>.

</Section>

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

<Section Label="sec:java.lang.StringIndexOutOfBoundsException: Index 24 out of bounds for length 21
<Subkey" setof  elements an  mapping">

</Index
<Key=Order"Subkey=of anrcwa ">C>Order</><>
<Index Key="       Subkey="of= residue class  java.lang.StringIndexOutOfBoundsException: Range [46, 45) out of bounds for length 63

Testing rcwa mappings for java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
coefficient lists, hence is cheap.
Rcwa can be,thus    methodfor C></.
Rcwa permutations canpreimage a  ofring of  of 
<manyclasses undermapping be computed by
to a >/C>.
powers of tame rcwa java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
is 5 16]
approximately   exponent. expensive
a couple of wild mappings is,\(6  26java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
memory gap> while LengthLengthM)< 5000do M :PreImage(M) lLength());od ;
[ 1, 1 2 2, 4 ,18, ,36,50,67 ,117 ,208,
<C>IsTame</C>. There is a method for <C>Order</C>, which can not only
compute a finite order, but which can also detect infinite order.

<Example>
<![CDATA[
gap> T := RcwaMappingExample>
gap> a := RcwaMapping([[2,0,3],[4,-1,3],[4,1,3]]);; # Collatz' permutation.
gap> List([-4..4],k->Modulus(a^k)java.lang.StringIndexOutOfBoundsException: Index 33 out of bounds for length 16
[ 256, 64, 16, 4, 1, 3, 9, 27, 81 ]
gap> IsTame(T) or IsTame"or permutation 
false
gap> IsTame(ClassShiftIndex>
true
gap> T^2*a*T*a^-3;       =of   >
<rcwa mapping of Z with modulus 768>
gap> (ClassShift(1,3)*java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 8
<rcwa permutation of Z with modulus 21>
]]>
</Example>

<Index Key="IsInjective" Subkey="or  >
  <C>IsInjective</C>
</Index>
<Index Key=IsSurjective"=foran rcwa mapping"
  <</
</supportof  java.lang.StringIndexOutOfBoundsException: Range [19, 18) out of bounds for length 59
java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 54
  <</C>
</Index>
<Index Key="<>
  <>Image</C>
java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 8

There are methods installed for <C>IsInjective</C>, <C>IsSurjective</C>,
<C>IsBijective</C> and <C>Image</C>.

<Example>
<![CDATA[
gap> [ =(,2;
[ false, true, true]
gap> Image(java.lang.StringIndexOutOfBoundsException: Range [0, 22) out of bounds for length 0
0(2)
]]>
</

<ndex Key="  "imagesunder>rcwa /Index>

Images,  ofunionsoffinitely
 java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 74
<C>&/Example
meworksof the source a of
residue java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 16

<Example
<!CDATA[
gap> 15^TIndex java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 60
23
gap> There are  <>Modulus</>a<>Mod</C> java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
2(3)
gap> List(o rcwa .of the is as 
[ 0(2), 1(4), 3(&< =s/. </
G  most 
</Example>

<Index Key="PreImageElm" Subkey="of a ring element under an rcwa mapping">
  <PreImageElm<C
</Index>
<Index Key="PreImagesElm" Subkey="java.lang.StringIndexOutOfBoundsException: Index 36 out of bounds for length 0
  <C>PreImagesElm</C>
</Index>
<Index Key="PreImage"
       ">
  <C>PreImage</C>
</Index>
<Index 
       Subkey="of a residue class union under an 
  <C>PreImage</C>
</Index>

For computing preimages of elements under rcwaSectionLabel=sec:">
there are methods for <C>PreImageElm</C>   Attributes and properties of residue-classmappings
The preimagejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
many residue classes under an rcwa 
<C>PreImage</C>.

<Example>
<![CDATA[
gap> PreImagesElm(T,8);
[ 5, 16 ]
gap> PreImage(T,ResidueClass(Integers,3,2));
Z \ 0(6) U 2(6)
gap> M := [1];; l := [1];;
  Length()  5000do M := PreImage(T,M); Add(l,Length(M)); od; l;
[ 1, 1, 2, 2java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
  277, 367, < "cwamapping" " > />
]
</java.lang.StringIndexOutOfBoundsException: Range [2, 1) out of bounds for length 14

<"=of an java.lang.StringIndexOutOfBoundsException: Range [40, 39) out of bounds for length 49
  <C>Support</C>
</Index>
<Index Key"ovedPoints=of  rcwamapping>
  <C>MovedPoints</IndexKey" java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 77
<>
<Index Key="RestrictedPerm"
       Subkey=f an    aajava.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 66
  <CRestrictedPerm<java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 23
</>
<Index Keyjava.lang.StringIndexOutOfBoundsException: Range [53, 52) out of bounds for length 59
       Subkey="of an rcwa mapping">
  <C>DensityOfSupport</C>
</Index>
<Index Key="DensityOfSetOfFixedPoints"
       Subkey="java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 8
  <  /Cjava.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 19
</Index>

There is a method for the operation <C>java.lang.StringIndexOutOfBoundsException: Index 42 out of bounds for length 8
support of an rcwa<C>
<C>MovedPoints</C>. The natural densityIndex="java.lang.StringIndexOutOfBoundsException: Range [38, 36) out of bounds for length 59
of &java.lang.StringIndexOutOfBoundsException: Range [0, 6) out of bounds for length 0
Likewise, the natural density 
of &ZZ; can be computed immediately from the coefficients of its affine partial mappings. This holds
<C>DensityOfSetOfFixedPoints</C>.
There is also a method for <C>RestrictedPerm</C>
for computing the example for the multiplier java.lang.StringIndexOutOfBoundsException: Range [54, 53) out of bounds for length 75
ofresidue  itfixes java.lang.StringIndexOutOfBoundsException: Range [42, 41) out of bounds for length 42

<Examplejava.lang.StringIndexOutOfBoundsException: Range [6, 5) out of bounds for length 64
<![CDATA[
 List(aa2,Support;
[ Z \ [ <>java.lang.StringIndexOutOfBoundsException: Range [15, 14) out of bounds for length 69
gap((,*java.lang.StringIndexOutOfBoundsException: Range [53, 51) out of bounds for length 57
>                   java.lang.StringIndexOutOfBoundsException: Range [34, 32) out of bounds for length 39
<ofZ with2java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
java.lang.StringIndexOutOfBoundsException: Range [65, 66) out of bounds for length 28
true
]]>
</divisornbsp1,java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 73

Rcwa mappings can be added and subtracted pointwise. mapping has the property <C>IsClassWiseTranslating</C>, an integral mapping
that the setIsBalanced.
<C+/  <C*<C <>

<java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
!CDATAjava.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
gap> b := ClassShiftjava.lang.StringIndexOutOfBoundsException: Range [4, 3) out of bounds for length 64
java.lang.StringIndexOutOfBoundsException: Range [46, 47) out of bounds for length 40
[ 2(4), [ -2, java.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 74
]]>
</Example>

< Key= java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 71
<ndex java.lang.StringIndexOutOfBoundsException: Range [11, 10) out of bounds for length 64
<Index Keyjava.lang.StringIndexOutOfBoundsException: Range [17, 16) out of bounds for length 33
  <C>Coefficients<cwa permutation of Z with modulus 5
</Index>
<Index Key="rcwa mapping" Subkeyjava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
< Key"rcwa group"Subkey=coercion"rcwa group</Index>

There are operations <C>Modulus</C> (abbreviated|(n+1/  in ()
<C>Coefficients</C> for retrieving the modulus and the coefficient list
 nn |> <(n1)5ifn (
in Ref"sec:".</

General documentation for most operations mentioned in this section can
be Multiplier()
than &ZZ;>u
available. <P/>

As in ,]
rise of RCWA<R_1M>)(<>/M>,
 nojava.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 72
rings/

</Section

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

<Section <Attr Name="java.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 45
<Heading>
  Attributesthe  CSource(A>f/><C  whose
<elementsthe mappingnbsp<></A>isjava.lang.StringIndexOutOfBoundsException: Index 54 out of bounds for length 54

<Index Key="java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 9
  class-wise translating
</Index>
<Index Key="integral" java.lang.StringIndexOutOfBoundsException: Range [4, 3) out of bounds for length 58
<Index Key= u: java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 68
<Index Key="sign-preserving" Subkey="definition">sign-preserving</Index>
<Index=" shift" Subkey=d" shift</ndex>

<Index Key="rcwa mapping" Subkey="prime set">rcwa mapping</Index>
<ndex"mapping Subkey=shift>mapping</
<Index Key="rcwa mapping" Subkey="class-wise translating">
  rcwa mapping
</Index>
<Index Key=           ClassTransposition3446)
<Index Key="rcwa mapping" Subkey="balanced">java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 43
<Index Key="rcwa mapping"
       Subkey="class-wise order-preserving">
  rcwa mapping
</Index>
<Index Key  </>

<Index Key="Multiplier" java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 12
<Index Key="Mult=" "  rcwa
<Index Key="java.lang.StringIndexOutOfBoundsException: Index 14 out of bounds for length 11
<Index Key="java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 64
<Index Key="PrimeSet" Subkey="of an rcwa mapping"><C>PrimeSet</C></Index>
<ng of Z">
  <C>MaximalShift/>
</Index>

<Index Key="IsClassWiseTranslating" Subkey="for an rcwa mapping">
  <C>IsClassWiseTranslating</C>
</Index>
<Index Key="IsIntegral"     of <A>f</A> to allC>Mod<></><>
  <C>IsIntegral</C>
</Index>
<Index Key="IsBalanced     java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 75
  <C>IsBalanced<<>(<><A>)<></><C>
</Index>
<Index Key="IsClassWiseOrderPreserving" Subkey="for an java.lang.StringIndexOutOfBoundsException: Range [0, 59) out of bounds for length 9
  <C>IsClassWiseOrderPreserving</C>
</Index>
<Index "java.lang.StringIndexOutOfBoundsException: Range [29, 28) out of bounds for length 59
  C>IsSignPreserving</C>
</Index>

A number of basic attributes and properties of an rcwa mapping are derived
immediatelyoefficients of affine java.lang.StringIndexOutOfBoundsException: Range [65, 64) out of bounds for length 76
for example<xample>
as attributes <C>java.lang.StringIndexOutOfBoundsException: Index 25 out of bounds for length 13
and <C><""java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 35
prime divisors of the product of its modulus and its multiplier.
 <C>PrimeSet/C.
The    Mpk|a_{r(}/ if <>k\geq 0<M>,andofthe
the <>(/M  thatM^kc_{(m}<M> M> <M>
In this context, <M>m</M> denotes the modulus of <A>f</A>, and
It is stored as an attribute nbsp<><A>asin
java.lang.StringIndexOutOfBoundsException: Range [51, 2) out of bounds for length 76
partial mappings are translations, itjava.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 15
divisor equals  [1,0,][1,];#java.lang.StringIndexOutOfBoundsException: Range [65, 64) out of bounds for length 65
and its divisor have the same prime divisors. A class-wise translating
mapping has ([305,[9,1,],[,,5[,,][945]);
has the property<>java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 74
<C>IsBalanced</C>.
An rcwa mapping of the ring of integers or of one of its java.lang.StringIndexOutOfBoundsException: Index 61 out of bounds for length 3
isManSection>
<M> "java.lang.StringIndexOutOfBoundsException: Range [40, 38) out of bounds for length 40
in /Inde
The corresponding property is <C>IsClassWiseOrderPreserving</C>.
An rcwa mapping of <Index>
it doesnot  nonnegative integers to negative integers or vice versa.
The corresponding property is <C>IsSignPreserving</C>. All elements of the
simple group CT(&ZZ;) generated by
sign-preserving.

<>
<![store the union of the residue classes (mod <C>Mod(<A>f</A>)</C>) on
gap>u = RcwaMapping([30,][,,][,-,][,2,5,[,5]]);
gap> IsBijective(u);; thereof is class-wise order-preserving, class-wise constant or class-wise

Rcwa permutation of Z java.lang.StringIndexOutOfBoundsException: Index 26 out of bounds for length 9

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

 Multiplieru)
9
gap> Divisor
java.lang.StringIndexOutOfBoundsException: Index 28 out of bounds for length 1

[ 3, 5 ]
java.lang.StringIndexOutOfBoundsException: Range [37, 3) out of bounds for length 36
false
java.lang.StringIndexOutOfBoundsException: Range [51, 3) out of bounds for length 59
true
]]>
</Example>

Therea of java.lang.StringIndexOutOfBoundsException: Range [30, 29) out of bounds for length 70
affine java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11

<ManSection/java.lang.StringIndexOutOfBoundsException: Index 12 out of bounds for length 12
  me=java.lang.StringIndexOutOfBoundsException: Range [45, 44) out of bounds for length 45
        Arg="f" Label="for an rcwa mapping"/>
  <Returns>
    the coarsest partition of <C>Source(<A>f</A>)</C> on whosemappings.
    elementsP>
  </Returns>
  <>
<Example>
<!java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
gap>java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 53
java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 18
gap> LargestSourcesOfAffineMappings(java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 22
[
gap> u := RcwaMappingAlt>
gap> List( [ u, u^-1 ], LargestSourcesOfAffineMappings )      img src "det.png" width  "177" height  "58"
[ (5) ()25),3(),45 ,[0(3) 1(),() () () java.lang.StringIndexOutOfBoundsException: Index 70 out of bounds for length 70
gap> kappa := ClassTransposition    <center]]><Alt
>           * java.lang.StringIndexOutOfBoundsException: Range [26, 23) out of bounds for length 31
<rcwa permutation                -----------
gap> LargestSourcesOfAffineMappings(kappa);
[ 2 m  Z/                
]]>
</Example>
  </Description>
</ManSection>

<ManSection>
  <Attr Name="java.lang.StringIndexOutOfBoundsException: Index 23 out of bounds for length 9
        Arg=
  Returns>
    a list of the sets of fixed points    Determinant(ClassTransposition(4512)(,7^100)   
    the rcwa java.lang.StringIndexOutOfBoundsException: Index 19 out of bounds for length 3
  </Returns>
  <Description>
    The returned list <>
    of <A>f</A> to all residue classes modulo <C>Mod(<A>f</A>)</C>.
    A list entry can either be an empty set, the source of&
    ora setof  1.The java.lang.StringIndexOutOfBoundsException: Range [49, 48) out of bounds for length 75
    <Des>
    <AllResiduesSource(Af/>,<A>m/A></>.
<java.lang.StringIndexOutOfBoundsException: Range [9, 8) out of bounds for length 9
<![CDATA[
gap> FixedPointsOfAffinePartialMappings(ClassShift(0,2));
[ [  ], Rationals ]
gap> List([1..3],k->java.lang.StringIndexOutOfBoundsException: Index 29 out of bounds for length 22
[ [ [ 0 ], [ -1 ] ], [ [ 0 ], [ 1 ], [ 2 ], [ -1 ] ], 
   [0 , [- ,[25, 5 ,  4 , 5    ,  1 ] java.lang.StringIndexOutOfBoundsException: Index 73 out of bounds for length 73
]]
</Example>
  </Description>
</ManSection>

<ManSection>
  <Oper Name""=f  kjava.lang.StringIndexOutOfBoundsException: Index 35 out of bounds for length 35
        "for  , anexponent/>
  <Returns>
    the union ofthe residue classes <Mrm)</M> suchthat
    <M>p^k||a_{r(m)}    <center>>/Alt
    classes <M>r(m)</M> such that <M>p^k||c_{r(m)}</M> if <M                                    -----
    In this context, <M>m</M> denotes the modulus of <A>                      )+>      ----
    <M>a_{r(m)}</M> and/          m
    of <A>f</A> as introduced in
    Section <Ref Label="a_rm lt 0
  </Returns>
  <Description>
<Example>
<!CDATA
gap> T :The java.lang.StringIndexOutOfBoundsException: Range [21, 20) out of bounds for length 67
gap> [ Multpk(T,2,-1), Multpk(T,3,1) ];
[ Integers, 1(2) ]
gap  := RcwaMapping([,,5][1][-,5],[9-,,945]);
gap> [ Multpk(u,3,0)/java.lang.StringIndexOutOfBoundsException: Range [16, 15) out of bounds for length 16
[ [  ], 0java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
]]>
</Example>
  </Description>
</ManSection>

<Key"java.lang.StringIndexOutOfBoundsException: Range [40, 38) out of bounds for length 40
  <C>ClassWiseOrderPreservingOn</C>
</Index>
<Index Key="ClassWiseConstantOn">

</java.lang.StringIndexOutOfBoundsException: Range [8, 7) out of bounds for length 8
<Index Key="java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 0
  ClassWiseOrderReversingOn/C>
</Index>

There are attributesa listof  permutations<M>a</M>,M>b<M and<>c/>
<java.lang.StringIndexOutOfBoundsException: Range [12, 11) out of bounds for length 74
storesetwise,<><M>is java.lang.StringIndexOutOfBoundsException: Range [37, 33) out of bounds for length 69
which an rcwa mapping <A>f</A> java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 12
thereof is -wise -preserving -wise  or class-
order-reversing, respectively.

<java.lang.StringIndexOutOfBoundsException: Index 9 out of bounds for length 9
<![CDATA[
gap> List([java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 9
>          ClassReflection(2gap>: (,41,6)*25*ClassReflection(3)java.lang.StringIndexOutOfBoundsException: Index 75 out of bounds for length 75
[ Integers, Integers, Z \ 2(5) ]
]]>
</

<Index Key="ShiftsUpOn"><C>ShiftsUpOn   ;
<Key=>C</>/>

Also there are attributes <C>ShiftsUpOn</C> and <C>ShiftsDownOn<C>java.lang.StringIndexOutOfBoundsException: Range [41, 39) out of bounds for length 67
which  List(facts,sClassWiseOrderPreserving;
(mod <C>Mod(<A>f</A>)</C>) on which an rcwa mapping <A>f</A>
of &ZZ; induces affine mappings <M>n \java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 3
<M>c > 0</M>, respectively, <ManSection

Finally, there are epimorphisms from the subgroup of RCWA(&ZZ;)
formed by all class-wise order  < java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 75
and from RCWA(&ZZ;    a  of rcwa  <><A> of &ZZ
respectively:

<ManSection>
  <Meth Name="Determinant" Arg="f" Label="    such factorization exists  the  
  <Returns>
    the  thercwa nbsp;><A> ofnbsp;ZZ.
  </Returns>
  <Description>
    The E>determinant</ affine mapping Mn\apsto(n+/<M>
    whose. </>
    This definition is extended additively to determinants    The problem of obtaining factorizationas describedis algorithmically
    P/>

    Let <M>f</> anrcwa mapping theintegers let
    <M>m</java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 72
    <M>f|_{r(m)}: n \mapsto (a_{r(m)} \java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 0
    thejava.lang.StringIndexOutOfBoundsException: Range [27, 26) out of bounds for length 73
   </>is given
     "
      
        sum_{()i \Z/m\Z} r()/(|a_{r(} cdotm.
      </Display>
    </Alt>
"<[CDATA[<>
      <  =detpng  ="177 height  "58"
           alt = "sum_{r(m) in Z/mZ}
                  b_{r(m)}/(|a_ By,a  java.lang.StringIndexOutOfBoundsException: Range [36, 35) out of bounds for length 71
    </center>]]></Alt>
    <Alt Only="Text"><This can be suppressed setting  option <A>ShortenPartition/>
                          --
                           \           b_r(m)
                            >     --------------
                           /       |a_{r(m)}| * m
                          ---
                      r(m) in Z    suppressed bysetting java.lang.StringIndexOutOfBoundsException: Range [38, 36) out of bounds for length 47
    </Verb></Alt> 
    The determinant mapping is an epimorphism
    lasswise permutationsofjava.lang.StringIndexOutOfBoundsException: Range [58, 57) out of bounds for length 62
    to (,() java.lang.StringIndexOutOfBoundsException: Index 18 out of bounds for length 18
<Example>
<![CDATA[
gap> /java.lang.StringIndexOutOfBoundsException: Range [13, 12) out of bounds for length 13
[ 0, 1 ]
gap> Determinant(ClassTransposition(0,4,5,12)*ClassShift(3,7)^100);   
100
]]>
</Example>
  </Description>
</ManSection>

<
  <
  <>
    java.lang.StringIndexOutOfBoundsException: Range [24, 7) out of bounds for length 64
  </Returns>
  <Description>
    Let <M>\sigma</M>  < Name" p"=p/
    <M>m</M> denote its modulus. = java.lang.StringIndexOutOfBoundsException: Range [31, 30) out of bounds for length 52
    <M>\sigma|_{r(m)}: n \mapsto (a_{r(m)} \Name =,java.lang.StringIndexOutOfBoundsException: Range [39, 37) out of bounds for length 54
    for the affine partial mappings, the <E>sign</E> of <M>\sigma</M>
    is defined by
    <Alt Only="LaTeX">
      <Display>
        (-1)^{\displaystyle{{\rm det}(\sigma)
            + \sum_{r(m): \ a_{r(m)} < 0} \frac{m - 2r}{m}}}.
      </Display>
    </Alt>
    <Alt Only="HTML"><![CDATA[<center>
      <img src = "sgn.png" width = "284" height = "63"
           alt = "(-1)^(det(sigma)
                      + sum_{r(m): \ a_{r(m)} < 0} (m - 2r)/m)."/>
    </center>]]></Alt>
    <Alt Only="Text"><Verb>
                                    -----
                                     \       m - 2r
                      det(sigma) +    >      -------
                                     /          m
                                    -----
                                 a_r(m) < 0
              (-1)                                   .
    </Verb></Alt> 
    The sign mapping is an epimorphism from RCWA(&ZZ;) to the group
    <M>&ZZ;^\times</M> of units of &ZZ;, see <Cite Key="Kohl05"/>,
    Theorem 2.12.8. Therefore the kernel of the sign mapping is a normal
    subgroup of RCWA(&ZZ;) of index 2. The simple group CT(&ZZ;) is
    a subgroup of this kernel.
<Example>
<![CDATA< <Returns>
gap> List([ClassTransposition(3,4,2,6),
>          ClassShift(0,3),ClassReflection(2,5)],Sign);
[ 1, -1, -1 ]
]]>
</Example
  </Description>
</ManSection>

</ection

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

<Section Label="sec:FactoringRcwaMappings">
<ne permutations</Heading

     in  third and fourth form the <>prime switch/E>
generators is oftengenerators is often helpful. In r_1/2)r_2()}\cdot
attempts to solve this problem for the group RCWA(&ZZ;).
Elements of finitely generated  In the  case, <>l<>
<Q>as usual</Q>, see    Mr(<M>,the  <M></>is <>-r\od2<M,and
Label="    <M>r_2M>is defined    <M>()\up r_2(m) = r(m/2)</M>.

<ManSection>
  <Oper Name="CTCSCRSplit" Arg="g" Label="For an odd prime <M>p</M>, the prime switch\</>is
  <>
    a list of 3 rcwa permutations <M    &bsp;>/>anddivisornbsp;.
     <Ag/> <><M> the nonnegative integers
    setwise, <M>b</M>multiplier <Mp/M>and divisorn;,the  where
    <M>c</M> is by <>p/M>occurs is  <>(m<M.
  </Returns>
  <Description>
 hypothesis  CT(ZZ;is the group of all 
    permutations of  whosemultiplierand divisor
    <a<>isalwaysan element ofCT(ZZ;.
<Example>
<![CDATA[
>g =ClassTransposition,,,)ClassShift(2,)*ClassReflection(2,3);
<rcwa permutation of Z with modulus 180>
gap> facts := CTCSCRSplit(g);
[ <rcwa permutation of Z with modulus 60>, ClassShift( 2(30) ) <ndex =IsPrimeSwitch" Subkey" rcwa mapping"
  ClassReflection( 2(3) ) ]
gap> Product(facts) = g<xample>
true
gap> List(facts,IsSignPreserving);
[ ]
gap> List(facts,IsIntegral);
[ false, true, true ]
gap>List(acts,sClassWiseOrderPreserving)java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
[
]]>
</Example>
  </Description>
</ManSection>

<ManSection>
  <Attr Name="FactorizationIntoCSCRCT"
        Arg="g| n        if   36java.lang.StringIndexOutOfBoundsException: Index 31 out of bounds for length 31
  <Meth Name="Factorization" Arg="g" Label="for an java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 9
  <Returns>
    a  <A><A>of&bsp&;
    into class shifts, class reflections and class transpositions, provided
    that such a factorization exists and the method finds it.
  </Returns>
  <java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 0
    The method may return <C>fail</C>, stop with an error message or run
    into an infinite loop. If it returns a result, this result24 -5()
    correct.</

    The problem of obtaining     12 >1(12)
    difficult, and this factorization routine is currently perhaps the most
    sophisticated part of the &RCWA; package. Information about the
    progress of the factorization process   obtained by setting the
    info level of the [ ( 1(6), 0(8) ), ( 5(6))) ( () 16)) (24,5()) 

     ,primeswitches (<>\ightarrow/>
    <Ref Func="PrimeSwitch" Label="p"/>) are taken as one factor. 
    If the option <A>ExpandPrimeSwitches</A> is set, they are each
       into the 6 classtranspositionsin .</

    By default, the factoring process begins with splitting/
    fromthe .Thiscan   by  the option
    <A>Direction</A  in34java.lang.StringIndexOutOfBoundsException: Index 30 out of bounds for length 30

    By default, a reasonably coarse respected partition of the integral
    mapping occurring in the final stage of the algorithm is computed.
    This can         \
    equal to <C>false</C>. <P/>

    By default, atgap>Multpk(rimeSwitch534,,)
    determined4java.lang.StringIndexOutOfBoundsException: Index 4 out of bounds for length 4
     bysettingthe option <>NC<A>
<Example>
<![CDATA[
)ClassReflection12,
>                       ClassShift(0,2)));
[ClassReflection ()) ClassShift( 2() )^1  (()) 
  ( 0(6), 5(6) ) ]
]]>
</Example>
  </Description>
</ManSection>Examplejava.lang.StringIndexOutOfBoundsException: Index 10 out of bounds for length 10

For purposes of demonstrating the capabilities of thejava.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
 Section Ref Label=sec:"/>
Collatz' permutation is factored. Lothar Collatz has investigated this
permutation in 1932. Its cycle structure is unknown so far. <P/>

The permutations of the following kind play an java.lang.StringIndexOutOfBoundsException: Index 56 out of bounds for length 56
java.lang.StringIndexOutOfBoundsException: Range [13, 9) out of bounds for length 59
class reflections and class transpositions:

<ManSection>
  <eth Name=""Arg=""Label=p/
  <Meth Name="PrimeSwitch" Arg="p, k" Label="  Returns>
   Arg="p r,m"Label=p,r ">
  <Meth Name="PrimeSwitch" Arg  /Returns>
  <>
    in the first formThe argument A</>mustbe an  integergreater than&;.
    <M>\sigma_p := \tau_{0(8),1(2p)} \cdot \tau_{4(8),-1(2p)} \cdot
    \tau_{0(4),1        |6n5        ()
    \cdot \tau_{4(2p),2p+1(4p)}</M>, in the second form
    the restriction of <M>\sigma_p</M> by <M>n \mapsto kn</M>,
    and in the third and fourth form the <E>prime switch</E>
    <M>\sigma_{p,r(m)} := \tau_{r_1(m/2),r_2(m)} \cdot
    \tau_{r_2(m),r_1(pm/2)} \cdot \tau_{r(m/2),r_1(pm\
    In the latter case, <A>cl<//xample
    <M>r(m)</M>, the residue <M>r_1</M> is <M
    <M>r_2</M> is defined by the equality    
  </eturns>
  <Description>
    For an odd prime <M>p</M>, the prime switch <M>\sigma_p</M> is
    an rcwa permutation of &ZZ; with modulus <M>4p</M>,
    multiplier <M>p</M> and divisor 2.
    The prime switch <M>\sigma_{p,r(m)}</M> has
    multiplier <M>p</M> and divisor 2, and the class where
    the multiplication by <M>p</M> occurs is just <M>r(m)</M>.
    The key mathematical property of a prime switch is that it is
    a product of class transpositions whose multiplier and divisor
    are coprime. <P/>

    Prime switches can be distinguished from other
    rcwa mappings by their &GAP; property <C>IsPrimeSwitch</C>.
    <Index Key="IsPrimeSwitch" Subkey="for an rcwa mapping">
       <C>IsPrimeSwitch</C>
    </Index>
<Example>
<![CDATA[
gap> Display(PrimeSwitch(3));

Wild rcwa permutation of Z with modulus 12

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

gap> Display(PrimeSwitch(3):AsClassMapping);

Wild rcwa permutation of Z with modulus 12

  0(12) -> 0(6)  loop
   1(6) -> 2(6)
   2(4) -> 5(6)
   3(6) -> 3(6)  id
  4(12) -> 1(12)
   5(6) -> 4(6)
  8(12) -> 7(12)

gap> Factorization(PrimeSwitch(3));
[ ( 1(6), 0(8) ), ( 5(6), 4(8) ), ( 0(4), 1(6) ), ( 2(4), 5(6) ), 
  ( 2(6), 1(12) ), ( 4(6), 7(12) ) ]
gap> Display(PrimeSwitch(5,3,4));

Wild rcwa permutation of Z with modulus 20

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

gap> java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
3(4)
gap>(5,,3,)= 534);
true
gap>Factorization(rimeSwitch,,4);
[ ( 0(2), 1(4) ), ( 1(4), 0(10) ), ( 1(2), 0(10) ) ]
]]>
</Example>
  </Description>
</ManSection>

Obtaining a factorization
class reflections and class
multiplier and divisor are prototype  java.lang.StringIndexOutOfBoundsException: Range [64, 63) out of bounds for length 74
this property has been java.lang.StringIndexOutOfBoundsException: Range [34, 33) out of bounds for length 56
inn;<"java.lang.StringIndexOutOfBoundsException: Range [28, 27) out of bounds for length 32

<Currentl  java.lang.StringIndexOutOfBoundsException: Range [32, 31) out of bounds for length 68
  <Func
  <Returns>
    the permutation <M>g_m</M> as defined in <Cite Key="(, ()(, () () () 8, ()java.lang.StringIndexOutOfBoundsException: Index 50 out of bounds for length 50
  </Returns>
  <Tame rcwa permu   withmodulus8
    The argument <A>m</A> must be an odd integer greater than  n+2ifn inZ 6()U78)
<Example>
<![CDATA[
gap> Display(mKnot(5));

Wild rcwa permutation of Z with modulus 5

        /
        | 6n/5     if java.lang.StringIndexOutOfBoundsException: Index 3 out of bounds for length 3
        | (4n+1)/5 if n in 1(5)

        | (4n+3)/5 if n in 3(5)
        |(n4/5   45)
        \
]]>
</Example>
  </Description>
</ManSection>

<Alt Only="LaTeX">\noindent</Alt>
In his article, Timothy P. Keller shows that a permutation of this/java.lang.StringIndexOutOfBoundsException: Range [10, 9) out of bounds for length 10
cannot Name=" "f" Label="of an injectivercwamapping/

</Section>

<!-- #################################################################### -->g<> <><>M>g</>=.

<Section Label="sec:ExtractingRoots">
<Heading>
  Extracting roots of java.lang.StringIndexOutOfBoundsException: Index 27 out of bounds for length 15
</Heading>

<ManSection>
  <Meth Name="Root"
        Arg="f, k" Label="k-th root of an rcwa mapping"/>
  <Returns>
    an rcwa mapping <C>g</C> such that <C>g&circum;<A>k</A>=<A>f</A></C>,
    provided that such a mapping exists and that there is a method available
    which can determine it.
  </Returns>
  <Description>
    Currently, extracting roots is implemented for rcwa permutations
    of finite order.
<Example>
<![CDATA[
gap> Root(ClassTransposition(0,2,1,2),100);
( 0(8), 2(8), 4(8), 6(8), 1(8), 3(8), 5(8), 7(8) )
gap> Display(last:CycleNotation:=false);

Tame rcwa permutation of Z with modulus 8

        /
        | n+2 if n in Z \ 6(8) U 7(8)
 n |-> <  n-5 if n in 6(8)
        | n-7 if n in 7(8)
        \

gap> last^100 = ClassTransposition(0,2,1,2);
true
]]>
</Example>
  </Description>
</ManSection>

</Section>

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

<Section Label="sec:NonBijectiveMappings">
<Heading>
  Special functions for non-bijective mappings
</Heading>

<ManSection>
  <Attr Name="RightInverse" Arg="f" Label="of an injective rcwa mapping"/>
  <Returns>
    a right inverse of the injective rcwa mapping <A>f</A>,
    i.e. a mapping <M>g</M> such that <A>f</A><M>g</M> = 1.
  </Returns>
  <Description>
<Example>
<![CDATA[
gap> twice := 2*IdentityRcwaMappingOfZ;
Rcwa mapping of Z: n -> 2n
gap> twice * RightInverse(twice);
IdentityMapping( Integers )
]]>
</Example>
  </Description>
</ManSection>

<ManSection>
  <Oper Name="CommonRightInverse" Arg="l, r"
        Label="of two injective rcwa mappings"/>
  <Returns>
    a mapping <M>d</M> such that <A>l</A><M>d</M> = <A>r</A><M>d</M> = 1.
  </Returns>
  <Description>
    The mappings <A>l</A> and <A>r</A> must be injective, and their images
    must form a partition of their source.
<Example>
<![CDATA[
gap> twice := 2*IdentityRcwaMappingOfZ; twiceplus1 := twice+1;
Rcwa mapping of Z: n -> 2n
Rcwa mapping of Z: n -> 2n + 1
gap> Display(CommonRightInverse(twice,twiceplus1));

Rcwa mapping of Z with modulus 2

        /
        | n/2     if n in 0(2)
 n |-> <  (n-1)/2 if n in 1(2)
        |
        \
]]>
</Example>
  </Description>
</ManSection>

<ManSection>
  <Attr Name="ImageDensity" Arg="f" Label="of an rcwa mapping"/>
  <Returns>
    the <E>image density</E> of the rcwa mapping <A>f</A>.
  </Returns>
  <Description>
    In the notation introduced in the definition of an rcwa mapping,
    the <E>image density</E> of an rcwa mapping <M>f</M> is defined by
    <Alt Not="LaTeX">1/m</Alt><Alt Only="LaTeX"><M>\frac{1}{m}</M></Alt>
    <M>\sum_{r(m) \in R/mR} |R/c_{r(m)}R|/|R/a_{r(m)}R|</M>.
    The image density of an injective rcwa mapping is <M>\leq 1</M>, and
    the image density of a surjective rcwa mapping is <M>\geq 1</M>
    (this can be seen easily). Thus in particular the image density of
    a bijective rcwa mapping is 1.
<Example>
<![CDATA[
gap> T := RcwaMapping([[1,0,2],[3,1,2]]);; # The Collatz mapping.
gap> List( [ T, ClassShift(0,1), RcwaMapping([[2,0,1]]) ], ImageDensity );
[ 4/3, 1, 1/2 ]
]]>
</Example>
  </Description>
</ManSection>

<Index Key="InjectiveAsMappingFrom" Subkey="for an rcwa mapping">
  <C>InjectiveAsMappingFrom</C>
</Index>

Given an rcwa mapping <C>f</C>, the function <C>InjectiveAsMappingFrom</C>
returns a set <C>S</C> such that the restriction of <C>f</C> to <C>S</C>
is injective, and such that the image of <C>S</C> under <C>f</C> is the
entire image of <C>f</C>.

<Example>
<![CDATA[
gap> InjectiveAsMappingFrom(T);
0(2)
]]>
</Example>

</Section>

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

<Section Label="sec:Trajectories">
<Heading>
  On trajectories and cycles of residue-class-wise affine mappings
</Heading>

&RCWA; provides various methods to compute trajectories of rcwa mappings:

<ManSection>
  <Heading> Trajectory (methods for rcwa mappings) </Heading>
  <Meth Name="Trajectory" Arg="f, n, length"
        Label="for rcwa mapping, starting point, length"/>
  <Meth Name="Trajectory" Arg="f, n, length, m"
        Label="for rcwa mapping, starting point, length, modulus"/>
  <Meth Name="Trajectory" Arg="f, n, terminal"
        Label="for rcwa mapping, starting point, set of end points"/>
  <Meth Name="Trajectory" Arg="f, n, terminal, m"
        Label="for rcwa mapping, starting point, set of end points, modulus"/>
  <Returns>
    the first <A>length</A> iterates in the trajectory of the
    rcwa mapping <A>f</A> starting at <A>n</A>, respectively the
    initial part of the trajectory of the rcwa mapping <A>f</A>
    starting at <A>n</A> which ends at the first occurrence of an
    iterate in the set <A>terminal</A>. If the argument <A>m</A> is given,
    the iterates are reduced (mod <A>m</A>).
  </Returns>
  <Description>
    To save memory when computing long trajectories containing huge
    iterates, the reduction (mod <A>m</A>) is done each time before
    storing an iterate.
    In place of the ring element <A>n</A>, the methods also accept
    a finite set of ring elements or a union of residue classes.
<Example>
<![CDATA[
gap> T := RcwaMapping([[1,0,2],[3,1,2]]);; # The Collatz mapping.
gap> Trajectory(T,27,15); Trajectory(T,27,20,5);
[ 27, 41, 62, 31, 47, 71, 107, 161, 242, 121, 182, 91, 137, 206, 103 ]
[ 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 0, 3, 0, 0, 3 ]
gap> Trajectory(T,15,[1]); Trajectory(T,15,[1],2);
[ 15, 23, 35, 53, 80, 40, 20, 10, 5, 8, 4, 2, 1 ]
[ 1, 1, 1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 1 ]
gap> Trajectory(T,ResidueClass(Integers,3,0),Integers);
[ 0(3), 0(3) U 5(9), 0(3) U 5(9) U 7(9) U 8(27), 
  <union of 20 residue classes (mod 27) (6 classes)>, 
  <union of 73 residue classes (mod 81)>, Z \ 10(81) U 37(81), Integers ]
]]>
</Example>
  </Description>
</ManSection>

<ManSection>
  <Heading>
    Trajectory (methods for rcwa mappings -- <Q>accumulated coefficients</Q>)
  </Heading>
  <Meth Name="Trajectory" Arg="f, n, length, whichcoeffs"
        Label="for rcwa mapping, starting point, length, coeff.-spec."/>
  <Meth Name="Trajectory" Arg="f, n, terminal, whichcoeffs"
        Label="for rcwa mapping, starting point, set of end points, coeff.-spec."/>
  <Returns>
    either the list <C>c</C> of triples of coprime coefficients such that
    for any <C>k</C> it holds that
    <C><A>n</A>&circum;(<A>f</A>&circum;(k-1)) =
    (c[k][1]*<A>n</A> + c[k][2])/c[k][3]</C> or the last entry of that list,
    depending on whether <A>whichcoeffs</A> is <C>"AllCoeffs"</C> or
    <C>"LastCoeffs"</C>.
  </Returns>
  <Description>
    The meanings of the arguments <A>length</A> and <A>terminal</A> are
    the same as in the methods for the operation <C>Trajectory</C>
    described above. In general, computing only the last coefficient triple
    (<A>whichcoeffs</A> = <C>"LastCoeffs"</C>) needs considerably less
    memory than computing the entire list.
<Example>
<![CDATA[
gap> Trajectory(T,27,[1],"LastCoeffs");
[ 36472996377170786403, 195820718533800070543, 1180591620717411303424 ]
gap> (last[1]*27+last[2])/last[3];
1
]]>
</Example>
  </Description>
</ManSection>

When dealing with problems like the <M>3n+1</M>-Conjecture or when
determining the degree of transitivity of the natural action of an rcwa group
on its underlying ring, an important task is to determine the residue classes
whose elements get larger or smaller when applying a given rcwa mapping:

<ManSection>
  <Heading> IncreasingOn & DecreasingOn (for an rcwa mapping) </Heading>
  <Attr Name="IncreasingOn" Arg="f" Label="for an rcwa mapping"/>
  <Attr Name="DecreasingOn" Arg="f" Label="for an rcwa mapping"/>
  <Returns>
    the union of all residue classes <M>r(m)</M> such that
    <M>|R/a_{r(m)}R| > |R/c_{r(m)}R|</M> or
    <M>|R/a_{r(m)}R| < |R/c_{r(m)}R|</M>, respectively, where <M>R</M>
    denotes the source, <M>m</M> denotes the modulus and <M>a_{r(m)}</M>,
    <M>b_{r(m)}</M> and <M>c_{r(m)}</M> denote the coefficients
    of <A>f</A> as introduced in
    Section <Ref Label="sec:basicdefinitions"/>.
  </Returns>
  <Description>
    If the argument is an rcwa mapping of &ZZ; in sparse representation,
    an option <C>classes</C> is interpreted; if set, the step of forming
    the union of the residue classes in question is omitted, and the
    list of residue classes is returned instead of their union.
    This may save time and memory if the modulus is large.
<Example>
<![CDATA[
gap> List([1..3],k->IncreasingOn(T^k));
[ 1(2), 3(4), 3(4) U 1(8) U 6(8) ]
gap> List([1..3],k->DecreasingOn(T^k));
[ 0(2), Z \ 3(4), 0(4) U 2(8) U 5(8) ]
gap> a := RcwaMapping([[2,0,3],[4,-1,3],[4,1,3]]);; # Collatz' permutation
gap> List([-2..2],k->IncreasingOn(a^k));
[ Z \ 1(8) U 7(8), 0(2), [  ], Z \ 0(3), 1(9) U 4(9) U 5(9) U 8(9) ]
]]>
</Example>
  </Description>
</ManSection>

We assign certain directed graphs to rcwa mappings, which encode the order
in which trajectories may traverse the residue classes modulo some modulus:

<ManSection>
  <Oper Name="TransitionGraph"
        Arg="f, m" Label="for an rcwa mapping and a modulus"/>
  <Returns>
    the transition graph of the rcwa mapping <A>f</A>
    for modulus <A>m</A>.
  </Returns>
  <Description>
    <Index Key="rcwa mapping" Subkey="transition graph">rcwa mapping</Index>
    <Alt Only="LaTeX">\noindent</Alt>
    The <E>transition graph</E> <M>\Gamma_{f,m}</M> of <M>f</M> for
    modulus <M>m</M> is defined as follows:
    <Enum>
      <Item>
        The vertices are the residue classes (mod <M>m</M>).
      </Item>
      <Item>
        There is an edge from <M>r_1(m)</M> to <M>r_2(m)</M> if and only if
        there is some <M>n \in r_1(m)</M> such that
        <M>n^f \in r_2(m)</M>.
      </Item>
    </Enum>
    The assignment of the residue classes (mod <M>m</M>) to the
    vertices of the graph corresponds to the ordering of the residues in
    <C>AllResidues(Source(<A>f</A>),<A>m</A>)</C>.
    The result is returned in the format used by the package
    <Package>GRAPE</Package> <Cite Key="GRAPE"/>.
  </Description>
</ManSection>

There are a couple of operations and attributes which are based
on these graphs:

<ManSection>
  <Oper Name="OrbitsModulo"
        Arg="f, m" Label="for an rcwa mapping and a modulus"/>
  <Returns>
    the partition of <C>AllResidues(Source(<A>f</A>),<A>m</A>)</C>
    corresponding to the weakly connected components of the transition
    graph of the rcwa mapping <A>f</A> for modulus <A>m</A>.
  </Returns>
  <Description>
<Example>
<![CDATA[
gap> OrbitsModulo(ClassTransposition(0,2,1,4),8);
[ [ 0, 1, 4 ], [ 2, 5, 6 ], [ 3 ], [ 7 ] ]
]]>
</Example>
  </Description>
</ManSection>

<ManSection>
  <Oper Name ="FactorizationOnConnectedComponents"
        Arg = "f, m" Label="for an rcwa mapping and a modulus"/>
  <Returns>
    the set of restrictions of the rcwa mapping <A>f</A> to the
    weakly connected components of its transition graph <M>\Gamma_{f,m}</M>.
  </Returns>
  <Description>
    The product of the returned mappings is <A>f</A>.
    They have pairwise disjoint supports, hence any two of them commute.
<Example>
<![CDATA[
gap> sigma := ClassTransposition(1,4,2,4)  * ClassTransposition(1,4,3,4)
>           * ClassTransposition(3,9,6,18) * ClassTransposition(1,6,3,9);;
gap> List(FactorizationOnConnectedComponents(sigma,36),Support);
[ 33(36) U 34(36) U 35(36), 9(36) U 10(36) U 11(36), 
  <union of 23 residue classes (mod 36)> \ [ -6, 3 ] ]
]]>
</Example>
  </Description>
</ManSection>

<ManSection>
  <Oper Name="TransitionMatrix"
        Arg="f, m" Label="for an rcwa mapping and a modulus"/>
  <Returns>
    the transition matrix of the rcwa mapping <A>f</A> for
    modulus <A>m</A>.
  </Returns>
  <Description>
    Let <M>M</M> be this matrix. Then for any two residue classes <M>r_1(m),
    r_2(m) \in R/mR</M>, the entry <M>M_{r_1(m),r_2(m)}</M> is defined by
    <Alt Only="LaTeX">
      <Display>
        <![CDATA[M_{r_1(m),r_2(m)} \ := \
                 \displaystyle{\frac{|R/mR|}{|R/\hat{m}R|}} \cdot
                 \left|\left\{r(\hat{m}) \in R/\hat{m}R | \ r \in r_1(m)
                 \wedge r^f \in r_2(m)\right\}\right|,]]>
      </Display>
    </Alt>
    <Alt Only="HTML"><![CDATA[<center>
      <img src = "transmat.png" width = "599" height = "47"
           alt = "(see the PDF version of the manual),"/>
    </center>]]></Alt>
    <Alt Only="Text">
      (see the PDF- or HTML version of the manual),
    </Alt>
    where <M>\hat{m}</M> is the product of <A>m</A> and the square of the
    modulus of <A>f</A>.
    The assignment of the residue classes (mod <A>m</A>) to the rows and
    columns of the matrix corresponds to the ordering of the residues in
    <C>AllResidues(Source(<A>f</A>),<A>m</A>)</C>. <P/>

    The transition matrix is a weighted adjacency matrix of the corresponding
    transition graph <C>TransitionGraph(<A>f</A>,<A>m</A>)</C>.
    The sums of the rows of a transition matrix are always equal to 1.
<Example>
<![CDATA[
gap> T := RcwaMapping([[1,0,2],[3,1,2]]);; # The Collatz mapping.
gap> Display(TransitionMatrix(T^3,3));
[ [  1/8,  1/4,  5/8 ],
  [    0,  1/4,  3/4 ],
  [    0,  3/8,  5/8 ] ]
]]>
</Example>
  </Description>
</ManSection>

<ManSection>
  <Heading> Sources & Sinks (of an rcwa mapping) </Heading>
  <Attr Name="Sources" Arg="f" Label="of an rcwa mapping"/>
  <Attr Name="Sinks" Arg="f" Label="of an rcwa mapping"/>
  <Returns>
    a list of unions of residue classes modulo the modulus <M>m</M>
    of the rcwa mapping <A>f</A>, as described below.
  </Returns>
  <Description>
    The returned list contains an entry for any strongly
    connected component of the transition graph of <A>f</A> for
    modulus <C>Mod(<A>f</A>)</C> which has only outgoing edges
    (<Q>source</Q>) or which has only ingoing edges (<Q>sink</Q>),
    respectively. The list entry corresponding to such a component
    is the union of the vertices belonging to it.
<Example>
<![CDATA[
gap> g := ClassTransposition(0,2,1,2)*ClassTransposition(0,2,1,4);;
gap> Sources(g); Sinks(g);
[ 0(4) ]
[ 1(4) ]
]]>
</Example>
  </Description>
</ManSection>

<ManSection>
  <Attr Name="Loops" Arg="f" Label="of an rcwa mapping"/>
  <Returns>
    if <A>f</A> is bijective, the list of non-isolated vertices of the
    transition graph of <A>f</A> for modulus <C>Mod(<A>f</A>)</C>
    which carry a loop. In general, the list of vertices of that transition
    graph which carry a loop, but which <A>f</A> does not fix setwise.
  </Returns>
  <Description>
    The returned list may also include supersets of the named
    residue classes instead if <A>f</A> is affine even on these.
<Example>
<![CDATA[
gap> Loops(ClassTransposition(0,2,1,2)*ClassTransposition(0,2,1,4));
[ 0(4), 1(4) ]
]]>
</Example>
  </Description>
</ManSection>

There is a nice invariant of trajectories of the Collatz mapping:

<ManSection>
  <Func Name="GluckTaylorInvariant" Arg="a" Label="of a trajectory"/>
  <Returns>
    the invariant defined in <Cite Key="GluckTaylor02"/>. This is
    <M>(\sum_{i=1}^l a_i \cdot a_{i \mod l + 1})/(\sum_{i=1}^l a_i^2)</M>,
    where <M>l</M> denotes the length of <A>a</A>.
  </Returns>
  <Description>
    The argument <A>a</A> must be a list of integers.
    In <Cite Key="GluckTaylor02"/> it is shown that if <A>a</A>
    is a trajectory of the `original' Collatz mapping <M>n</M>
    <M>\mapsto</M> (<M>n/2</M> if <M>n</M> even, <M>3n+1</M> if
    <M>n</M> odd) starting at an odd integer <M>\geq 3</M> and ending
    at 1, then the invariant lies in the interval <M>]9/13,5/7[</M>.
<Example>
<![CDATA[
gap> C := RcwaMapping([[1,0,2],[3,1,1]]);;
gap> List([3,5..49],n->Float(GluckTaylorInvariant(Trajectory(C,n,[1]))));
[ 0.701053, 0.696721, 0.708528, 0.707684, 0.706635, 0.695636, 0.711769,
  0.699714, 0.707409, 0.693833, 0.710432, 0.706294, 0.714242, 0.699935,
  0.714242, 0.705383, 0.706591, 0.698198, 0.712222, 0.714242, 0.709048,
  0.69612, 0.714241, 0.701076 ]
]]>
</Example>
  </Description>
</ManSection>

Quite often one can make certain <Q>educated guesses</Q> on the overall
behaviour of the trajectories of a given rcwa mapping. For example it is
reasonably straightforward to make the conjecture that all trajectories of
the Collatz mapping eventually enter the finite set <M>\{-136, -91, -82, -68,
-61, -55, -41, -37, -34, -25, -17, -10, -7, -5, -1, 0, 1, 2 \}</M>, or that
<Q>on average</Q> the next number in a trajectory of the Collatz mapping is
smaller than the preceding one by a factor of <M>\sqrt{3}/2</M>. However it
is clear that such guesses can be wrong, and that they therefore cannot be
used to prove anything. Nevertheless they can sometimes be useful:

<ManSection>
  <Oper Name="LikelyContractionCentre"
        Arg="f, maxn, bound" Label="of an rcwa mapping"/>
  <Returns> a list of ring elements (see below). </Returns>
  <Description>
    This operation tries to compute the <E>contraction centre</E> of the
    rcwa mapping <A>f</A>. Assuming its existence this is the unique finite
    subset <M>S_0</M> of the source of <A>f</A> on which <A>f</A>
    induces a permutation and which intersects non-trivially with any
    trajectory of <A>f</A>. The mapping <A>f</A> is assumed
    to be <E>contracting</E>, i.e. to have such a contraction centre.
    As in general contraction centres are likely not computable, the methods
    for this operation are probabilistic and may return wrong results.
    The argument <A>maxn</A> is a bound on the starting
    value and <A>bound</A> is a bound on the elements of the trajectories
    to be searched.
    If the limit <A>bound</A> is exceeded, an Info message on Info
    level 3 of <C>InfoRCWA</C> is given.
<Example>
<![CDATA[
gap> T := RcwaMapping([[1,0,2],[3,1,2]]);; # The Collatz mapping.
gap> S0 := LikelyContractionCentre(T,100,1000);
#I  Warning: `LikelyContractionCentre' is highly probabilistic.
The returned result can only be regarded as a rough guess.
See ?LikelyContractionCentre for more information.
[ -136, -91, -82, -68, -61, -55, -41, -37, -34, -25, -17, -10, -7, -5, 
  -1, 0, 1, 2 ]
]]>
</Example>
  </Description>
</ManSection>

<ManSection>
  <Oper Name="GuessedDivergence" Arg="f" Label="of an rcwa mapping"/>
  <Returns>
    a floating point value which is intended to be a rough guess on how fast
    the trajectories of the rcwa mapping <A>f</A> diverge (return value
    greater than 1) or converge (return value smaller than 1).
  </Returns>
  <Description>
    Nothing particular is guaranteed.
<Example>
<![CDATA[
gap> GuessedDivergence(T);
#I  Warning: GuessedDivergence: no particular return value is guaranteed.
0.866025
]]>
</Example>
  </Description>
</ManSection>

</Section>

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

<Section Label="sec:SparseRepresentationOfRcwaMappings">
<Heading>
  Saving memory -- the sparse representation of rcwa mappings
</Heading>

<Index Key="rcwa mapping" Subkey="sparse representation">
  rcwa mapping
</Index>
<Index Key="RcwaMapping"
       Subkey="by list of coefficients, sparse representation">
  <C>RcwaMapping</C>
</Index>

It is quite common that an rcwa mapping with large modulus
has only few distinct affine partial mappings. In this case the
<Q>standard</Q> representation which stores a coefficient triple for each
residue class modulo the modulus is unsuitable. For this reason there is
a second representation of rcwa mappings, the <Q>sparse</Q> representation.
Depending on the rcwa mappings involved, using this representation may
speed up computations and reduce memory requirements by orders of
magnitude. For rcwa mappings with almost as many distinct affine partial
mappings as there are residue classes modulo the modulus, using sparse
representation makes computations slower and more memory-consuming.
Presently, the sparse representation is only available for rcwa mappings
of &ZZ;. <P/>

The sparse representation of an rcwa mapping consists of the modulus and
a list of 5-tuples <M>(r,m,a_{r(m)},b_{r(m)},c_{r(m)})</M> of integers.
Any such 5-tuple specifies the coefficients of the restriction
<M>n \mapsto (a_{r(m)} \cdot n + b_{r(m)})/c_{r(m)}</M> of the mapping
to a residue class <M>r(m)</M>. The <M>r(m)</M> are chosen to form the
coarsest possible partition of &ZZ; into residue classes such that the
restriction of the mapping to any of them is affine. Also the list of
coefficient tuples is sorted, all <M>c_{r(m)}</M> are positive and
<M>\gcd(c_{r(m)},\gcd(a_{r(m)},b_{r(m)})) = 1</M>. This way the coefficient
list of an rcwa mapping of &ZZ; is unique. <P/>

Changing the representation of rcwa mappings does not change their
behaviour with respect to <Q><C>=</C></Q> and <Q><C><</C></Q> 
The product of two rcwa mappings in sparse representation is in sparse
representation again, just like the product of two rcwa mappings in
standard representation is in standard representation. Also, inverses
are in the same representation. The product of two rcwa mappings in
different representation may be in any of the representations of the
factors.

<ManSection>
  <Oper Name="SparseRepresentation" Arg="f" Label="of an rcwa mapping"/>
  <Oper Name="SparseRep" Arg="f" Label="of an rcwa mapping"/>
  <Oper Name="StandardRepresentation" Arg="f" Label="of an rcwa mapping"/>
  <Oper Name="StandardRep" Arg="f" Label="of an rcwa mapping"/>
  <Returns>
    the rcwa mapping <A>f</A> in sparse, respectively, standard
    representation.
  </Returns>
  <Description>
    Appropriate attribute values and properties are copied over
    to the rcwa mapping in the <Q>new</Q> representation. 
<Example>
<![CDATA[
gap> a := ClassTransposition(1,2,4,6);
( 1(2), 4(6) )
gap> b := ClassTransposition(1,3,2,6);
( 1(3), 2(6) )
gap> c := ClassTransposition(2,3,4,6);
( 2(3), 4(6) )
gap> g := (b*a*c)^2*a;
<rcwa permutation of Z with modulus 288>
gap> h := SparseRep(g);
<rcwa permutation of Z with modulus 288 and 21 affine parts>
gap> g = h;
true
gap> Coefficients(h);
[ [ 0, 6, 1, 0, 1 ], [ 1, 3, 16, -1, 3 ], [ 2, 96, 9, 14, 16 ], 
  [ 3, 24, 9, 5, 4 ], [ 5, 24, 3, 1, 4 ], [ 8, 36, 2, -7, 9 ], 
  [ 9, 48, 27, 29, 8 ], [ 11, 24, 9, 5, 4 ], [ 14, 48, 27, 38, 8 ], 
  [ 15, 24, 27, 19, 4 ], [ 17, 48, 9, 7, 8 ], [ 20, 72, 3, 4, 4 ], 
  [ 21, 24, 1, -3, 6 ], [ 23, 24, 27, 19, 4 ], [ 26, 48, 3, 2, 8 ], 
  [ 32, 36, 4, -11, 9 ], [ 33, 48, 9, 7, 8 ], [ 38, 48, 9, 10, 8 ], 
  [ 41, 48, 27, 29, 8 ], [ 50, 96, 27, 58, 16 ], [ 56, 72, 1, 0, 4 ] ]
gap> h^2;
<rcwa permutation of Z with modulus 13824 and 71 affine parts>
gap> h^3;
<rcwa permutation of Z with modulus 663552 and 201 affine parts>
]]>
</Example>
    Memory consumption may differ a lot between sparse- and standard
    representation:
<Log>
gap> MemoryUsage(h^3);               # on a 64-bit machine
18254
gap> MemoryUsage(StandardRep(h^3));  # on a 64-bit machine
42467894
</Log>
  </Description>
</ManSection>

</Section>

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

<Section Label="sec:CategoriesOfRcwaMappings">
<Heading>The categories and families of rcwa mappings</Heading>

<ManSection>
  <Filt Name="IsRcwaMapping" Arg="f"/>
  <Filt Name="IsRcwaMappingOfZ" Arg="f"/>
  <Filt Name="IsRcwaMappingOfZ_pi" Arg="f"/>
  <Filt Name="IsRcwaMappingOfGFqx" Arg="f"/>
  <Returns>
    <C>true</C> if <A>f</A> is an rcwa mapping,
    an rcwa mapping of the ring of integers,
    an rcwa mapping of a semilocalization of the ring of integers or
    an rcwa mapping of a polynomial ring in one variable over a finite field,
    respectively, and <C>false</C> otherwise.
  </Returns>
  <Description>
    Often the same methods can be used for rcwa mappings of the ring of
    integers and of its semilocalizations. For this reason there is
    a category <C>IsRcwaMappingOfZOrZ&uscore;pi</C> which is the union of
    <C>IsRcwaMappingOfZ</C> and <C>IsRcwaMappingOfZ&uscore;pi</C>.
    <Index Key="IsRcwaMappingOfZOrZ_pi">
      <C>IsRcwaMappingOfZOrZ&uscore;pi</C>
    </Index>
    The internal representation of rcwa mappings is called
    <C>IsRcwaMappingStandardRep</C>.
    <Index Key="IsRcwaMappingStandardRep">
      <C>IsRcwaMappingStandardRep</C>
    </Index>
    There are methods available for <C>ExtRepOfObj</C> and
    <C>ObjByExtRep</C>.
    <Index Key="ExtRepOfObj"><C>ExtRepOfObj</C></Index>
    <Index Key="ObjByExtRep"><C>ObjByExtRep</C></Index>
  </Description>
</ManSection>

<ManSection>
  <Func Name="RcwaMappingsFamily" Arg="R" Label="of a ring"/>
  <Returns>
    the family of rcwa mappings of the ring <A>R</A>.
  </Returns>
</ManSection>

</Section>

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

</Chapter>

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

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

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

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.