Well, I'm stumped (not too surprising), but here's what I think after a little reading:
* It seems that there is no comparison implemented for graphs, anywhere in sage: Graph inherits from GenericGraph, which inherits from GenericGraph_pyx, which inherits from SageObject. Functions like __cmp__ or _cmp_ or _rich_cmp_ or whatever don't appear anywhere in any of this code -- that's not too surprising because something like g1._<tab> doesn't show any kind of comparison function either. * So the only other possibility I can imagine is that comparison of graphs is falling back to whatever Python does by default to compare things. Or maybe it's falling back on some other default not in SageObject; in any case, a ticket should probably be filed to implement comparison for graphs. * Here's a detail about the default Python implementation of comparison, which might explain why you get erratic behavior [1]: > CPython implementation detail: Objects of different types except numbers are > ordered by their type names; objects of the same types that don’t support > proper comparison are ordered by their address. best, Niles [1] : http://docs.python.org/library/stdtypes.html On Mar 17, 11:34 pm, Ryan Hinton <iob...@email.com> wrote: > Where are the comparison operators for graphs implemented? I can find > ``__eq__`` in graphs/generic_graph.py, but I can't find any others. > > I haven't opened a ticket yet for the following behavior because I am > not sure where the problem is. > > The current status is some new math! At the moment, I see the > following. (The following sometimes works, sometimes needs fiddling > with order of creation or which graphs get a vertex.) > > sage: g1 = Graph() > sage: g1.add_vertex(0) > sage: g2 = Graph() > sage: g3 = Graph() > sage: g3.add_vertex(0) > sage: g1 == g3 > True > sage: g1 == g2 > False > sage: g1 < g2 > False > sage: g3 < g2 > True > > So we have two equal graphs that compare on either side of a third > graph! > > Thanks! > > - Ryan -- To post to this group, send an email to sage-devel@googlegroups.com To unsubscribe from this group, send an email to sage-devel+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/sage-devel URL: http://www.sagemath.org