
                       Version history of the RCWA package
                       ===================================

Initial version: 1.0.0 (April 26, 2005)

Changes between version 1.0.0 and version 1.0.2:

 - Several cosmetic improvements have been made; no new functionality
   has been added.

Changes between version 1.0.2 and version 1.0.3:

 - `View' - methods for certain group rings of rcwa groups and their elements
   have been added (compact form to save space; not documented yet).

Changes between version 1.0.3 and version 1.1.0 (June 16, 2005):

 - The `Display' - method for rcwa mappings over the integers now recognizes
   an option `xdvi'. If this option is set, a LaTeX representation of the
   rcwa mapping is written to a file, LaTeX'ed and shown with xdvi.
   Try e.g. Display(Random(RCWA(Integers)):xdvi);.

 - An example "A group which acts 2-transitively on the positive integers"
   has been added to the manual. In this example, the 2-transitivity of
   a given wild rcwa group is checked computationally.

Changes between version 1.1.0 and version 1.2.0 (August 8, 2005):

 - An example "A group which acts 3-transitively, but not 4-transitively on Z"
   has been added to the manual. In this example, the 3-transitivity and
   non-4-transitivity of the action of a given wild rcwa group on Z is
   checked computationally.

 - The example which has been added in the previous version has been extended
   -- now it is checked that the given group acts even 4-transitively on the
   positive integers.

 - A `RepresentativeAction' method for RCWA(Z) and two unions of residue
   classes has been added.

Changes between version 1.2.0 and version 1.2.1:

 - An adaptation to an incompatible change in GAP 4.4.6 w.r.t. `InstallValue'
   for families has been made.

Changes between version 1.2.1 and version 1.2.2:

 - Some code which was misplaced in RCWA has been moved to the GAP library
   (rudimentary support for floats, `PadicValuation',
   `EpimorphismFromFreeGroup').

 - An example has been added to the manual in which finite quotients of
   Grigorchuk groups are constructed.

Changes between version 1.2.2 and version 1.3.0 (November 22, 2005):

 - Operations `Induction', `RightInverse' and `CommonRightInverse'
   have been added.

 - The code for `Restriction' has been improved.

 - RepresentativeAction(RCWA(Integers),P1,P2) works now also in cases
   where P1 and P2 do not consist entirely of single residue classes,
   but of unions of residue classes.

 - The multiplication of rcwa mappings is now slightly faster due to making
   use of a better bound for the modulus of the product.

 - The archive file now includes a copy of the author's thesis
   "Restklassenweise affine Gruppen" as well as an english translation of it.

Changes between version 1.3.0 and version 1.3.1:

 - A list of a few (harmless!) errata for the author's thesis has been added.

Changes between version 1.3.1 and version 1.3.4:

 - The errata known on 29/12/2005 have been corrected in the copy of the
   thesis distributed with this package.

 - A bunch of typo's in the english translation of the thesis has been
   corrected.

Changes between version 1.3.4 and version 1.3.5:

 - The package documentation has been made autoloaded.

Changes between version 1.3.5 and version 1.3.6:

 - A bug in `FactorizationIntoGenerators' which caused an infinite loop under
   certain circumstances has been fixed.

 - The shortening of the respected partition in the last factoring step in
   `FactorizationIntoGenerators' has been made much faster.

 - A special method for `RepresentativeActionOp' has been added.

 - A new test file tst/Ngens.tst has been added (corresponds to a preprint
   on minimal normal subgroups of RCWA(Z)).

Changes between version 1.3.6 and version 1.4.0 (January 27, 2006):

 - Significant parts of the documentation have been rewritten.

 - A synonym `Support' for `MovedPoints', a generic method
   for `NrMovedPoints' and an operation `Ball' have been added.

