<html><head><title>[ANUPQ] 1 Introduction</title></head> <body text="#000000" bgcolor="#ffffff"> [<a href = "chapters.htm">Up</a>] [<a href ="CHAP002.htm">Next</a>] [<a href = "theindex.htm">Index</a>] <h1>1 Introduction</h1><p> <P> <H3>Sections</H3> <oL> <li> <A HREF="CHAP001.htm#SECT001">Authors and Acknowledgements</a> <li> <A HREF="CHAP001.htm#SECT002">Change history</a> </ol><p> <p> <a name = "I0"></a> The <font face="Gill Sans,Helvetica,Arial">GAP</font> 4 package <font face="Gill Sans,Helvetica,Arial">ANUPQ</font> provides an interface to the ANU <code>pq</code> C progam written by Eamonn O'Brien, making the functionality of the C program available to <font face="Gill Sans,Helvetica,Arial">GAP</font>. Henceforth, we shall refer to the <font face="Gill Sans,Helvetica,Arial">ANUPQ</font> package when referring to the <font face="Gill Sans,Helvetica,Arial">GAP</font> interface, and to the ANU <code>pq</code> program or just <code>pq</code> when referring to that C program. <p> The <code>pq</code> program consists of implementations of the following algorithms: <p> <ol> <p> <li> A <strong><i>p</i>-quotient algorithm</strong> to compute pc-presentations for <i>p</i>-factor groups of finitely presented groups. <p> <li> A <strong><i>p</i>-group generation algorithm</strong> to generate pc presentations of groups of prime power order. <p> <li> A <strong>standard presentation algorithm</strong> used to compute a canonical pc-presentation of a <i>p</i>-group. <p> <li> An algorithm which can be used to compute the <strong>automorphism group</strong> of a <i>p</i>-group. <p> <li> This part of the <code>pq</code> program is not accessible through the <font face="Gill Sans,Helvetica,Arial">ANUPQ</font> package. Instead, users are advised to consider the <font face="Gill Sans,Helvetica,Arial">GAP</font> 4 package <font face="Gill Sans,Helvetica,Arial">AutPGrp</font> by Bettina Eick and Eamonn O'Brien, which implements a better algorithm in <font face="Gill Sans,Helvetica,Arial">GAP</font> for the computation of automorphism groups of <i>p</i>-groups. <p> </ol> <p> The current version of the <font face="Gill Sans,Helvetica,Arial">ANUPQ</font> package requires <font face="Gill Sans,Helvetica,Arial">GAP</font> 4.4, and version 1.2 of the <font face="Gill Sans,Helvetica,Arial">AutPGrp</font> package. All code that made the package compatible with earlier versions of <font face="Gill Sans,Helvetica,Arial">GAP</font> has been removed. If you still have <font face="Gill Sans,Helvetica,Arial">GAP</font> 4.3 (at least fix4), then you must use <font face="Gill Sans,Helvetica,Arial">ANUPQ</font> 2.2, and <font face="Gill Sans,Helvetica,Arial">AutPGrp</font> 1.1. You should not use earlier versions of the <font face="Gill Sans,Helvetica,Arial">ANUPQ</font> package since they are known to have bugs. <p> <strong>How to read this manual</strong> <p> 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. <p> Firstly, installers of the <font face="Gill Sans,Helvetica,Arial">ANUPQ</font> package will need to read Chapter <a href="CHAP007.htm">Installing the ANUPQ package</a>, if they have not already gleaned these details from the <code>README</code> file. <p> Once the <font face="Gill Sans,Helvetica,Arial">ANUPQ</font> package is installed, users of the <font face="Gill Sans,Helvetica,Arial">ANUPQ</font> package will benefit most by first reading Chapter <a href="CHAP002.htm">Mathematical Background and Terminology</a>, 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 <a href="CHAP003.htm">Infrastructure</a> (skip the remainder of the chapter on a first reading). <p> Then the user/reader should pursue Chapter <a href="CHAP004.htm">Non-interactive ANUPQ functions</a> in detail, delving into Chapter <a href="CHAP006.htm">ANUPQ Options</a> as necessary for the options of the functions that are described. The user will become best acquainted with the <font face="Gill Sans,Helvetica,Arial">ANUPQ</font> package by trying the examples. This chapter describes the non-interactive functions of the <font face="Gill Sans,Helvetica,Arial">ANUPQ</font> package, i.e. ``one-shot'' functions that invoke the <code>pq</code> program in such a way that once <font face="Gill Sans,Helvetica,Arial">GAP</font> has got what it needs, the <code>pq</code> is allowed to exit. It is expected that most of the time, users will only need these functions. <p> Advanced users will want to explore Chapter <a href="CHAP005.htm">Interactive ANUPQ functions</a> which describes all the interactive functions of the <font face="Gill Sans,Helvetica,Arial">ANUPQ</font> package; these are functions that extract information via a dialogue with a running <code>pq</code> process. Occasionally, a user needs the ``next step''; the functions provided in this chapter make use of data from previous steps retained by the <code>pq</code> program, thus allowing the user to interact with the <code>pq</code> program like one can when one uses the <code>pq</code> program as a stand-alone (see <code>guide.dvi</code> in the <code>standalone-doc</code> directory). <p> After having read Chapters <a href="CHAP004.htm">Non-interactive ANUPQ functions</a> and <a href="CHAP005.htm">Interactive ANUPQ functions</a>, cross-references will have taken the reader into Chapter <a href="CHAP006.htm">ANUPQ Options</a>; by this stage, the reader need only read the introduction of Chapter <a href="CHAP006.htm">ANUPQ Options</a>. <p> After the reader has developed some facility with the <font face="Gill Sans,Helvetica,Arial">ANUPQ</font> package, she should explore the examples described in Appendix <a href="CHAP00A.htm">Examples</a>. <p> If you run into trouble using the <font face="Gill Sans,Helvetica,Arial">ANUPQ</font> functions, some troubleshooting hints are given in Section <a href="CHAP003.htm#SECT006">Hints and Warnings regarding the use of Options</a>. If the troubleshooting hints don't help, Section <a href="CHAP001.htm#SECT001">Authors and Acknowledgements</a> below, gives contact details for the authors of the components of the <font face="Gill Sans,Helvetica,Arial">ANUPQ</font> package. <p> <p> <h2><a name="SECT001">1.1 Authors and Acknowledgements</a></h2> <p><p> The C implementation of the ANU <code>pq</code> standalone was developed by <p> <pre> Eamonn O'Brien Department of Mathematics University of Auckland Private Bag 92019 Auckland New Zealand </pre> <code>email:</code> <a href="mailto:obrien@math.auckland.ac.nz">obrien@math.auckland.ac.nz</a> <p> The <font face="Gill Sans,Helvetica,Arial">GAP</font> 4 version of this package was adapted from the <font face="Gill Sans,Helvetica,Arial">GAP</font> 3 version by <p> <pre> Werner Nickel AG 2, Fachbereich Mathematik, TU Darmstadt Schlossgartenstr. 7, 64289 Darmstadt, Germany </pre> <code>email:</code> <a href="mailto:nickel@mathematik.tu-darmstadt.de">nickel@mathematik.tu-darmstadt.de</a> <p> An interactive interface using iostreams was developed with the assistance of Werner Nickel by <p> <code>Greg Gamble</code> <br><code>Lehrstuhl D für Mathematik, RWTH Aachen</code> <br><code>Templergraben 64, 52062 Aachen, Germany</code> <p> <code>email:</code> <a href="mailto:gregg@math.rwth-aachen.de">gregg@math.rwth-aachen.de</a> <p> The authors would like to thank Joachim Neubüser for his careful proof-reading and advice, and for formulating Chapter <a href="CHAP002.htm">Mathematical Background and Terminology</a>. <p> 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 <font face="Gill Sans,Helvetica,Arial">GAP</font> 3 capabilities. <p> <a name = "I1"></a> If you find a bug, the last section of <font face="Gill Sans,Helvetica,Arial">ANUPQ</font>'s <code>README</code> 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). <p> <p> <h2><a name="SECT002">1.2 Change history</a></h2> <p><p> Below we list the main changes between versions of the <font face="Gill Sans,Helvetica,Arial">ANUPQ</font> package. <p> <dl compact> <p> <a name = "I2"></a> <dt><code>3.0</code><dd> Backward compatibility code for pre-4.4 versions of <font face="Gill Sans,Helvetica,Arial">GAP</font> removed. The <font face="Gill Sans,Helvetica,Arial">ANUPQ</font> package now requires at least <font face="Gill Sans,Helvetica,Arial">GAP</font> 4.4 and version 1.2 of the <font face="Gill Sans,Helvetica,Arial">AutPGrp</font> package, and the <font face="Gill Sans,Helvetica,Arial">AutPGrp</font> package is now essential. <p> <dt><dd> Deprecated commands replaced by <font face="Gill Sans,Helvetica,Arial">GAP</font> 4.4 commands, e.g. <code>PrimeOfPGroup</code> replaced by <code>PrimePGroup</code>, <code>ReadPkg</code> replaced by <code>ReadPackage</code>, including in the <code>pq</code> program code (so <code>pq</code> program is now version 1.8). <p> <dt><dd> Improved non-isomorphism test in <code>IsPqIsomorphicPGroup</code> using suggestion made by Marco Costantini (thanks Marco). <p> <dt><dd> Removed <code>pkgbanner</code> option that used to control how the <font face="Gill Sans,Helvetica,Arial">ANUPQ</font> package banner was displayed. <p> <dt><code>2.2</code><dd> Corrected a typo. in <code>PackageInfo.g</code>. <p> <dt><code>2.1</code><dd> Binomial coefficient algorithm in <code>pq</code> program (now version 1.7) modified to avoid overflow. <p> <dt><dd> A bug discovered by Tobias Roßmann was fixed. It was caused in the <font face="Gill Sans,Helvetica,Arial">ANUPQ</font> package's interface by not passing on the parameter <code>StepSize</code> to the <code>pq</code> program properly. This bug could result in computing the wrong number of descendants if a <code>StepSize</code> different from 1 was chosen. <p> <dt><dd> Changes suggested by Gary Zablackis were implemented in order to make the package run under Windows with cygwin: <p> <ul> <li> use <code>[grp]</code> as default filename instead of <code><grp></code>, <p> <li> add target to the makefile for compiling the <code>pq</code> program with cygwin, and <p> <li> run <code>PqQuitAll()</code> more often in test examples. This reduces the number of simultaneously running processes and avoids bumping into system limits. <p> </dl> <dt><code>2.0</code><dd> Changes to <code>pq</code> program (now version 1.6) and <font face="Gill Sans,Helvetica,Arial">GAP</font> 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 <font face="Gill Sans,Helvetica,Arial">GAP</font> 4.4, for which <p> <ul> <li> option <code>pkgbanner</code> for suppression of the package banner is deprecated (now does nothing); its function is now provided by an optional argument of the <code>LoadPackage</code>; see Section <a href="../../../doc/htm/ref/CHAP075.htm#SSEC002.1">LoadPackage</a> in the <font face="Gill Sans,Helvetica,Arial">GAP</font> Reference Manual); and <p> <li> the package banner is no longer <code>Info</code>-ed at <code>InfoANUPQ</code> level 1, and so cannot be suppressed by setting the <code>InfoANUPQ</code> level to 0. <p> </dl> <dt><dd> For <font face="Gill Sans,Helvetica,Arial">GAP</font> 4.3fix4, the previous behaviour for the display/suppression and <code>Info</code>-ing of the banner is unchanged, and <code>RequirePackage</code> must be used rather than the new command <code>LoadPackage</code>. <p> <dt><dd> <code>PqSupplementInnerAutomorphisms</code> now returns a record analogous to the <code>AutomorphismGroupPGroup</code> function of the <font face="Gill Sans,Helvetica,Arial">AutPGrp</font> package, and <code>AutomorphismGroupPGroup</code> rather than <code>PqSupplementInnerAutomorphisms</code> is now used to generate the required automorphism group data in descendant calculations. The corresponding <code>PqExample</code> example has similarly been modified. <p> <dt><code>1.5</code><dd> Fixed bug in the filtering of ones from input to <code>pq</code> program (thanks to Robert Morse again for the fix). Some preparatory changes made for <font face="Gill Sans,Helvetica,Arial">GAP</font> 4.4. <p> <dt><code>1.4</code><dd> Removed an unnecessary file and line from a file in the <code>src</code> directory. <p> <dt><code>1.3</code><dd> Efficiency improvements: in particular, the use of <code>IsSyllableWordsFamily</code> as first argument of some <code>FreeGroup</code> commands. <p> <dt><code>1.2</code><dd> Fixed some inefficiencies in transmission of relators to the <code>pq</code> program (thanks to Robert Morse for identifying the problem). Updated for bugfixes in fix4 of <font face="Gill Sans,Helvetica,Arial">GAP</font> 4.3, which required some usages of <code>Pcgs</code> to be replaced by <code>GeneralizedPcgs</code>. Requires at least <font face="Gill Sans,Helvetica,Arial">GAP</font> 4.3fix4 and an updated <font face="Gill Sans,Helvetica,Arial">AutPGrp</font> package that uses <code>SetGeneralizedPcgs</code> in lieu of <code>SetPcgs</code> in its definition of <code>ConvertHybridAutGroup</code>. <p> <dt><code>1.1</code><dd> First <font face="Gill Sans,Helvetica,Arial">GAP</font> 4 release. Requires at least <font face="Gill Sans,Helvetica,Arial">GAP</font> 4.2, but <font face="Gill Sans,Helvetica,Arial">GAP</font> 4.3 recommended. Supersedes the earlier <font face="Gill Sans,Helvetica,Arial">GAP</font> 3 version (1.0) in many ways; in particular, it provides an interactive interface using the IOStream technology introduced in <font face="Gill Sans,Helvetica,Arial">GAP</font> 4.2. <p> </dl> <p> <p> [<a href = "chapters.htm">Up</a>] [<a href ="CHAP002.htm">Next</a>] [<a href = "theindex.htm">Index</a>] <P> <address>ANUPQ manual<br>Januar 2006 </address></body></html>