This is the doc file xPermDoc.nb of version 1.0.1 of xPerm`. Last update on 14 May 2008.


© 2003-2008, under the GNU General Public License (GPL)
     José M. Martín-García
    Instituto de Estructura de la Materia, CSIC, Spain
xPerm` is a scientific project, and has been published in the article
    José M. Martín-García, "xPerm: fast index canonicalization for tensor computer algebra", submitted to Comp. Phys. Commun. 2008.
Users of xPerm` are requested to cite that article in any work in which the package is used. If you think your investigation would have been impossible without xPerm`, please consider having me as an author of your publication. xPerm` is many hundred hours (coding, debugging, testing, documenting) of my time spent to help you.


xPerm` extends Mathematica capabilities in computations with large groups of permutations. This package can be used independently, but it has been created as a tool for its twin package xTensor` of abstract tensor manipulations. There are two main objectives in the package:
    1) Computation of a Strong Generating Set (SGS) for a group of permutations, given a generating set (GS) for that group. We use the Schreier-Sims algorithm, as encoded by Butler:
        G. Butler, "Fundamental Algorithms for Permutation Groups", Springer-Verlag, Berlin Heidelberg 1991.
         The companion notebook ButlerExamples.nb contains the solutions (worked out with xPerm`) of many examples in that book. Some of them have wrong answers in the book and have been corrected.
    2) Computation of canonical representatives of cosets and double cosets. We use Portugal's algorithms:
        R. Portugal and B.F. Svaiter, "Group-theoretic Approach for Symbolic Tensor Manipulation: I. Free indices", math-ph/0107031
        L.R.U. Manssur and R. Portugal, "Group-theoretic Approach for Symbolic Tensor Manipulation: II. Dummy indices", math-ph/0107032
        L.R.U. Manssur, R. Portugal and B.F. Svaiter, "Group-theoretic Approach for Symbolic Tensor Manipulation", Int. J. Mod. Phys. C13 (2002), 859--880.
xPerm` is not, and will never be, a serious alternative to professional packages like GAP or MAGMA for algebraic computations. It just solves those two issues needed in xTensor`, plus adding some commodity tools.
xPerm` is directly coded up in Mathematica language, which is interpreted and hence rather slow. Executables called xperm.linux, xperm.mac or xperm.win (depending on your system) are given to improve significantly the speed of the hardest computations. A MathLink  connection is set up to communicate MathKernel with that executable. Note that the Windows executable can only be linked with Mathematica versions 6.0 or later because the cygwin compilers were not supported by Mathematica in previous versions.
I thank
    - Paolo Matteucci for suggesting the use of Portugal's algorithms to do index canonicalization.
    - Alfonso García-Parrado, Kasper Peeters, Renato Portugal and David Yllanes for helpful comments and suggestions, and for their help in testing the system.

Load the package

Basic group theory

0. Mathematical notes

1. Notations for permutations

2. Operations with permutations

3. Groups of permutations and Generating Sets

Strong Generating Sets

4. Orbits and Schreier vectors

5. Stabilization and Strong Generating Sets

6. Some important groups of symmetry

7. Examples of Schreier-Sims algorithm


The meaning of canonicalization. Tensor indices and slots

8. Canonical representative of a right coset

9. Canonical representative of a double coset

10. Canonical permutation

Final comments


Created by Mathematica  (May 16, 2008) Valid XHTML 1.1!