Ask Your Question
1

Using nauty_geng with variable number of vertices

asked 2014-02-12 13:39:09 +0200

Emperor's_New_Clothes gravatar image

updated 2015-01-17 22:26:25 +0200

FrédéricC gravatar image

I am trying to use the nauty graph generator to count the number of non-isomorphic graphs with specified properties, but I am hindered by the fact that it seems nauty_geng only allows a fixed number of vertices.

For example, the following code counts the number of (non-isomorphic) connected graphs on 5 vertices:

count = 0
for g in graphs.nauty_geng("5 -c"):
     count += 1
print count

The Sage output is: 21.

However, if I try to count the number of connected graphs on n vertices for n in a certain range, say n=3,4,5,6, as with the following code,

for n in range(3,7):
     count = 0
     for g in graphs.nauty_geng("n -c"):
         count += 1
     print (n,count)

,the count remains equal to zero for each n, and the situation is the same for all similar codes I have tried. The result is that in order to see what happens for multiple values of n, I must manually change all occurrences of n in the code.

  1. Is this the meaning of "At a minimum, you must pass the number of vertices you desire," a statement in the help box?

  2. Is there any way around this?

Thanks for any help with this!

edit retag flag offensive close merge delete

1 Answer

Sort by » oldest newest most voted
2

answered 2014-02-12 21:46:22 +0200

fidbc gravatar image

updated 2014-02-13 00:52:48 +0200

The issue above is that geng is being called with the arguments

n -c

each time. The value of n should be substituted in the string. Here is a working version of the for loop you have.

for n in range(3,7):
    count = 0
    for g in graphs.nauty_geng("{0} -c".format(n)):
        count += 1
    print (n,count)

See here for more details on the format function.

Other possible variations on the call to geng above could also be:

graphs.nauty_geng("%d -c"%(n))

or

graphs.nauty_geng(str(n)+" -c")
edit flag offensive delete link more

Comments

Thank you! This is very helpful!

Emperor's_New_Clothes gravatar imageEmperor's_New_Clothes ( 2014-02-17 15:57:20 +0200 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

Stats

Asked: 2014-02-12 13:39:09 +0200

Seen: 3,166 times

Last updated: Feb 13 '14