On Monday, September 5, 2016 at 3:30:53 PM UTC+1, Travis Scrimshaw wrote:
> >> - The class KontsevichGraph is a subclass of DiGraph; however, it >> would only ever be used in calculating the Star product of a Poisson >> bracket. Should it live in the new poisson module or in the graphs module? >> >> Depends on how long the code is and what you plan to use it for. One safe > way is to have its own file/module in src/sage/graphs. > The code is currently about 2000 lines including comments. I will leave it in src/sage/graphs for now and move it later if needed. > >> - The list of graphs generated by KontsevichGraphList has no >> particularly natural ordering defined on it. It also uses a list of >> regular >> graphs (which currently is loaded from an external file). Should both of >> these generators be added to the digraph_generators module? >> >> I'm split. There is no way to parameterize these graphs, correct? This > would be the first instance in which we have an iterator/list as output > from digraphs.*. However, if they are interesting graphs, then we should > expose them. > > Also, you should look into making it be an iterator instead of a list, > unless you only need the full list > The graphs themselves are quite complex and I don't know of any way of parameterising them. As I say, they are interesting but only for a very small area. As for making them an iterator: I agree that this would be a nice way of doing things. I have spent some time today thinking about it but I have yet to come up with an effective way of doing this. At the moment we only generate one graph per isomorphism class. These are generated by applying a series of operations (such as moving an edge) to "simpler" graphs (either 2-regular digraphs of Kontsevich graphs of lower degree). However, these operations don't guarantee uniqueness up to isomorphism, so we then remove any graphs which are isomorphic to ones that have already been generated. This procedure doesn't seem to lend itself to producing an iterator as the full list of graphs is needed to check isomorphism at the end. I would also recommend creating a trac ticket, pushing your code to the >> trac server, and linking the branch on the ticket so we can take a look at >> the code. >> > I will do this soon - there are a few problems with the code I want to get fixed first, and then I will go about adding relevant tickets. Best, Peter -- You received this message because you are subscribed to the Google Groups "sage-devel" group. To unsubscribe from this group and stop receiving emails from it, send an email to sage-devel+unsubscr...@googlegroups.com. To post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.