Changes between version 1.4.0 and version 1.4.1:

 - The attribute `FactorizationIntoGenerators' has been renamed to
   `FactorizationIntoCSCRCT', and the method for computing such
   factorizations has been installed as a method for `Factorization'.
   The old name remains available as a synonym.

 - The mappings used in a preprint `Symmetrizing the 3n+1 Tree' and a few
   related examples have been added to examples/examples.g.

 - An example `Forward orbits of a monoid with two generators' has been
   added to the manual. In this example, it is checked by means of
   computation that the forward orbit of any positive integer under the
   action of the monoid generated by the two mappings
   T5+/-: n -> (n/2 if n even, (5n+/-1)/2 if n odd) contains 1.

Changes between version 1.4.1 and version 1.4.2:

 - Functions `ConjugatingCTs' and `TreeSortingPerm' have been added to
   the examples file (rcwa/examples/examples.g):
 
   `ConjugatingCTs' is a function which, given two class transpositions
                    ct1 and ct2, returns a 6-tuple of class transpositions
                    ct3 .. ct8 such that ct1^(ct3 * .. * ct8) = ct2.
                    The existence of such a tuple of class transpositions
                    is used in the proof that the group generated by all
                    class transpositions is simple.

   `TreeSortingPerm' is a mapping which is a permutation of the positive
                     integers if and only if the 3n+1 Conjecture holds.

 - A couple of minor / technical changes have been made, e.g. some newly
   introduced features of ResClasses are now used. RCWA requires now
   ResClasses 2.2.1.

Changes between version 1.4.2 and version 1.4.4:

 - An attribute `FixedPointsOfAffinePartialMappings' has been introduced.

 - Functions `LocalizedRcwaMapping' and `SemilocalizedRcwaMapping' have been
   added.

 - A function `mKnot' has been added. This function constructs bijective
   rcwa mappings of the type discussed in

   Timothy P. Keller. Finite Cycles of Certain Periodically Linear
   Permutations. Missouri J. Math. Sci. 11(1999), no. 3, 152-157.

Changes between version 1.4.4 and version 1.5.1 (March 29, 2006):

 - Attributes `Sources', `Sinks' and `Loops' have been introduced.

 - A larger number of method descriptions has been made more intuitive.

 - The names of some filters have been changed in order to make the naming
   scheme more consistent and more intuitive. These are:

   `IsIntegralRcwaMapping'          -> `IsRcwaMappingOfZ'
   `IsSemilocalIntegralRcwaMapping' -> `IsRcwaMappingOfZ_pi'
   `IsModularRcwaMapping'           -> `IsRcwaMappingOfGFqx'

   `IsIntegralRcwaGroup'            -> `IsRcwaGroupOverZ'
   `IsSemilocalIntegralRcwaGroup'   -> `IsRcwaGroupOverZ_pi'
   `IsModularRcwaGroup'             -> `IsRcwaGroupOverGFqx'

 - Some minor adjustments to output formatting improvements in
   ResClasses 2.2.2 have been made. RCWA requires now ResClasses 2.2.2.

Changes between version 1.5.1 and version 1.5.2:

 - An example "Representations of the free group of rank 2" has been added
   to the manual. This example shows a transfer of the construction of the
   Schottky groups from PSL(2,C) to RCWA(Z).

 - An example "A representation of the modular group PSL(2,Z)" has been
   added to the manual.

 - A bug in the `Size' method for tame rcwa groups which are not class-wise
   order-preserving has been fixed. In certain situations this bug falsely
   caused the method to return `infinity'.

Changes between version 1.5.2 and version 1.6.0 (April 18, 2006):

 - Two Methods for `WreathProduct' have been added:

     * for an rcwa group over Z and a finite permutation group, and
     * for an rcwa group over Z and an infinite cyclic group.

 - An `IsomorphismRcwaGroup' method for free groups has been added.

 - Properties `IsClassShift', `IsClassReflection', `IsClassTransposition'
   and `IsPrimeSwitch' have been introduced.

 - An attribute `TransposedClasses' for class transpositions has been
   introduced.

