Version 5.2. 22 January 1997 [Last change 27 March 2000 - new Linux Red Hat 6.1 compilers will not accept initializations like rfile=stdin, so corrected this.] This package contains directories bin, doc, gnu_mp, lib, lowindex, man, meataxe, nq, pq, src, testdata, tc5, msq. All executables go into bin, and so this directory should be added to your path. The principal documentation is with UNIX style manual entries, which are in the directory man, so this should be added to your MANPATH. To make everything, do the following: First edit the Makefile, where various variables need to be set. QUOTPICBASE should be set to the path of the directory isom.d. BINDIR should be set to the directory where you would like the binaries to be - by default this is isom.d/bin, but you may prefer them to go elsehwree, for example, if you want to keep binaries for various different architectures. The program quotpic needs to know where the binaries are, so it would be a mistake to move the binaries from BINDIR after compilation. XLIB and XINCLUDE should be set to the paths of the lib and include directories for the X library, whose locations vary from one machine to another. GNU_MPLIB and GNU_MPINCLUDE should be set to the paths of the lib and include directories for the gnu Berkeley compatible multiple precision arithmetic package. This is installed on many machines, but not on all, so it is included with this package. When this package is unpacked, it is installed in the subdirectory gnu_mp of isom.d. If it is already installed on your local machine, you can delete our copy, but will need to set the paths correctly. Finally, UNIXDIR needs to be set to the directory of the directory containing the binary for the standard UNIX commands such as "rm", "cp", which are used via system commands by some programs (It is important that the programs know where the standard versions of the commands are, since they may encounter problems if users have developed their own, extra cautious versions of, say, rm, which ask for confirmation before removing files). Now type make from isom.d to make everything. WARNING: If you later recompile any of the programs individually using the makefile in the appropriate subdirectory quotpic, in particular), then you must first ensure that the variables of the isom.d Makefile are correctly set. Warning messages may appear during compilation (in particular when compiling the meataxe and gnu_mp material). These can be ignored, but reports of failure to compile cannot. See below for problems that we have encountered compiling on various architectures, and changes that may be needed. The two principal programs are testisom and quotpic. testisom takes as input two finitely presented groups and attempts to decide whether they are isomorphic or not. It alternately attempts to construct an explicit isomorphism, and (if this fails) to prove nonisomorphism by finding distinct finite quotients of the two groups. Before starting, the user must create two files containing the presentations of the two groups. These should be in our standard format. (Look at some of the files in the data or testdata directory for this.) testisom is then run by calling testisom gp1 gp2, where gp1 and gp2 are the names of the files. (For options for testisom, see the manual entry.) There is a test package for testisom called testtestisom. This should be run from the directory isom.d/testdata. Most of the runs in this package are quite quick, but a few are longer, so the test packages should preferably be run overnight. quotpic is an X-Windows program for plotting the finite quotients of a finitely presented group. Information on this is in the file QUOTPICINFO. There is also a file called FORMATINFO, which provides some information on file formats. The programs were written by Derek Holt and Sarah Rees. Please report any bugs, difficulties or suggestions to Derek Holt (dfh@maths.warwick.ac.uk) or Sarah Rees (sarah.rees@uk.ac.ncl). It would be helpful if quotpic bug reports could be accompanied by the input file (the one containing the presentation) and the log file "group".quotpic.log generated by the program, which is not deleted when the program exits. Compilation difficulties. ------------------------ The programs with source files in the src directory were written by us, and compile successfully on all machine architectures that we have tried, including Sun4, SGI, Solaris, and FreeBSD. The other programs were written by people other than ourselves, and so we cannot give so much definitive guidance on compiling them. The distribution version was designed for Sun4 BSD, and everything should compile successfully there. lowindex subgroup program (Martin Schoenert) in directory lowindex: No problems encountered compiling this. meataxe programs (Michael Ringe) in directory meataxe: The only problem we have had with this is that the format of the makefile is not recognised by all (especially older) versions of make. anupq package (Eamonn O'Brien) in directory pq: You may need to remove the compilation flag -DSPARC in the definition of CFLAGS on line 55 of the file src/Makefile nq package (Werner Nickel) in directory nq (which uses gnu_mp package in directory gnu_mp): No problems encountered with this. Todd-Coxeter program (George Havas) in diretcory tc5: On the SGI (and also FreeBSD) *malloc() and *realloc() are defined externally, as void *, but they are defined as char * in the code. To cure this, comment out line 1 of tcparse.c, and on line 65, remove declaration of *malloc() - do same on line 312 of tcparse.y. Also comment out line 11 of print_ct.c (including tc_void.h) On FreeBSD, do all of above and comment out whole of file tcstdlib.h (or remove statements that include it elsewhere). Also change all statements exit() to exit(0) in file tcparse.c.