Hi everyone,

I'm gradually moving some of my computations from Mathematica to SAGE.
One of the things that I use quite a bit in Mathematica is the
Combinatorica package, which provides quite a lot of graph operations.
So this morning I went through and compared the sage graph library with
the Combinatorica library, made a list of equivalent functions, and
finished by making a list of functions available in Combinatorica, but
not in SAGE.  I plan to whittle away at this list as I have time, but
I'd also like to post it somewhere so that people with much more
experience than I can comment and/or implement whatever they want.
Where is the most appropriate place to put it?  The wiki?  If the wiki
or the trac is the right place, can I have an account on it?

Right now, the list of equivalent functions is an OpenOffice
spreadsheet.  I've listed every SAGE graph function I could find with
the corresponding Combinatorica function (if one exists) and made some
notes of different implementation choices.  In doing this, I noticed a
few things I'd love to hear some comments on.  Of course, most of
knowledge of the sage graph library is based on reading the docs, so if
there is something that I don't understand or don't know, let me know!

* There seems to be some confusion (or redundancy) between the terms
"vertices" and "nodes" in the documentation.  Is there a difference
between the two?

* Edges have "labels", while vertices have "names" and associated
objects.  I presume that an integer label for an edge signifies an edge
weight.  Is there some way we can unify these concepts?  Perhaps having
a "name" and other metadata associated with both edges and vertices.
Maybe we could just have a dictionary associated with each edge or
vertex, with a guaranteed key of "name" and "weight" (defaulting to ""
and 1, respectively).

* I vote that we change "arc" terminology to "edge" terminology in the
directed graph class.  It seems that the only difference between the
input and output of these functions (the "arc" functions versus the
"edge" functions) is that one is associated with the directed class and
the other associated with the undirected class.  Yes, the interpretation
is different, but you'd expect that when calling a function from two
different classes.  I think the terminology is unnecessarily
complicated.  (but prove me wrong and give me the reason for doing it
this way :)


Overall, I was very impressed with how much functionality is in SAGE,
but not in Mathematica.  Of course, there is still quite a bit of work
implementing the rest of the Combinatorica functions in SAGE.

Thanks,

Jason


--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://sage.scipy.org/sage/ and http://modular.math.washington.edu/sage/
-~----------~----~----~----~------~----~------~--~---

Reply via email to