Skip to content

Commit

Permalink
Final changes for Version 4.9.1
Browse files Browse the repository at this point in the history
  • Loading branch information
lhsoicher committed Aug 30, 2024
1 parent 6b40896 commit 0f33b3d
Show file tree
Hide file tree
Showing 8 changed files with 53 additions and 40 deletions.
11 changes: 11 additions & 0 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,14 @@
Main changes from GRAPE 4.9.0 to GRAPE 4.9.1 (30 August 2024)
-------------------------------------------------------------

1. Made an improvement to the proper vertex-colouring search process.

2. Added documentation and test for Steve Linton's function
``SmallestImageSet``.

3. Added further (small) improvements to the documentation, including
three new references.

Main changes from GRAPE 4.8.5 to GRAPE 4.9.0 (09 December 2022)
---------------------------------------------------------------

Expand Down
6 changes: 2 additions & 4 deletions PackageInfo.g
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ PackageName := "GRAPE",

## See '?Extending: Version Numbers' in GAP help for an explanation
## of valid version numbers.
Version := "4.9.0",
Version := "4.9.1",

## Release date of the current version in dd/mm/yyyy format.
Date := "09/12/2022",
Date := "30/08/2024",

## Machine readable license information (as an SPDX identifier)
License := "Apache-2.0 AND GPL-2.0-or-later",
Expand All @@ -32,8 +32,6 @@ ArchiveURL := Concatenation( ~.SourceRepository.URL,

ArchiveFormats := ".tar.gz",

BinaryFiles := ["doc/manual.dvi","doc/manual.pdf","nauty2_8_6/nug28.pdf"],

Persons := [
rec(
LastName := "Soicher",
Expand Down
31 changes: 22 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@

The GRAPE 4.9.0 Package for GAP
The GRAPE 4.9.1 Package for GAP
===============================

GRAPE is a GAP package for computing with graphs and groups, by
Expand All @@ -8,7 +8,7 @@ Hulpke, Jerry James and Max Horn, and including Brendan McKay's nauty
(Version 2.8.6) package.

The GRAPE package and the source included with this distribution are
copyright (C) Leonard Soicher 1992-2022, except for the following:
copyright (C) Leonard Soicher 1992-2024, except for the following:

- the nauty 2.8.6 package; see the copyright notice in the file
nauty2_8_6/COPYRIGHT
Expand All @@ -26,7 +26,7 @@ Referencing GRAPE
Please reference your use of the GRAPE package in a published work
as follows:

L.H. Soicher, The GRAPE package for GAP, Version 4.9.0, 2022,
L.H. Soicher, The GRAPE package for GAP, Version 4.9.1, 2024,
<https://gap-packages.github.io/grape>.

Questions, remarks, suggestions, and issues
Expand All @@ -45,11 +45,24 @@ for Windows users of GAP. What follows is for Unix users of GRAPE.
You do not need to download and unpack an archive for GRAPE
unless you want to install the package separately from your main
GAP installation or are installing an upgrade of GRAPE to an
existing installation of GAP. If you do need to download
GRAPE, you can find the latest archive .tar.gz file for the
package at <https://gap-packages.github.io/grape>.
existing installation of GAP.

Installation and testing instructions for the GRAPE package
can be found in Chapter 1 of the GRAPE manual, available from
<https://gap-packages.github.io/grape>.
If you do need to download GRAPE, you can find the latest archive
.tar.gz file for the package at <https://gap-packages.github.io/grape>.
The archive file should be downloaded and unpacked in the `pkg`
subdirectory of an appropriate GAP root directory.

If your GRAPE installation does not already have a compiled binary of
the nauty/dreadnaut programs included with GRAPE and you do not want
to use an already installed version of nauty or bliss, you will need to
perform compilation of the nauty/dreadnaut programs included with GRAPE,
and to do this in a Unix environment, you should proceed as follows. After
installing GAP, go to the GRAPE home directory (usually the directory
`pkg/grape` of the GAP home directory), and run `./configure <path>`,
where `path` is the path of the GAP home directory. So for example, if
you install GRAPE in the `pkg` directory of the GAP home directory, run
`./configure ../..` Then run `make` to complete the installation of GRAPE.

Testing instructions for the GRAPE package can be found in Chapter 1 of
the GRAPE manual, available from <https://gap-packages.github.io/grape>.

4 changes: 2 additions & 2 deletions doc/cnauty.tex
Original file line number Diff line number Diff line change
Expand Up @@ -103,7 +103,7 @@
The optional boolean parameter <firstunbindcanon> determines whether or
not the `canonicalLabelling' components of both <gamma1> and <gamma2>
are first unbound before proceeding. If <firstunbindcanon> is `true'
(the default, safe and possibly slower option) then these components
(the default, safe and possibly much slower option) then these components
are first unbound. If <firstunbindcanon> is `false', then any existing
`canonicalLabelling' components are used. However, since canonical
labellings can depend on whether {\nauty} or {\bliss} is used, the version
Expand Down Expand Up @@ -167,7 +167,7 @@
The optional boolean parameter <firstunbindcanon> determines whether or
not the `canonicalLabelling' components of both <gamma1> and <gamma2>
are first unbound before proceeding. If <firstunbindcanon> is `true'
(the default, safe and possibly slower option) then these components
(the default, safe and possibly much slower option) then these components
are first unbound. If <firstunbindcanon> is `false', then any existing
`canonicalLabelling' components are used. However, since canonical
labellings can depend on whether {\nauty} or {\bliss} is used, the version
Expand Down
20 changes: 5 additions & 15 deletions doc/grape.tex
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@

\Chapter{Grape}

This manual describes the {\GRAPE} (Version~4.9.0) package for computing
This manual describes the {\GRAPE} (Version~4.9.1) package for computing
with graphs and groups.

{\GRAPE} is primarily designed for the construction and analysis of
Expand Down Expand Up @@ -48,7 +48,7 @@
If you use {\GRAPE} in a published work, then please reference the
package as follows:

L.H. Soicher, The {GRAPE} package for {GAP}, Version~4.9.0, 2022,
L.H. Soicher, The {GRAPE} package for {GAP}, Version~4.9.1, 2024,
\URL{https://gap-packages.github.io/grape}.

For questions, remarks, suggestions, and issues, please use the issue
Expand Down Expand Up @@ -76,7 +76,7 @@
subdirectory of an appropriate {\GAP} root directory (see the main {\GAP}
reference section "ref:GAP Root Directories").

If your {\GRAPE} installation does not include a pre-compiled binary of
If your {\GRAPE} installation does not include a compiled binary of
the nauty/dreadnaut programs included with {\GRAPE} and you do not want
to use an already installed version of {\nauty} or {\bliss}, you will
need to perform compilation of the nauty/dreadnaut programs included with
Expand All @@ -89,21 +89,11 @@
\begintt
./configure ../..
\endtt
This will fetch the name of the architecture for which {\GAP}
has been most recently configured, and create a `Makefile'. Now run
Then run
\begintt
make
\endtt
to create the nauty/dreadnaut binary and to put
it in the appropriate place. This configuration/make process for
{\GRAPE} only works for the *last* architecture for which {\GAP} was
configured. Therefore, you should always follow the above procedure to
install the nauty/dreadnaut binary immediately after compiling {\GAP}
for a given configuration, say for a different architecture on a common
file system. However, if you want to add {\GRAPE} later, you can just run
`./configure' again in the {\GAP} home directory for the architecture,
before performing the {\GRAPE} configure/make process to install the
nauty/dreadnaut binary for that architecture.
to complete the installation of {\GRAPE}.

To use {\GRAPE} with a separately installed version of {\nauty} or
{\bliss} you should proceed as follows. Please note that the {\nauty}
Expand Down
5 changes: 3 additions & 2 deletions doc/smallestim.tex
Original file line number Diff line number Diff line change
Expand Up @@ -33,8 +33,9 @@
distinct <G>-orbits of the elements of <C>, we can do this as
`Set(<C>,c->SmallestImageSet(<G>,c))'.

If the setwise stabiliser in <G> of <S> is known, then this should be
given as the optional third parameter.
If the setwise stabilizer in <G> of <S> is known, then this should be
given as the optional third parameter, to avoid the recomputation of
this stabilizer.

\beginexample
gap> J:=JohnsonGraph(12,5);;
Expand Down
10 changes: 5 additions & 5 deletions lib/grape.g
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
##############################################################################
##
## grape.g (Version 4.9.0) GRAPE Library Leonard Soicher
## grape.g (Version 4.9.1) GRAPE Library Leonard Soicher
##
## Copyright (C) 1992-2022 Leonard Soicher, School of Mathematical Sciences,
## Copyright (C) 1992-2024 Leonard Soicher, School of Mathematical Sciences,
## Queen Mary University of London, London E1 4NS, U.K.
##
# This version includes code by Jerry James (debugged by LS)
Expand Down Expand Up @@ -4157,9 +4157,9 @@ elif k=1 then
fi;
fi;
if not IsInt(start) then
translation:=Difference(Vertices(olddelta),start);
# translation[i] is the vertex in olddelta corresponding to
# the i-th vertex in delta.
translation:=Difference(Vertices(olddelta),start);
# translation[i] is the vertex in olddelta corresponding to
# the i-th vertex in delta.
fi;
s:=m;
while s*k>=delta.order do
Expand Down
6 changes: 3 additions & 3 deletions lib/smallestimage.g
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ BindGlobal("SmallestImageSet",function(arg)
#
# If the setwise stabilizer in g of set is known, then this
# group can be given as arg[3] to avoid the recomputation of
# this stabilizer, but this parameter is not completely checked.
# this stabilizer.
#
# The algorithm is iterative. At level i it
# computes the lex-least i-set which can be an image
Expand Down Expand Up @@ -98,9 +98,9 @@ BindGlobal("SmallestImageSet",function(arg)
elif not IsPermGroup(k) then
Error("<arg[3]> must be a permutation group");
elif not IsSubgroup(g,k) then
Error("<arg[3]> is not a subgroup of <G>");
Error("<arg[3]> is not a subgroup of <g>");
elif not ForAll(GeneratorsOfGroup(k),x->OnSets(set,x)=set) then
Error("<arg[3]> is not contained in the <G>-stabilizer of <set>");
Error("<arg[3]> is not contained in the <g>-stabilizer of <set>");
fi;
else
k := Stabilizer(g,set,OnSets);
Expand Down

0 comments on commit 0f33b3d

Please sign in to comment.