###############################################################################
#
# Australian National University p-Quotient Program
#
# Version 1.2
#
# April 1994
#
###############################################################################
This implementation was developed in C by
Eamonn O'Brien
School of Mathematical Sciences
Australian National University
Canberra, ACT 0200
e-mail obrien@maths.anu.edu.au
Telephone +61-(0)6-249 2963 (office)
FAX +61-(0)6-249 5549
###############################################################################
#
# Program content
#
###############################################################################
The program provides access to implementations of the following algorithms:
1. A p-quotient algorithm to compute a power-commutator presentation
for a p-group. The algorithm implemented here is based on that
described in Havas and Newman (1980) and papers referred to there.
Another description of the algorithm appears in Vaughan-Lee (1990).
A FORTRAN implementation of this algorithm was programmed by
Alford & Havas. The basic data structures of that implementation
are retained.
The current implementation incorporates the following features:
a. collection from the left (see Vaughan-Lee, 1990);
Vaughan-Lee's implementation of this collection
algorithm is used in the program;
b. an improved consistency algorithm (see Vaughan-Lee, 1982);
c. new exponent law enforcement and power routines;
d. closing of relations under the action of automorphisms;
e. some formula evaluation.
For details of these latter improvements, see
Newman and O'Brien (in preparation).
2. A p-group generation algorithm to generate descriptions of p-groups.
The algorithm implemented here is based on the algorithms described in
Newman (1977) and O'Brien (1990). A FORTRAN implementation of this
algorithm was earlier developed by Newman & O'Brien.
3. A standard presentation algorithm used to compute a canonical
power-commutator presentation of a p-group. The algorithm
implemented here is described in O'Brien (1993).
4. An algorithm which can be used to compute the automorphism group of
a p-group. The algorithm implemented here is described in O'Brien (1994).
###############################################################################
#
#Access via other programs
#
###############################################################################
Access to parts of this program is provided via Magma, GAP,
and Quotpic.
This program is supplied as a package within GAP.
The link from GAP to pq is described in the manual
for GAP 3.2 (and later versions); all of the necessary
code with documentation can be found in the gap
directory of this distribution.
###############################################################################
#
#References
#
###############################################################################
George Havas and M.F. Newman (1980), "Application of computers
to questions like those of Burnside", Burnside Groups (Bielefeld, 1977),
Lecture Notes in Math. 806, pp. 211-230. Springer-Verlag.
M.F. Newman (1977), "Determination of groups of prime-power order",
Group Theory (Canberra, 1975). Lecture Notes in Math. 573, pp. 73-84.
Springer-Verlag.
M.F. Newman and E.A. O'Brien (in preparation), "Application of computers to
questions like those of Burnside II".
E.A. O'Brien (1990), "The p-group generation algorithm",
J. Symbolic Comput. 9, 677-698.
E.A. O'Brien (1993), ``Isomorphism testing for p-groups",
J. Symbolic Comput. 17 (1).
E.A. O'Brien (1994), ``Computing automorphism groups of p-groups",
to appear in Proceeding of CANT '92 (Sydney).
M.R. Vaughan-Lee (1982), "An Aspect of the Nilpotent Quotient Algorithm",
Computational Group Theory (Durham, 1982), pp. 76-83. Academic Press.
Michael Vaughan-Lee (1990), The Restricted Burnside Problem,
London Mathematical Society monographs (New Ser.) #5.
Clarendon Press, New York, Oxford.
M.R. Vaughan-Lee (1990), "Collection from the left",
J. Symbolic Comput. 9, 725-733.
###############################################################################
#
# Installation procedure
#
###############################################################################
1. The directory pq contains the following subdirectories:
bin -- directory for storage of binary file
cayley -- a cshell file and a cayley library file
doc -- documentation on use of program
examples -- a number of sample input files for the program
gap -- GAP library files and documentation on use within GAP
include -- C header files
isom -- sample input files illustrating canonical presentation computations
magma -- a cshell file and a Magma library file
src -- C source files and a Makefile
TEST -- some log files + a test program to check correctness
MakeLibrary -- collection of tools which can be used to generate
both CAYLEY and GAP libraries of group collections;
read the README in that directory for details
2. The file, guide.tex, in the doc directory is a LaTeX file.
It is a basic guide to the use of the p-Quotient Program.
It may require some minor modifications before you can
print it out.
3. To create the binary --
a. change to the src directory;
b. ensure that the conditional compilation flags in the
Makefile are set correctly; the -DLARGE_INT flag controls
the storage and display of automorphism group orders;
if you want to use this flag, you must have an up-to-date
copy of the GNU MP procedures on your machine;
c. system dependent features are collected in system.c;
in particular, you may wish to look at the run time function
to ensure that the CPU time reported by the program is correct;
d. type make pq
e. to remove all of the object files, type make clean
A binary file, pq, will be placed in the directory bin.
4. The total space requirements for this directory (including
the binary but excluding the object files) is about 1.5MB.
5. In p-group generation, if the automorphism group of the
starting group is insoluble, then pq calls one of CAYLEY or
GAP or Magma to perform particular stabiliser computations
(see the User Guide for more details).
The user of pq may choose which of these systems is to
be called -- however, the choice for this link MUST be
made by the user at compilation time by setting one of the
CAYLEY_LINK or GAP_LINK or Magma_LINK flags in the Makefile.
Points 6, 7, and 8 below discuss each of these links in turn.
6. The cayley directory contains a cshell file, CAYLEY_script, and
one CAYLEY library file, stabcalc.
If you plan to use the link from this program to the system CAYLEY,
you will need to take the following action:
a. An environment variable, CAYLEY_DIR, must be set to have as its
value the path to the directory cayley. If you wish to alter
the name of this environment variable, edit the occurrence
of this variable in the src file CAYLEY.c, its occurrence
in CAYLEY_script, and remake the binary.
b. The cshell file, CAYLEY_script, executes CAYLEY.
The binary for CAYLEY must be in your path.
The "egrep -v" commands in the CAYLEY_script file are used to
remove certain output which occurs in the CAYLEY log file.
In order that the CAYLEY_output file is processed correctly
by pq, it is necessary that no text occurs before the listing
of two integers and the generators of the stabiliser.
On certain machines, the output file CAYLEY_output may contain
other junk before these entries -- if such is the case on your
machine, you will need to add additional "egrep -v" command to
remove such material.
7. The instructions which you must follow in order to use
the Magma link are similar to those described under 6. --
except all occurrences of CAYLEY are replaced by Magma.
8. The link from pq to GAP assumes that you use GAP 3.2
(or a later release) *with* the *anupq package* installed.
The supplied program does not work with *earlier* versions
of GAP and should not be used with them.
If the binary for GAP 3.2 (or later) is called gap and is in your
default path, you need do no more; if it is not in your path,
you must set an environment variable ANUPQ_EXEC_GAP to
point to the GAP executable.
9. The TEST directory contains a number of log files, with
extension .orig, together with a cshell file called TEST.
This test program runs through a number of the examples
in the examples directory and compares the results generated with
those listed in the .orig files of this directory. If the
p-quotient program is running correctly, the TEST program
should report only differences in the date, name of machines
and times taken. If there are other significant differences,
please report.
Execute the test program by typing TEST
(If your pq directory structure is different, you may need to alter
the relative paths in TEST for both binary and command files.)
The total time taken for the test on a SPARCstation 10/51 is
about 30 seconds of user time.
10. See the documentation for information on run-time parameters.
11. Please report bugs/problems/feedback to obrien@maths.anu.edu.au
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.