Changes between version 1.6.0 and version 1.6.2:

 - A method for `IsomorphismRcwaGroup' for free products of finite groups
   has been added.

 - Methods for `CyclicGroup', `DihedralGroup' and `AbelianGroup' have been
   added.

Changes between version 1.6.2 and version 1.7.0 (April 28, 2006):

 - A method for `Root' which extracts k-th roots of class-wise
   order-preserving rcwa mappings of finite order has been added.

 - Methods for `RepresentativeAction' for RCWA(Z) and two integers
   and for RCWA(Z) and two tuples of integers have been added.

 - The functions `Trajectory', `TrajectoryModulo' and
   `CoefficientsOnTrajectory' have been merged into an operation
   `Trajectory'.

 - The functions `IncreasingOn' and `DecreasingOn' have been turned
   into attributes.

 - The function `TransitionMatrix' has been turned into an operation.

 - Some cleanup "behind the scenes" has been made. In particular some code
   has been improved or simplified, and a number of undocumented global
   variables have been made local.

Changes between version 1.7.0 and version 1.7.1:

 - The method for `Root' has been improved.
   The modulus of the result is now often significantly smaller.

 - Some minor improvements of code and documentation have been made.

Changes between version 1.7.1 and version 1.7.2:

 - The length of the used respected partitions of tame rcwa mappings
   and -groups has been reduced.

Changes between version 1.7.2 and version 1.8.0 (May 18, 2006):

 - The method for the operation `KernelOfActionOnRespectedPartition' works
   now also for tame rcwa groups which are not class-wise order-preserving,
   and has been documented. RCWA needs now the package Polycyclic.

 - An operation `SplittedClassTransposition' has been introduced, and the
   function `ClassPairs' has been documented.

 - The documentation has been improved in some places, and a couple of
   general auxiliary functions have been documented.

 - An example "embeddings of graphs with 4 vertices in the class
   transposition graph" has been added to examples/examples.g.

 - Various little "internal" improvements have been made.

Changes between version 1.8.0 and version 2.0.0 (May 30, 2006):

The main change is that the manual has been revised.

Further changes:

 - `ClassTransposition', `ClassShift' and `ClassReflection' now work
   also over rings other than Z.

 - Methods for `Multiplier' and `Divisor' for rcwa groups have been added.

 - Some further minor extentions of the functionality have been made,
   e.g. there is now a method for `ShortCycles' analogous to `ShortOrbits',
   and a function `InjectiveAsMappingFrom' has been added.

 - The code has been improved in various places.

Changes between version 2.0.0 and version 2.0.2:

 - Operations `Projections' and `RespectsPartition' have been introduced.

Changes between version 2.0.2 and version 2.1.0 (June 6, 2006):

 - A method for `StructureDescription' with basic functionality has been
   added.

Changes between version 2.1.0 and version 2.1.1:

 - Some improvements to `StructureDescription' and to the membership test
   have been made.

Changes between version 2.1.1 and version 2.1.2:

 - A method for the operation `Index' for rcwa groups has been added.

 - A method for computing factor groups G/N of rcwa groups has been
   added. This method covers the case that the normal subgroup N has
   finite index in G.

 - A few internal code improvements have been made.

Changes between version 2.1.2 and version 2.1.3:

 - Some additional criteria for disproving membership of a given
   rcwa permutation in a given rcwa group are now tested.

 - The output string of `StructureDescription' is now a bit nicer
   in certain cases.

Changes between version 2.1.3 and version 2.1.4:

 - Some information in the chapter `The Algorithms Implemented in RCWA'
   of the manual has been updated.

 - A method for computing conjugates of GAP permutations under bijective
   rcwa mappings has been added.

Changes between version 2.1.4 and version 2.1.5:

 - The abstract and the preface of the manual have been revised.

Changes between version 2.1.5 and version 2.1.6:

 - A bug in the application of a non-membership criterion for rcwa groups
   has been fixed (the error has been identified in the code, no example
   has been constructed).

 - Some cleanup of comments and declarations in the source code
   has been made.

Changes between version 2.1.6 and version 2.1.7:

 - A function `GluckTaylorInvariant' has been added.

 - A bug in `KernelOfActionOnRespectedPartition' has been fixed.

Changes between version 2.1.7 and version 2.2.0 (September 20, 2006):

 - Improvements of the documentation have been made:
   In particular the abstract, the preface and the readme file have been
   updated, improved and shortened.

 - The author's thesis is no longer distributed with the package, since more
   and better results on residue class-wise affine groups have been found in
   the meantime.

Changes between version 2.2.0 and version 2.2.1:

 - Some minor code and documentation improvements have been made.
   Now RCWA needs ResClasses 2.3.5.

