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,
> 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.
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
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
> 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
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
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
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
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