Skip to content

Hash for fraction field element is too permissive #35238

@xcaruso

Description

@xcaruso

Steps To Reproduce

sage: A.<x,y> = QQ[]
sage: K = A.fraction_field()
sage: d = { x/y: 0 }
sage: d[K(2*x, 2*y)]
Traceback (most recent call last):
...
KeyError: 2*x/(2*y)

Expected Behavior

(2*x)/(2*y) is equal to x/y, so d[K(2*x, 2*y)] should return 0.

Actual Behavior

The reason why it fails is that x/y and (2*x)/(2*y) differ in their hash though they are considered as equal by equality test.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions