I spent the last week implementing some rather esoteric combinatorial objects such as Necklaces, Lyndon words and Chord diagrams. Up until now, all such generation algorithms were being dumped in the /sympy/utilities/iterables.py file. With the introduction of slightly more complex generation algorithms community member Chris Smith raised the question of the underlying motivation of such algorithms and if they belong there in the first place. This is an interesting discussion, do we implement all the algorithms or do we simply provide some of the tools to the user who can use them to develop these routines himself. Its a question that I am at a loss to answer and I will leave it to the community to decide. IMO, the algorithms should be there if only for their educative value. I have postponed the development of such advanced combinatorial structures for now as they are not covered by my proposal. If it elicits enough interest later I can always implement them.

The other task that I was going to look up as networkx integration. This was rather easy. I have used pygraphviz for graph drawing. My mentor, Haz, suggested that I hook up some sort of a ascii drawer as well for the graph but that would look hideous IMO. At any rate, I could not find a decent ascii graph printing package. Once the code for this is reasonably polished, I will probably integrate some of David Eppstein’s python routines for various graph operations.

One Response to “Update”
  1. asmeurer says:

    > Its a question that I am at a loss to answer and I will leave it to the community to decide.

    Then you should bring it up on the mailing list.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: