I ran into the following issue:

sage: H5.<a,b,c> = FractionField(PolynomialRing(ZZ, ['a', 'b', 'c'])) 
sage: S = set([1/(1-c)]) 
sage: (-1)/(c-1) in S 
False

I know Sage doesn't promise that equal objects have equal hashes, but surely 
this should be valid for objects from *a single ring*?

I looked at the hash function implementation, and it's not straightforward to 
fix this, since it's the generic FractionField method. In particular, we can 
assume nothing about the ring on which the FractionField is based. I can come 
up with some examples of rings, and try to do something for them, but my 
imagination is kind of limited. Subclassing FractionField feels like overkill, 
but a long list of try... Except clauses inside __hash__ is bad too.

Thoughts?

--Stefan

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to