[Nauty] Behaviour of DEGPRUNE in directg
Tomas Peitl
peitl at ac.tuwien.ac.at
Wed May 13 18:55:57 AEST 2020
Hello everyone,
I'm new here, so hopefully this is the right place and way to ask the
question that I have. Sorry for the spam if it isn't.
*Background*
I'm generating directed bipartite graphs (I always consider only
digraphs without cycles of length 2, i.e. digraph -o) as a
representation of propositional formulas. In my representation, every
digraph isomorphism corresponds to an isomorphism of propositional
formulas, but in general there are formula isomorphisms that don't
translate to any digraph isomorphism. I'm trying to break these
additional symmetries by requiring that a fixed vertex (in the second
partition) of the digraph has outdegree 0. I know that for every
formula, there's an isomorph that satisfies this condition.
*The problem
*So, what I'm doing is I have a DEGPRUNE procedure* that checks that ifv
== n-1, thenoutdeg[v] == 0, i.e. the last vertex must have outdegree 0.
My assumption was that for every digraph isomorphism class, if there is
at least one element that satisfies this, it will be generated. However,
that doesn't seem to be the case. If I generate the undirected complete
bipartite graph K_{2,4} with
./genbg -d4:2 2 4
and pipe it into directg -o linked with my DEGPRUNE, it returns no
digraphs. Though, clearly, there is a directed graph whose underlying
undirected graph is K_{2,4}, and whose last vertex has outdegree 0.
However, when instead of checking outdeg[n-1] == 0 I check outdeg[2] ==
0, I do get some digraphs.
To be completely precise, my DEGPRUNE also requires that both the in-
and outdegree of every vertex from the first partition is at least 2 (in
this case vertices 0 and 1), but the point still remains. When requiring
outdeg[5] == 0, empty output, when requiring outdeg[2] == 0, there is
something, as I think there should be.
*Question
*My question is therefore the following. For a given undirected graph G
and a DEGPRUNE function d, letD(G, d) be the set of digraphs whose
underlying undirected graph is G, and which satisfy d for every vertex.
Is it intended that running directg -o with DEGPRUNE d generates one
representative for every digraph isomorphism class in D(G, d)? If it is,
then it seems there's a bug.
For the sake of reproducibilty, I attach my DEGPRUNE, along with my
modified version of directg.c, which has an additional -b switch that
passes the first vertex of the second partition. To reproduce the case
above, run
./genbg -d4:2 2 4 | ./directg -o -b2
Any help will be greatly appreciated.
Finally, I also have another somewhat related question/feature request.
Is it possible to prune the output of directg with more than just the
information about degrees? I'd for instance like to be able to fix the
directions of certain edges and only direct the rest. Something like
PRUNE in geng, which has access to the entire intermediate graph would
be very nice.
Many thanks and best wishes,
Tomas Peitl
*I'm using nauty27rc3 on Ubuntu 18.04 with Linux 4.15.0-91.
**
-------------- next part --------------
A non-text attachment was scrubbed...
Name: directg.c
Type: text/x-csrc
Size: 19302 bytes
Desc: not available
URL: <http://mailman.anu.edu.au/pipermail/nauty/attachments/20200513/4396d42e/attachment-0002.bin>
-------------- next part --------------
# makefile for nauty 2.7
# makefile. Generated from makefile.in by configure.
SHELL=/bin/sh
CC=gcc
CFLAGS= -O4 -mpopcnt -march=native
SAFECFLAGS= -O4
LDFLAGS=
THREADLIB=
LOK=1 # 0 if no 64-bit integers
TESTPROGS=dreadtest dreadtestS dreadtestS1 dreadtest4K dreadtest1 dreadtestW dreadtestW1 dreadtestL1 dreadtestL
EXEEXT=
AR?=ar
SMALL=-DMAXN=WORDSIZE
S1=-DMAXN=WORDSIZE -DWORDSIZE=16
W1=-DMAXN=WORDSIZE -DWORDSIZE=32
L1=-DMAXN=WORDSIZE -DWORDSIZE=64
S=-DWORDSIZE=16
W=-DWORDSIZE=32
L=-DWORDSIZE=64
CCOBJ=${CC} -c ${CFLAGS} -o $@
GTOOLSH=gtools.h nauty.h naututil.h nausparse.h naurng.h
# ++++++ This file is automatically generated, don't edit it by hand! ++++++
all : nauty gtools ;
nauty : dreadnaut nauty.a nauty1.a nautyW.a nautyW1.a nautyL.a nautyL1.a;
gtools : copyg listg labelg dretog amtog geng complg showg NRswitchg \
biplabg addedgeg deledgeg countg pickg genrang newedgeg catg genbg \
directg gentreeg genquarticg underlyingg assembleg gengL \
ranlabg multig planarg gentourng linegraphg watercluster2 dretodot \
subdivideg vcolg delptg cubhamg twohamg hamheuristic converseg \
genspecialg edgetransg genbgL shortg ;
NAUTYO=nauty.o nautil.o nausparse.o naugraph.o schreier.o naurng.o
NAUTY1O=nauty1.o nautil1.o nausparse.o naugraph1.o schreier.o naurng.o
NAUTYSO=nautyS.o nautilS.o nausparseS.o naugraphS.o schreierS.o naurng.o
NAUTYS1O=nautyS1.o nautilS1.o nausparseS.o naugraphS1.o schreierS.o naurng.o
NAUTYWO=nautyW.o nautilW.o nausparseW.o naugraphW.o schreierW.o naurng.o
NAUTYW1O=nautyW1.o nautilW1.o nausparseW.o naugraphW1.o schreierW.o naurng.o
NAUTYLO=nautyL.o nautilL.o nausparseL.o naugraphL.o schreierL.o naurng.o
NAUTYL1O=nautyL1.o nautilL1.o nausparseL.o naugraphL1.o schreierL.o naurng.o
nauty.o: nauty.h schreier.h nauty.c
${CCOBJ} nauty.c
nauty1.o: nauty.h schreier.h nauty.c
${CCOBJ} ${SMALL} nauty.c
nautyS.o: nauty.h schreier.h nauty.c
${CCOBJ} ${S} nauty.c
nautyS1.o: nauty.h schreier.h nauty.c
${CCOBJ} ${S1} nauty.c
nautyW.o: nauty.h schreier.h nauty.c
${CCOBJ} ${W} nauty.c
nautyW1.o: nauty.h schreier.h nauty.c
${CCOBJ} ${W1} nauty.c
nautyL.o: nauty.h schreier.h nauty.c
${CCOBJ} ${L} nauty.c
nautyL1.o: nauty.h schreier.h nauty.c
${CCOBJ} ${L1} nauty.c
nautil.o: nauty.h nautil.c sorttemplates.c
${CCOBJ} nautil.c
nautil1.o: nauty.h nautil.c sorttemplates.c
${CCOBJ} ${SMALL} nautil.c
nautilS.o: nauty.h nautil.c sorttemplates.c
${CCOBJ} ${S} nautil.c
nautilS1.o: nauty.h nautil.c sorttemplates.c
${CCOBJ} ${S1} nautil.c
nautilW.o: nauty.h nautil.c sorttemplates.c
${CCOBJ} ${W} nautil.c
nautilW1.o: nauty.h nautil.c sorttemplates.c
${CCOBJ} ${W1} nautil.c
nautilL.o: nauty.h nautil.c sorttemplates.c
${CCOBJ} ${L} nautil.c
nautilL1.o: nauty.h nautil.c sorttemplates.c
${CCOBJ} ${L1} nautil.c
naugraph.o: nauty.h naugraph.c
${CCOBJ} naugraph.c
naugraph1.o: nauty.h naugraph.c
${CCOBJ} ${SMALL} naugraph.c
naugraphS.o: nauty.h naugraph.c
${CCOBJ} ${S} naugraph.c
naugraphS1.o: nauty.h naugraph.c
${CCOBJ} ${S1} naugraph.c
naugraphW.o: nauty.h naugraph.c
${CCOBJ} ${W} naugraph.c
naugraphW1.o: nauty.h naugraph.c
${CCOBJ} ${W1} naugraph.c
naugraphL.o: nauty.h naugraph.c
${CCOBJ} ${L} naugraph.c
naugraphL1.o: nauty.h naugraph.c
${CCOBJ} ${L1} naugraph.c
naututil.o: nauty.h naututil.h nausparse.h naututil.c
${CCOBJ} naututil.c
naututil1.o: nauty.h naututil.h nausparse.h naututil.c
${CCOBJ} ${SMALL} naututil.c
naututilS.o: nauty.h naututil.h nausparse.h naututil.c
${CCOBJ} ${S} naututil.c
naututilS1.o: nauty.h naututil.h nausparse.h naututil.c
${CCOBJ} ${S1} naututil.c
naututilW.o: nauty.h naututil.h nausparse.h naututil.c
${CCOBJ} ${W} naututil.c
naututilW1.o: nauty.h naututil.h nausparse.h naututil.c
${CCOBJ} ${W1} naututil.c
naututilL.o: nauty.h naututil.h nausparse.h naututil.c
${CCOBJ} ${L} naututil.c
naututilL1.o: nauty.h naututil.h nausparse.h naututil.c
${CCOBJ} ${L1} naututil.c
nautinv.o: nauty.h naututil.h nautinv.c
${CCOBJ} nautinv.c
nautinv1.o: nauty.h naututil.h nautinv.c
${CCOBJ} ${SMALL} nautinv.c
nautinvS.o: nauty.h naututil.h nautinv.c
${CCOBJ} ${S} nautinv.c
nautinvS1.o: nauty.h naututil.h nautinv.c
${CCOBJ} ${S1} nautinv.c
nautinvW.o: nauty.h naututil.h nautinv.c
${CCOBJ} ${W} nautinv.c
nautinvW1.o: nauty.h naututil.h nautinv.c
${CCOBJ} ${W1} nautinv.c
nautinvL.o: nauty.h naututil.h nautinv.c
${CCOBJ} ${L} nautinv.c
nautinvL1.o: nauty.h naututil.h nautinv.c
${CCOBJ} ${L1} nautinv.c
schreier.o : nauty.h naurng.h schreier.h schreier.c
${CCOBJ} schreier.c
schreierS.o : nauty.h naurng.h schreier.h schreier.c
${CCOBJ} ${S} schreier.c
schreierW.o : nauty.h naurng.h schreier.h schreier.c
${CCOBJ} ${W} schreier.c
schreierL.o : nauty.h naurng.h schreier.h schreier.c
${CCOBJ} ${L} schreier.c
nausparse.o : nauty.h nausparse.h nausparse.c sorttemplates.c
${CCOBJ} nausparse.c
nausparseS.o: nauty.h nausparse.h nausparse.c sorttemplates.c
${CCOBJ} ${S} nausparse.c
nausparseW.o: nauty.h nausparse.h nausparse.c sorttemplates.c
${CCOBJ} ${W} nausparse.c
nausparseL.o: nauty.h nausparse.h nausparse.c sorttemplates.c
${CCOBJ} ${L} nausparse.c
traces.o : nauty.h naurng.h schreier.h traces.h nausparse.h traces.c
${CCOBJ} traces.c
tracesS.o : nauty.h naurng.h schreier.h traces.h nausparse.h traces.c
${CCOBJ} ${S} traces.c
tracesW.o : nauty.h naurng.h schreier.h traces.h nausparse.h traces.c
${CCOBJ} ${W} traces.c
tracesL.o : nauty.h naurng.h schreier.h traces.h nausparse.h traces.c
${CCOBJ} ${L} traces.c
gtools.o : ${GTOOLSH} gtools.c
${CCOBJ} gtools.c
gtoolsS.o : ${GTOOLSH} gtools.c
${CCOBJ} ${S} gtools.c
gtoolsW.o : ${GTOOLSH} gtools.c
${CCOBJ} ${W} gtools.c
gtoolsL.o : ${GTOOLSH} gtools.c
${CCOBJ} ${L} gtools.c
nautaux.o: nautaux.h nauty.h naututil.h nautaux.c
${CCOBJ} nautaux.c
nautauxS.o: nautaux.h nauty.h naututil.h nautaux.c
${CCOBJ} ${S} nautaux.c
nautauxW.o: nautaux.h nauty.h naututil.h nautaux.c
${CCOBJ} ${W} nautaux.c
nautauxL.o: nautaux.h nauty.h naututil.h nautaux.c
${CCOBJ} ${L} nautaux.c
gtnauty.o : ${GTOOLSH} gtnauty.c sorttemplates.c
${CCOBJ} gtnauty.c
gtnautyL1.o : ${GTOOLSH} gtnauty.c sorttemplates.c
${CCOBJ} ${L1} gtnauty.c
gtnautyW1.o : ${GTOOLSH} gtnauty.c sorttemplates.c
${CCOBJ} ${W1} gtnauty.c
gtnautyL.o : ${GTOOLSH} gtnauty.c sorttemplates.c
${CCOBJ} ${L} gtnauty.c
gtnautyW.o : ${GTOOLSH} gtnauty.c sorttemplates.c
${CCOBJ} ${W} gtnauty.c
naurng.o: naurng.c nauty.h
${CCOBJ} naurng.c
rng.o: rng.c nauty.h
${CCOBJ} rng.c
dreadnaut: dreadnaut.c naututil.o nautinv.o traces.o gtools.o ${NAUTYO}
${CC} -o dreadnaut ${SAFECFLAGS} dreadnaut.c naututil.o \
nautinv.o gtools.o traces.o ${NAUTYO} ${LDFLAGS}
dreadnautL: dreadnaut.c naututilL.o nautyL.o nautilL.o nautinvL.o \
nausparseL.o naugraphL.o naurng.o schreierL.o tracesL.o gtoolsL.o
${CC} -o dreadnautL ${SAFECFLAGS} ${L} dreadnaut.c naututilL.o \
nautyL.o nautilL.o nautinvL.o naugraphL.o naurng.o gtoolsL.o \
nausparseL.o schreierL.o tracesL.o ${LDFLAGS}
dreadnaut1: dreadnaut.c naututil1.o nauty1.o nautil1.o nautinv1.o \
nausparse.o naugraph1.o naurng.o schreier.o traces.o gtools.o
${CC} -o dreadnaut1 ${SAFECFLAGS} ${SMALL} dreadnaut.c naututil1.o \
nauty1.o nautil1.o nautinv1.o naugraph1.o naurng.o gtools.o \
nausparse.o schreier.o traces.o ${LDFLAGS}
nauty.a: ${NAUTYO} traces.o gtools.o naututil.o nautinv.o \
gutil1.o gutil2.o gtnauty.o naugroup.o nautycliquer.o
rm -f nauty.a
${AR} crs nauty.a ${NAUTYO} traces.o gtools.o naututil.o \
nautinv.o gutil1.o gutil2.o gtnauty.o naugroup.o \
naurng.o schreier.o nautycliquer.o
nauty1.a: ${NAUTY1O} traces.o gtools.o naututil1.o nautinv1.o \
gutil1.o gutil2.o gtnauty.o naugroup.o nautycliquer.o
rm -f nauty1.a
${AR} crs nauty1.a ${NAUTY1O} traces.o gtools.o naututil1.o \
nautinv1.o gutil1.o gutil2.o gtnauty.o naugroup.o nautycliquer.o
nautyW.a: ${NAUTYWO} traces.o gtoolsW.o naututilW.o nautinvW.o \
gutil1W.o gutil2W.o gtnautyW.o naugroupW.o nautycliquerW.o
rm -f nautyW.a
${AR} crs nautyW.a ${NAUTYWO} traces.o gtoolsW.o naututilW.o \
nautinvW.o gutil1W.o gutil2W.o gtnautyW.o naugroupW.o nautycliquerW.o
nautyW1.a: ${NAUTYW1O} traces.o gtoolsW.o naututilW1.o nautinvW1.o \
gutil1W1.o gutil2W1.o gtnautyW1.o naugroupW.o nautycliquerW.o
rm -f nautyW1.a
${AR} crs nautyW1.a ${NAUTYW1O} traces.o gtoolsW.o naututilW1.o \
nautinvW1.o gutil1W1.o gutil2W1.o gtnautyW1.o naugroupW.o nautycliquerW.o
nautyL.a: ${NAUTYLO} traces.o gtoolsL.o naututilL.o nautinvL.o \
gutil1L.o gutil2L.o gtnautyL.o naugroupL.o nautycliquerL.o
rm -f nautyL.a
${AR} crs nautyL.a ${NAUTYLO} traces.o gtoolsL.o naututilL.o \
nautinvL.o gutil1L.o gutil2L.o gtnautyL.o naugroupL.o nautycliquerL.o
nautyL1.a: ${NAUTYL1O} traces.o gtoolsL.o naututilL1.o nautinvL1.o \
gutil1L1.o gutil2L1.o gtnautyL1.o naugroupL.o nautycliquerL.o
rm -f nautyL1.a
${AR} crs nautyL1.a ${NAUTYL1O} traces.o gtoolsL.o naututilL1.o \
nautinvL1.o gutil1L1.o gutil2L1.o gtnautyL1.o naugroupL.o nautycliquerL.o
clean:
rm -f *.o config.log config.cache config.status nauty*.a
rm -f dreadtest${EXEEXT} dreadtestL${EXEEXT} \
dreadtestW${EXEEXT} \
dreadtestS${EXEEXT} dreadtestS1${EXEEXT} \
dreadtest4K${EXEEXT} dreadtest1${EXEEXT} \
dreadtestL1${EXEEXT} dreadtestW1${EXEEXT}
gutil1.o : ${GTOOLSH} gutils.h gutil1.c
${CCOBJ} gutil1.c
gutil2.o : ${GTOOLSH} gutils.h gutil2.c
${CCOBJ} gutil2.c
gutil1W1.o : ${GTOOLSH} gutils.h gutil1.c
${CCOBJ} ${W1} gutil1.c
gutil2W1.o : ${GTOOLSH} gutils.h gutil2.c
${CCOBJ} ${W1} gutil2.c
gutil1L1.o : ${GTOOLSH} gutils.h gutil1.c
${CCOBJ} ${L1} gutil1.c
gutil2L1.o : ${GTOOLSH} gutils.h gutil2.c
${CCOBJ} ${L1} gutil2.c
gutil1W.o : ${GTOOLSH} gutils.h gutil1.c
${CCOBJ} ${W} gutil1.c
gutil2W.o : ${GTOOLSH} gutils.h gutil2.c
${CCOBJ} ${W} gutil2.c
gutil1L.o : ${GTOOLSH} gutils.h gutil1.c
${CCOBJ} ${L} gutil1.c
gutil2L.o : ${GTOOLSH} gutils.h gutil2.c
${CCOBJ} ${L} gutil2.c
catg : ${GTOOLSH} catg.c gtools.o
${CC} -o catg ${CFLAGS} catg.c gtools.o ${LDFLAGS}
copyg : ${GTOOLSH} copyg.c gtools.o
${CC} -o copyg ${CFLAGS} copyg.c gtools.o ${LDFLAGS}
genspecialg : ${GTOOLSH} genspecialg.c ${NAUTYO} gtools.o
${CC} -o genspecialg ${CFLAGS} genspecialg.c ${NAUTYO} gtools.o ${LDFLAGS}
listg : ${GTOOLSH} listg.c gtools.o nautil.o
${CC} -o listg ${CFLAGS} listg.c gtools.o nautil.o ${LDFLAGS}
labelg : ${GTOOLSH} naututil.h labelg.c gtools.o gtnauty.o ${NAUTYO} \
nautinv.o nausparse.h gutils.h gutil2.o traces.h traces.o naututil.o
${CC} -o labelg ${SAFECFLAGS} labelg.c gtools.o gtnauty.o naututil.o \
nautinv.o gutil2.o traces.o ${NAUTYO} ${LDFLAGS}
shortg : ${GTOOLSH} shortg.c gtools.o gtnauty.o ${NAUTYO} \
nausparse.h gutils.h gutil2.o nautinv.h nautinv.o traces.o
${CC} -o shortg ${CFLAGS} shortg.c gtools.o gtnauty.o nautinv.o \
${NAUTYO} gutil2.o traces.o ${LDFLAGS}
dretog : ${GTOOLSH} dretog.c naututil.o gtools.o ${NAUTYO}
${CC} -o dretog ${CFLAGS} dretog.c naututil.o gtools.o \
${NAUTYO} ${LDFLAGS}
dretodot : ${GTOOLSH} dretodot.c naututil.o gtools.o \
traces.o traces.h ${NAUTYO}
${CC} -o dretodot ${CFLAGS} dretodot.c naututil.o gtools.o \
traces.o ${NAUTYO} ${LDFLAGS} -lm
amtog : ${GTOOLSH} amtog.c gtools.o ${NAUTYO}
${CC} -o amtog ${CFLAGS} amtog.c gtools.o ${NAUTYO} ${LDFLAGS}
genbg : ${GTOOLSH} genbg.c gtoolsW.o nautyW1.o nautilW1.o naugraphW1.o \
schreierW.o naurng.o
${CC} -o genbg ${CFLAGS} ${W1} genbg.c gtoolsW.o schreierW.o \
nautyW1.o nautilW1.o naugraphW1.o naurng.o ${LDFLAGS}
genbgL : ${GTOOLSH} genbg.c gtoolsL.o nautyL1.o nautilL1.o naugraphL1.o \
schreierL.o naurng.o
${CC} -o genbgL ${CFLAGS} ${L1} -DMAXN1=30 genbg.c gtoolsL.o \
schreierL.o naurng.o nautyL1.o nautilL1.o naugraphL1.o ${LDFLAGS}
geng : ${GTOOLSH} geng.c gtoolsW.o nautyW1.o nautilW1.o naugraphW1.o schreier.o naurng.o
${CC} -o geng ${CFLAGS} ${W1} geng.c gtoolsW.o nautyW1.o \
nautilW1.o naugraphW1.o schreier.o naurng.o ${LDFLAGS}
gengL : ${GTOOLSH} geng.c gtoolsL.o nautyL1.o nautilL1.o naugraphL1.o schreier.o naurng.o
${CC} -o gengL ${CFLAGS} ${L1} geng.c gtoolsL.o nautyL1.o \
nautilL1.o naugraphL1.o schreier.o naurng.o ${LDFLAGS}
gentourng : ${GTOOLSH} gentourng.c gtoolsW.o nautyW1.o nautilW1.o \
naugraphW1.o schreier.o naurng.o
${CC} -o gentourng ${CFLAGS} -DMAXN=24 $W gentourng.c gtoolsW.o nautyW1.o \
nautilW1.o naugraphW1.o schreier.o naurng.o ${LDFLAGS}
genquarticg : ${GTOOLSH} genquarticg.c gtoolsL.o nautyL1.o nautilL1.o \
naugraphL1.o schreierL.o naurng.o quarticirred28.h
${CC} -o genquarticg ${CFLAGS} genquarticg.c gtoolsL.o nautyL1.o \
nautilL1.o naugraphL1.o schreierL.o naurng.o ${LDFLAGS}
gentreeg : gentreeg.c gtools.o nauty.h gtools.h
${CC} -o gentreeg ${CFLAGS} gentreeg.c gtools.o ${LDFLAGS}
genrang : ${GTOOLSH} genrang.c gtools.o naututil.o ${NAUTYO}
${CC} -o genrang ${CFLAGS} genrang.c \
gtools.o naututil.o ${NAUTYO} ${LDFLAGS}
complg : ${GTOOLSH} complg.c gtools.o gtnauty.o ${NAUTYO}
${CC} -o complg ${CFLAGS} complg.c gtools.o gtnauty.o \
${NAUTYO} ${LDFLAGS}
cubhamg : ${GTOOLSH} cubhamg.c gtools.o ${NAUTYO}
${CC} -o cubhamg ${CFLAGS} cubhamg.c gtools.o \
${NAUTYO} ${LDFLAGS}
twohamg : ${GTOOLSH} twohamg.c gtools.o ${NAUTYO}
${CC} -o twohamg ${CFLAGS} twohamg.c gtools.o \
${NAUTYO} ${LDFLAGS}
hamheuristic : ${GTOOLSH} hamheuristic.c gtools.o ${NAUTYO}
${CC} -o hamheuristic ${CFLAGS} hamheuristic.c gtools.o \
${NAUTYO} ${LDFLAGS}
converseg : ${GTOOLSH} converseg.c gtools.o ${NAUTYO}
${CC} -o converseg ${CFLAGS} converseg.c gtools.o \
${NAUTYO} ${LDFLAGS}
assembleg : ${GTOOLSH} assembleg.c gtools.o ${NAUTYO}
${CC} -o assembleg ${CFLAGS} assembleg.c gtools.o \
${NAUTYO} ${LDFLAGS}
underlyingg : ${GTOOLSH} underlyingg.c gtools.o ${NAUTYO}
${CC} -o underlyingg ${CFLAGS} underlyingg.c gtools.o \
${NAUTYO} ${LDFLAGS}
linegraphg : ${GTOOLSH} linegraphg.c gtools.o ${NAUTYO}
${CC} -o linegraphg ${CFLAGS} linegraphg.c gtools.o \
${NAUTYO} ${LDFLAGS}
subdivideg : ${GTOOLSH} subdivideg.c gtools.o ${NAUTYO}
${CC} -o subdivideg ${CFLAGS} subdivideg.c gtools.o \
${NAUTYO} ${LDFLAGS}
vcolg : ${GTOOLSH} vcolg.c gtools.o ${NAUTYO} naugroup.o gtnauty.o \
nautinv.o naututil.o naugroup.h
${CC} -o vcolg ${CFLAGS} vcolg.c gtnauty.o naututil.o \
nautinv.o gtools.o naugroup.o ${NAUTYO} ${LDFLAGS}
edgetransg : ${GTOOLSH} edgetransg.c gtools.o ${NAUTYO} naugroup.o \
gtnauty.o naututil.o nautinv.o naugroup.h
${CC} -o edgetransg ${CFLAGS} edgetransg.c gtnauty.o naututil.o \
nautinv.o gtools.o naugroup.o ${NAUTYO} ${LDFLAGS}
biplabg : ${GTOOLSH} gutils.h biplabg.c gtools.o gutil1.o ${NAUTYO}
${CC} -o biplabg ${CFLAGS} biplabg.c \
gtools.o gutil1.o ${NAUTYO} ${LDFLAGS}
ranlabg : ${GTOOLSH} ranlabg.c gtools.o ${NAUTYO}
${CC} -o ranlabg ${CFLAGS} ranlabg.c gtools.o ${NAUTYO} ${LDFLAGS}
NRswitchg : ${GTOOLSH} NRswitchg.c gtools.o gtnauty.o ${NAUTYO}
${CC} -o NRswitchg ${CFLAGS} NRswitchg.c gtools.o gtnauty.o \
${NAUTYO} ${LDFLAGS}
deledgeg : ${GTOOLSH} deledgeg.c gtools.o gtnauty.o ${NAUTYO}
${CC} -o deledgeg ${CFLAGS} deledgeg.c gtools.o gtnauty.o \
${NAUTYO} ${LDFLAGS}
delptg : ${GTOOLSH} delptg.c gtools.o gtnauty.o ${NAUTYO}
${CC} -o delptg ${CFLAGS} delptg.c gtools.o gtnauty.o \
${NAUTYO} ${LDFLAGS}
addedgeg : ${GTOOLSH} gutils.h addedgeg.c gtools.o gtnauty.o gutil1.o ${NAUTYO}
${CC} -o addedgeg ${CFLAGS} addedgeg.c gtools.o gtnauty.o \
gutil1.o ${NAUTYO} ${LDFLAGS}
newedgeg : ${GTOOLSH} gutils.h newedgeg.c gtools.o gtnauty.o ${NAUTYO}
${CC} -o newedgeg ${CFLAGS} newedgeg.c gtools.o gtnauty.o \
${NAUTYO} ${LDFLAGS}
pickg : ${GTOOLSH} gutils.h testg.c splay.c ${NAUTYO} nautycliquer.h \
gtools.o gtnauty.o gutil1.o gutil2.o nautinv.o nautycliquer.o
${CC} -o pickg ${SAFECFLAGS} testg.c gtools.o gtnauty.o gutil1.o \
gutil2.o nautinv.o nautycliquer.o ${NAUTYO} ${LDFLAGS}
countg : ${GTOOLSH} gutils.h testg.c splay.c ${NAUTYO} nautycliquer.h \
gtools.o gtnauty.o gutil1.o gutil2.o nautinv.o nautycliquer.o
${CC} -o countg ${SAFECFLAGS} testg.c gtools.o gtnauty.o gutil1.o \
gutil2.o nautinv.o nautycliquer.o ${NAUTYO} ${LDFLAGS}
directg : ${GTOOLSH} naugroup.h directg.c gtools.o naugroup.o ${NAUTYO} degprune.o
${CC} -o directg ${CFLAGS} directg.c gtools.o degprune.o \
${NAUTYO} naugroup.o ${LDFLAGS}
multig : ${GTOOLSH} naugroup.h multig.c gtools.o naugroup.o ${NAUTYO}
${CC} -o multig ${CFLAGS} multig.c gtools.o \
${NAUTYO} naugroup.o ${LDFLAGS}
planarg : ${GTOOLSH} planarg.c gtools.o planarity.c
${CC} -o planarg ${CFLAGS} \
planarg.c planarity.c gtools.o ${LDFLAGS}
watercluster2 : ${GTOOLSH} nauty.h watercluster2.c gtoolsW.o ${NAUTYW1O}
${CC} -o watercluster2 ${CFLAGS} ${W1} watercluster2.c \
gtoolsW.o ${NAUTYW1O} ${LDFLAGS}
showg : showg.c
${CC} -o showg ${CFLAGS} showg.c ${LDFLAGS}
readg : showg
echo "*** readg is now called showg ***"
sumlines : sumlines.c
${CC} -o sumlines ${CFLAGS} sumlines.c ${LDFLAGS} -lgmp
blisstog : ${GTOOLSH} blisstog.c gtools.o ${NAUTYO}
${CC} -o blisstog ${CFLAGS} blisstog.c gtools.o \
${NAUTYO} ${LDFLAGS}
bliss2dre : ${GTOOLSH} bliss2dre.c gtools.o ${NAUTYO}
${CC} -o bliss2dre ${CFLAGS} bliss2dre.c gtools.o \
${NAUTYO} ${LDFLAGS}
testlabelling : testlabelling.c nauty.h nauty.a
${CC} -o testlabelling -g testlabelling.c traces.c nauty.a ${LDFLAGS}
naugroup.o : nauty.h naugroup.h naugroup.c
${CCOBJ} naugroup.c
naugroupW.o : nauty.h naugroup.h naugroup.c
${CCOBJ} ${W} naugroup.c
naugroupL.o : nauty.h naugroup.h naugroup.c
${CCOBJ} ${L} naugroup.c
nautycliquer.o : nauty.h nautycliquer.c nautycliquer.h
${CCOBJ} nautycliquer.c
nautycliquerW.o : nauty.h naugroup.h naugroup.c nautycliquer.c nautycliquer.h
${CCOBJ} ${W} nautycliquer.c
nautycliquerL.o : nauty.h naugroup.h naugroup.c nautycliquer.c nautycliquer.h
${CCOBJ} ${L} nautycliquer.c
nautyex1 : nauty.h nautyex1.c nauty.a
${CC} -o nautyex1 ${CFLAGS} nautyex1.c nauty.a ${LDFLAGS}
nautyex2 : nauty.h nautyex2.c ${NAUTYO}
${CC} -o nautyex2 ${CFLAGS} nautyex2.c nauty.a ${LDFLAGS}
nautyex3 : nauty.h nautyex3.c nauty.a
${CC} -o nautyex3 ${CFLAGS} nautyex3.c nauty.a ${LDFLAGS}
nautyex4 : nauty.h nausparse.h nautyex4.c nauty.a
${CC} -o nautyex4 ${CFLAGS} nautyex4.c nauty.a ${LDFLAGS}
nautyex5 : nauty.h nausparse.h nautyex5.c nauty.a
${CC} -o nautyex5 ${CFLAGS} nautyex5.c nauty.a ${LDFLAGS}
nautyex6 : nauty.h nautyex6.c nauty.a
${CC} -o nautyex6 ${CFLAGS} nautyex6.c nauty.a ${LDFLAGS}
nautyex7 : nauty.h nautyex7.c traces.h nauty.a
${CC} -o nautyex7 ${CFLAGS} nautyex7.c nauty.a ${LDFLAGS}
nautyex8 : nauty.h nausparse.h nautyex8.c nauty.a
${CC} -o nautyex8 ${CFLAGS} nautyex8.c nauty.a ${LDFLAGS}
nautyex9 : nauty.h nautyex9.c nauty.a
${CC} -o nautyex9 ${CFLAGS} nautyex9.c nauty.a ${LDFLAGS}
nautyex10 : nauty.h nautyex10.c nauty.a
${CC} -o nautyex10 ${CFLAGS} nautyex10.c nauty.a ${LDFLAGS}
testprogs: ${TESTPROGS} ;
checks: nauty gtools nautestS nautestW nautestL naucompare ${TESTPROGS}
./runalltests
check: checks ;
naucompare : naucompare.c
${CC} -o naucompare ${CFLAGS} naucompare.c ${LDFLAGS}
nautestS : nauty.h naututil.h nautest.c
${CC} -o nautestS ${CFLAGS} ${S} nautest.c ${LDFLAGS}
nautestW : nauty.h naututil.h nautest.c
${CC} -o nautestW ${CFLAGS} ${W} nautest.c ${LDFLAGS}
nautestL : nauty.h naututil.h nautest.c
${CC} -o nautestL ${CFLAGS} ${L} nautest.c ${LDFLAGS}
dreadtest: dreadnaut.c nautinv.o ${NAUTYO} naututil.o traces.o gtools.o
${CC} -o dreadtest ${SAFECFLAGS} -DDREADTEST dreadnaut.c \
nautinv.o naututil.o traces.o gtools.o ${NAUTYO} ${LDFLAGS}
dreadtest1: dreadnaut.c nautinv1.o ${NAUTY1O} naututil1.o traces.o gtools.o
${CC} -o dreadtest1 ${SAFECFLAGS} ${SMALL} -DDREADTEST dreadnaut.c \
nautinv1.o naututil1.o traces.o gtools.o ${NAUTY1O} ${LDFLAGS}
dreadtestS: dreadnaut.c nautinvS.o ${NAUTYSO} naututilS.o tracesS.o gtoolsS.o
${CC} -o dreadtestS ${SAFECFLAGS} ${S} -DDREADTEST dreadnaut.c \
nautinvS.o naututilS.o tracesS.o gtoolsS.o ${NAUTYSO} ${LDFLAGS}
dreadtestS1: dreadnaut.c nautinvS1.o ${NAUTYS1O} naututilS1.o \
tracesS.o gtoolsS.o
${CC} -o dreadtestS1 ${SAFECFLAGS} ${S1} -DDREADTEST dreadnaut.c \
nautinvS1.o naututilS1.o tracesS.o gtoolsS.o ${NAUTYS1O} ${LDFLAGS}
dreadtestW: dreadnaut.c nautinvW.o ${NAUTYWO} naututilW.o tracesW.o gtoolsW.o
${CC} -o dreadtestW ${SAFECFLAGS} ${W} -DDREADTEST dreadnaut.c \
nautinvW.o naututilW.o tracesW.o gtoolsW.o ${NAUTYWO} ${LDFLAGS}
dreadtestW1: dreadnaut.c nautinvW1.o ${NAUTYW1O} naututilW1.o \
tracesW.o gtoolsW.o
${CC} -o dreadtestW1 ${SAFECFLAGS} ${W1} -DDREADTEST dreadnaut.c \
nautinvW1.o naututilW1.o tracesW.o gtoolsW.o ${NAUTYW1O} ${LDFLAGS}
dreadtestL: dreadnaut.c nautinvL.o ${NAUTYLO} naututilL.o tracesL.o gtoolsL.o
${CC} -o dreadtestL ${SAFECFLAGS} ${L} -DDREADTEST dreadnaut.c \
nautinvL.o naututilL.o tracesL.o gtoolsL.o ${NAUTYLO} ${LDFLAGS}
dreadtestL1: dreadnaut.c nautinvL1.o ${NAUTYL1O} naututilL1.o \
tracesL.o gtoolsL.o
${CC} -o dreadtestL1 ${SAFECFLAGS} ${L1} -DDREADTEST dreadnaut.c \
nautinvL1.o naututilL1.o tracesL.o gtoolsL.o ${NAUTYL1O} ${LDFLAGS}
dreadtest4K: dreadnaut.c nausparse.c schreier.c naututil.c nauty.c \
nautil.c nautinv.c naugraph.c naurng.o gtools.c traces.c
${CC} -o dreadtest4K ${SAFECFLAGS} -DMAXN=4096 -DDREADTEST \
dreadnaut.c naututil.c nauty.c nautil.c nautinv.c \
naugraph.c nausparse.c naurng.o schreier.c gtools.c \
traces.c ${LDFLAGS}
checks6: checks6.c ${GTOOLSH} gtools.o
${CC} -o checks6 ${SAFECFLAGS} checks6.c gtools.o
bigs: gtnauty.o gutil2.o nausparse.o nautil.o naututil.o gtools.o \
naugraph.o nautaux.o nautinv.o nauty.o schreier.o
rm -f gtnautyB.o gutil2B.o nausparseB.o nautilB.o naututilB.o \
gtoolsB.o naugraphB.o nautauxB.o nautinvB.o nautyB.o
cp gtnauty.o gtnautyB.o
cp gutil2.o gutil2B.o
cp nausparse.o nausparseB.o
cp nautil.o nautilB.o
cp naututil.o naututilB.o
cp gtools.o gtoolsB.o
cp naugraph.o naugraphB.o
cp nautaux.o nautauxB.o
cp nautinv.o nautinvB.o
cp nauty.o nautyB.o
cp schreier.o schreierB.o
# ++++++ This file is automatically generated, don't edit it by hand! ++++++
-------------- next part --------------
A non-text attachment was scrubbed...
Name: degprune.c
Type: text/x-csrc
Size: 237 bytes
Desc: not available
URL: <http://mailman.anu.edu.au/pipermail/nauty/attachments/20200513/4396d42e/attachment-0003.bin>
More information about the Nauty
mailing list