The GAP 4 package ANUPQ provides an interface to the ANU pq
C
progam written by Eamonn O'Brien, making the functionality of the C
program available to GAP. Henceforth, we shall refer to the ANUPQ
package when referring to the GAP interface, and to the ANU pq
program or just pq
when referring to that C program.
The pq
program consists of implementations of the following algorithms:
pq
program is not accessible through the ANUPQ
package. Instead, users are advised to consider the GAP 4 package
AutPGrp by Bettina Eick and Eamonn O'Brien, which implements a better
algorithm in GAP for the computation of automorphism groups of
p-groups.
The current version of the ANUPQ package requires GAP 4.4, and version 1.2 of the AutPGrp package. All code that made the package compatible with earlier versions of GAP has been removed. If you still have GAP 4.3 (at least fix4), then you must use ANUPQ 2.2, and AutPGrp 1.1. You should not use earlier versions of the ANUPQ package since they are known to have bugs.
How to read this manual
It is not expected that readers of this manual will read it in a linear fashion from cover to cover; some sections contain material that is far too technical to be absorbed on a first reading.
Firstly, installers of the ANUPQ package will need to read
Chapter Installing the ANUPQ package, if they have not already gleaned
these details from the README
file.
Once the ANUPQ package is installed, users of the ANUPQ package will benefit most by first reading Chapter Mathematical Background and Terminology, which gives a brief description of the background and terminology used (this chapter also cites a number of references for further reading), and the introduction of Chapter Infrastructure (skip the remainder of the chapter on a first reading).
Then the user/reader should pursue Chapter Non-interactive ANUPQ functions in detail, delving into Chapter ANUPQ Options as necessary
for the options of the functions that are described. The user will become
best acquainted with the ANUPQ package by trying the examples. This
chapter describes the non-interactive functions of the ANUPQ package,
i.e. ``one-shot'' functions that invoke the pq
program in such a way
that once GAP has got what it needs, the pq
is allowed to exit. It
is expected that most of the time, users will only need these functions.
Advanced users will want to explore Chapter Interactive ANUPQ functions
which describes all the interactive functions of the ANUPQ package;
these are functions that extract information via a dialogue with a
running pq
process. Occasionally, a user needs the ``next step''; the
functions provided in this chapter make use of data from previous steps
retained by the pq
program, thus allowing the user to interact with the
pq
program like one can when one uses the pq
program as a stand-alone
(see guide.dvi
in the standalone-doc
directory).
After having read Chapters Non-interactive ANUPQ functions and Interactive ANUPQ functions, cross-references will have taken the reader into Chapter ANUPQ Options; by this stage, the reader need only read the introduction of Chapter ANUPQ Options.
After the reader has developed some facility with the ANUPQ package, she should explore the examples described in Appendix Examples.
If you run into trouble using the ANUPQ functions, some troubleshooting hints are given in Section Hints and Warnings regarding the use of Options. If the troubleshooting hints don't help, Section Authors and Acknowledgements below, gives contact details for the authors of the components of the ANUPQ package.
The C implementation of the ANU pq
standalone was developed by
Eamonn O'Brien Department of Mathematics University of Auckland Private Bag 92019 Auckland New Zealand
email:
obrien@math.auckland.ac.nz
The GAP 4 version of this package was adapted from the GAP 3 version by
Werner Nickel AG 2, Fachbereich Mathematik, TU Darmstadt Schlossgartenstr. 7, 64289 Darmstadt, Germany
email:
nickel@mathematik.tu-darmstadt.de
An interactive interface using iostreams was developed with the assistance of Werner Nickel by
Greg Gamble
Lehrstuhl D für Mathematik, RWTH Aachen
Templergraben 64, 52062 Aachen, Germany
email:
gregg@math.rwth-aachen.de
The authors would like to thank Joachim Neubüser for his careful proof-reading and advice, and for formulating Chapter Mathematical Background and Terminology.
We would also like to thank Bettina Eick who by her testing and provision of examples helped us to eliminate a number of bugs and who provided a number of valuable suggestions for extensions of the package beyond the GAP 3 capabilities.
If you find a bug, the last section of ANUPQ's README
describes the
information we need and where to send us a bug report; please take the
time to read this (i.e. help us to help you).
Below we list the main changes between versions of the ANUPQ package.
3.0
PrimeOfPGroup
replaced by PrimePGroup
, ReadPkg
replaced by ReadPackage
, including
in the pq
program code (so pq
program is now version 1.8).
IsPqIsomorphicPGroup
using suggestion
made by Marco Costantini (thanks Marco).
pkgbanner
option that used to control how the ANUPQ package
banner was displayed.
2.2
PackageInfo.g
.
2.1
pq
program (now version 1.7) modified
to avoid overflow.
StepSize
to the pq
program properly. This bug could result in computing the
wrong number of descendants if a StepSize
different from 1 was chosen.
[grp]
as default filename instead of <grp>
,
pq
program with cygwin,
and
PqQuitAll()
more often in test examples. This reduces the number of
simultaneously running processes and avoids bumping into system limits.
2.0
pq
program (now version 1.6) and GAP code to fix bug
reported by Boris Girnat (thanks Boris!) where too many descendants were
generated for a group of class more than 1 with insoluble automorphism
group. Also more changes for GAP 4.4, for which
pkgbanner
for suppression of the package banner is deprecated
(now does nothing); its function is now provided by an optional argument
of the LoadPackage
; see Section LoadPackage in the GAP
Reference Manual); and
Info
-ed at InfoANUPQ
level 1, and so
cannot be suppressed by setting the InfoANUPQ
level to 0.
Info
-ing of the banner is unchanged, and RequirePackage
must be
used rather than the new command LoadPackage
.
PqSupplementInnerAutomorphisms
now returns a record analogous to the
AutomorphismGroupPGroup
function of the AutPGrp package, and
AutomorphismGroupPGroup
rather than PqSupplementInnerAutomorphisms
is
now used to generate the required automorphism group data in descendant
calculations. The corresponding PqExample
example has similarly been
modified.
1.5
pq
program (thanks to
Robert Morse again for the fix). Some preparatory changes made for
GAP 4.4.
1.4
src
directory.
1.3
IsSyllableWordsFamily
as first argument of some FreeGroup
commands.
1.2
pq
program
(thanks to Robert Morse for identifying the problem). Updated for
bugfixes in fix4 of GAP 4.3, which required some usages of Pcgs
to
be replaced by GeneralizedPcgs
. Requires at least GAP 4.3fix4 and an
updated AutPGrp package that uses SetGeneralizedPcgs
in lieu of
SetPcgs
in its definition of ConvertHybridAutGroup
.
1.1
ANUPQ manual