Re: [sage-devel] Re: possible issue with DiGraph in interval fields

2014-12-03 Thread Vincent Delecroix
2014-12-03 3:24 UTC+01:00, Nathann Cohen : >> sage: a = CIF(RIF(0, 1), RIF(0, 1)) >> sage: a is a >> True >> sage: a == a >> False >> >> So equality is not even reflexive. > > Okay. Please never define a graph with these things as vertices :-D +1 And for better behavior, we need troolean = {True,

Re: [sage-devel] Re: possible issue with DiGraph in interval fields

2014-12-02 Thread Nathann Cohen
> sage: a = CIF(RIF(0, 1), RIF(0, 1)) > sage: a is a > True > sage: a == a > False > > So equality is not even reflexive. Okay. Please never define a graph with these things as vertices :-D Nathann -- You received this message because you are subscribed to the Google Groups "sage-devel" group.

Re: [sage-devel] Re: possible issue with DiGraph in interval fields

2014-12-02 Thread Clemens Heuberger
Am 2014-12-01 um 19:37 schrieb Nils Bruin: > Interval fields apparently hide this (intervals are "equal" if they have > non-empty intersection?), but of course hash cannot respect this, because this ComplexIntervalFieldElement.__richcmp__ says: As with the real interval fields this never

Re: [sage-devel] Re: possible issue with DiGraph in interval fields

2014-12-01 Thread Ben Hutz
Yes, Nathan I see, that may also be an issue. However, in looking further into my particular example, it *shouldn't* be returning that those projective points are ==. I opened a bug (#17429) and will fix it soon. On Monday, December 1, 2014 1:54:28 PM UTC-5, Nathann Cohen wrote: > > > With that

Re: [sage-devel] Re: possible issue with DiGraph in interval fields

2014-12-01 Thread Nathann Cohen
> With that in mind, it seems that DiGraph is fine as those points are > differing in both hash and ==, correct? DiGraphs consider that two points u,v with u==v are the same points. If those (equal) points have different hash values, I have no idea of what happens (including memory leaks, segfault

Re: [sage-devel] Re: possible issue with DiGraph in interval fields

2014-12-01 Thread Ben Hutz
Yes, I agree the hash should be different as the points are not exactly the same interval. However, in trying to explore the interval comparison this also may have exposed a bug in the equality check for projective points. Since the CIF is returning False for == and != the __eq__ check for proj

Re: [sage-devel] Re: possible issue with DiGraph in interval fields

2014-12-01 Thread Nathann Cohen
Yo ! > Interval fields apparently hide this (intervals are "equal" if they have > non-empty intersection?), but of course hash cannot respect this, because > this notion of "equality" isn't transitive. The bug is that CIF elements are > hashable at all. I see. Graphs would not like non-transitive

[sage-devel] Re: possible issue with DiGraph in interval fields

2014-12-01 Thread Nils Bruin
On Monday, December 1, 2014 9:46:04 AM UTC-8, Ben Hutz wrote: > > D={} > for t in G: > D.update({t:[F(t)]}) > The keys here aren't necessarily a problem yet, provided "preperiodic" is careful. However, the values here are computed from an imprecise t and you're hoping that their values wil

[sage-devel] Re: possible issue with DiGraph in interval fields

2014-12-01 Thread Nathann Cohen
Hello ! D={} > for t in G: > D.update({t:[F(t)]}) > > DiGraph(D) > I have several bad answers to give you: 1) There is a bug in what you see, and it is not your fault. Indeed, some of your points are equal but they have a different hash. This confuses dictionaries (and graphs). 2) I hope