[Nauty] Version 2.7 will soon be the official version, with your help
Brendan.McKay at anu.edu.au
Wed Sep 26 12:25:25 AEST 2018
We are working towards making nauty 2.7
(incorporating traces 2.2) the official release.
Accordingly, release candidate nauty27rc1 is available at
We would like to encourage you to try this version and report any
problems you encounter (even minor problems).
A list of the main changes is below.
Brendan McKay and Adolfo Piperno
* -h and -k options for independent set size and clique size were added
to countg and pickg. For some graphs these use the program cliquer,
kindly provided by Sampo Nisjkanen and Patric Ostergard.
* Macros SWHIBIT, REMOVEHIBIT and ATMOSTONEBIT added to nauty.h.
* Added option -a to complg.
* Program copyg can now be used to make a simple filter. See the
instructions inside the source file and the example numleaves.c.
* Programs countg and pickg can now display some parameter values
as ranges instead of writing a separate line for each value. For
example, countg --ne:T will write a separate line for each number
of vertices and edges, with that line showing the range of the
number of triangles. Everything after the ':' is shown as a range.
There is also a switch -1 that causes output to be in a simple
numerical table easy to read from a program and a similar switch
-2 that omits counts.
* Program vcolg now handles digraphs and graphs with loops.
* genrang can now make random spanning trees of K(n1,n2)
* amtog has an "s" command for reading tournaments
* The configure script (compiled from configure.ac) was modified to
update some tests and remove some old code that is useless. The
time-critical parts of nauty are now compiled with
if the compiler allows those switches. Since this may result in
a binary which does not run on older machines in the same family,
there is a configuration option --enable-generic to disable
these switches. To work around a bug with -march-native for
gcc version 7 on MacOSX computers (due to the linker not knowing
some of the instructions), the extra switch -mno-avx is also added
if it appears necessary.
* genspecialg can now make multiple special graphs at once.
The -b option has been extended to allow removing a matching from
a complete bipartite graph.
* watercluster2 has an option Z to write in digraph6 format.
* Problems for input of graphs with 0 vertices were fixed with help
from Kevin Ryde. However, note that many utilities in the package
will not work with such graphs. It is NOT TRUE that graphs of
order 0 are now supported. However, the primary function nauty()
(but not traces()) should work for both dense and sparse versions.
* Stronger measures are taken to ensure that the sort order used by
shortg is plain byte order. This corresponds to the C collation
order, also known as POSIX, but it may be different from the
collation order used by default on your command line. This means
that utilities like sort, uniq, comm and join might consider the
output of shortg to be out of order. To avoid this, define the
environment variable LC_ALL to equal the string "C".
bash: export LC_ALL=C
tcsh: setenv LC_ALL C
If LC_ALL is undefined, it will also be sufficient to define
LC_COLLATE to equal "C". The POSIX standard says that LC_ALL
takes precedence over LC_COLLATE if both are defined, but this
might not be true for older systems. If you really don't want
to change environment variables, you can compile shortg with
-DKEEP_SORT_LOCALE but beware that some collation orders are
are not even deterministic (i.e. different characters might
* The bipartite graph generator genbg now has a -Y switch to
specify the minimum number of common neighbours for two
vertices on the second side.
* A new version of Traces (including some bug fixes) is included.
See traces.c for more.
* New utilities: underlyingg takes the undirected graph underlying
a graph or digraph. assembleg combines a file of graphs (usually
connected graphs) as components to make disconnected graphs
of a specified size.
* geng has been modified to allow more than 32 vertices. The
makefile knows "geng" for up to 32 vertices, and "gengL" for
up to 64 vertices.
* pickg and countg now have -X to reverse the selection.
A change was made to allow these utilities to work on Windows
computers with sizeof(long) < sizeof(void*). Also, pickg
now writes a header if there is one in the input file.
* listg has -L that can be used in conjunction with -W or -M to
write the Laplacian matrix instead of the adjacency matrix.
* Fixed a possible bug in the combination "shortg -kt".
* You can change the archive manager (default "ar") by defining
the environment variable AR at configure time.
More information about the Nauty