GRAPE (GRaph Algorithms using PErmutation groups),
Version 2.31, L.H.Soicher@qmw.ac.uk, 21 January 1997. 

Note: all file paths in this document are relative to the main
directory for the GRAPE package.

To install GRAPE 2.31 (as a GAP 3.4 Share Library Package), follow the
instructions in the Sections on GRAPE in the Chapter on Share Libraries
in the GAP Manual. The main documentation on GRAPE is in the Chapter
"Grape" of the GAP manual.  If you install GRAPE, then please tell
L.H.Soicher@qmw.ac.uk.

If you use GRAPE to solve a problem, then also tell   
L.H.Soicher@qmw.ac.uk, and reference:
   L.H.Soicher, GRAPE: a system for computing with graphs and groups,
   in "Groups and Computation" (L. Finkelstein and W.M. Kantor, eds),
   DIMACS Series  in Discrete  Mathematics and  Theoretical Computer
   Science 11, pp. 287-291.

Changes in GRAPE 2.31 from GRAPE 2.2, other than the improvement of some 
functions:

   - The new  CompleteSubgraphsOfGivenSize,  which allows for searching in
   a vertex-weighted graph for cliques with a given vertex-weight sum.

   -The new function  PartialLinearSpaces,  which classifies partial linear
    spaces with given point graph and parameters  s,t.  

   - The new function VertexTransitiveDRGs, which determines the 
   distance-regular generalized orbital graphs for a given transitive 
   permutation group.

   - New functions  CayleyGraph  and  SwitchedGraph.

   - A one-vertex graph is now considered to be bipartite, 
   with bicomponents = [[],[1]] (to be consistent with considering a 
   zero-vertex graph to be bipartite, with bicomponents = [[],[]]). 

   - A bug fixed in the function UnderlyingGraph. That bug had
   the effect that if the returned graph had loops, then it 
   might have had its isSimple component erroneously set to true.

Changes in GRAPE 2.2 from GRAPE 2.1, other than the improvement of some 
functions:
   - function Components now called ConnectedComponents.
   - function Component now called ConnectedComponent, and only works 
     for simple graphs.
   - Default MAXN for nauty now 8192.

Changes from previous versions of GRAPE to GRAPE 2.1, other than new 
functions and new function parameters:
   - Nauty Version 1.7 is used in GRAPE 2.1. Note that canonical 
     labellings could be different from those produced by nauty 1.4, 
     which was used in versions of GRAPE prior to 2.1.
   - EnumColadj returns a collapsed adjacency matrix for the trivial orbital
     graph, in addition to the collapsed adjacency matrices for the other 
     orbital graphs.
   - MakeIntransitiveGroupGenerators called IntransitiveGroupGenerators.
   - VertexName returns a copy (of the vertex name).
     
The functionality (although not necessarily the speed) of the functions
Enum and EnumColadj are handled by the standard functions
OperationCosetsFpGroup in GAP, and OrbitalGraphIntersectionMatrices in
GRAPE. The functions Enum and EnumColadj are not well supported, and
make use of fortran and pascal programs.  However, if a user requires
the Enum or EnumColadj functions and you have fortran and pascal
compilers, then cd to directory src, and type

    compileothers

Then the Enum and EnumColadj commands will work for a single
architecture setup (for multiple architectures you will have to do
something analogous to that described in the GAP Manual for setting up
nauty under GRAPE).  Also, for using Enum, EnumColadj, and the related
standalones enum3 and enum3ca, the user must have an environment
variable  GRAPE_BIN  set to the value of the bin directory of the GRAPE
package. Also, s/he must be aware that the use of these functions or
standalones causes temporary files with names starting with GRAPE_ to
be created and deleted in the current directory, and so if s/he uses
these programs then two should not be run at the same time in the same
directory.

Please send comments on GRAPE, bug reports, etc. to
L.H.Soicher@qmw.ac.uk.

GRAPE is provided "as is", with no warranty whatsoever. Please read the
copyright notice in the file COPYING.

The development of GRAPE was partially supported by the European Union
HCM grant in "Computational Group Theory".
