Ask Your Question

MT's profile - activity

2014-12-03 05:22:48 -0600 received badge  Notable Question (source)
2014-07-22 18:48:56 -0600 received badge  Popular Question (source)
2013-07-29 17:07:40 -0600 commented answer Force Gap to forget graph automorphism groups

thanks much, I didn't know about the option to return only the order. I should clarify that sadly, in my actual code, I *do* need to look at all of the automorphisms (the sample code was oversimplified).

2013-07-29 15:48:37 -0600 commented answer Force Gap to forget graph automorphism groups

Thanks -- gap.NamesUserGVars() is very useful. Can you clarify what is meant by "Sage objects in cyclic references will never have their bound GAP objects cleared?" is there an instance of cyclic referencing in the sample code? It's strange: if I delete the "if" statement that computes the order of the group aut, then adding the line del(aut) at the end of the loop solves the memory leak. But if I compute the order of the group, or compute anything else about it, then no amount of deleting gets rid of it (not even saving its properties like order in separate variables and deleting them.)

2013-07-29 02:55:23 -0600 commented answer Force Gap to forget graph automorphism groups

Thanks for the links and cleaning up my code. I've looked into what's going on in gap and it does look like a problem with gap's garbage collection being leaky, so I've contacted the gap folks.

2013-07-26 02:43:43 -0600 asked a question Force Gap to forget graph automorphism groups

I'm interested in computing and storing a huge number of graphs. For each graph I compute, I temporarily need to compute its automorphism group -- but I don't need to, and don't want to, remember that automorphism group. It looks like sage deals with graphs on its own but calls Gap to deal with automorphism groups.

The problem is that Gap, not sage, exceeds it permitted memory. Why? Here is a (silly) example of what I'm talking about: running

mylist=[];
count = 1;
while True:
    g = graphs.RandomGNP(6, .5);
    aut = g.automorphism_group();
    mylist.append(g);
    if aut.order() > 1:
        print "Graph number %s has nontrivial automorphisms!"%(count);
    count += 1;

gives me after some hours

RuntimeError: Gap produced error output
Error, exceeded the permitted memory (`-o' command line option)

How can I force sage/gap to forget the automorphism groups attached to the graphs (but remember the graphs)? Ideally Gap should only need to store one automorphism group at a time.