On Thursday, September 8, 2016 at 5:58:37 PM UTC, Peter Banks wrote: > > > > 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. >
a more proper location is src/sage/graphs/generators/ this is where various explicit "small" graphs live, along with procedures to generate (infinite, or not) families. >>> - 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.