
                              REPTHY

                     Release: October 5, 2004

Repthy is a freeware Java package for finite groups and the characters
of their representations over the complex numbers.

Features:

(.) Finds the complete character table of a group.  Finds Sylow
    p-subgroups for any p.  Finds composition series, and tests for
    simplicity.  This applies to any finite group, subject to the
    32-bit size limitation mentioned below.

(.) Handles subgroups, direct products, quotient groups, abelian
    groups (rewrites them as a product of cyclics), p-groups,
    elementary subgroups, permutation groups, orders, conjugacy
    classes, centralizers, commutator subgroups, Hecke algebras.

(.) Handles homomorphisms as first-class objects.  The system works in
    the *category* of finite groups.  Subgroups, direct products and
    quotients use this framework.

(.) Built-in examples of groups include cyclic groups, dihedral
    groups, S_n, and A_n.  The linear groups GL, SL, PGL, and PSL are
    supported over the prime fields Z/(p).

(.) Operations on characters include sum, difference, tensor, sym2,
    wedge2, dual, inner product, decomposition as a sum of
    irreducibles, kernel (returning a subgroup).

(.) Written in Java, so it can run with a GUI on most platforms.

(.) Compatible with Java's Collections framework.  A group is a Set of
    elements, in Java's powerful sense of the word "Set".

Limitations:

(.) The order of a group is limited to the 32-bit int data type.  This
    limits the order to about two billion.

(.) Users must have the number theory package GP-Pari on their system
    (http://pari.math.u-bordeaux.fr/).  The principal Repthy functions
    will call out to Pari in a separate process.  This limitation will
    be removed in a later release.

(.) Repthy is far less complete than Gap or Cayley/Magma, and in some
    cases has less sophisticated algorithms.

This Directory:

This directory contains the Java source code and documentation for
Repthy.  Here are three ways to learn more about it:

(.) Download repthy.jar and run the demo with
    java -jar repthy.jar
    On Windows and some other operating systems, you can simply
    double-click on the repthy.jar icon.

(.) Open the documentation at doc/index.html in a browser.  Start with
    the articles on Group, GroupElt, GpCharacter and Homomorphism.

(.) If you prefer to read source code, start with the 'main' methods
    in PSL.java (the demo) or Group.java.
