Changes between Initial Version and Version 16 of Ticket #11506


Ignore:
Timestamp:
May 20, 2014, 6:07:26 PM (9 years ago)
Author:
vbraun
Comment:

Also, the following two are equally incorrect:

sage: infinity == unsigned_infinity
True
sage: 2+7 == Mod(2,7)
True

Both violate Python rules for equality and hashes. But as long as we want the latter we also have to accept the former.

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #11506

    • Property Reviewers changed from to Peter Bruin
    • Property Authors changed from to Volker Braun
    • Property Priority changed from major to critical
    • Property Dependencies changed from to 13125
    • Property Branch changed from to u/vbraun/infinity_ring
    • Property Milestone changed from sage-5.11 to sage-6.3
    • Property Commit changed from to cd9242959af9fda6d5351f8410889b36d6b6a392
  • Ticket #11506 – Description

    initial v16  
    11Comparisons in the infinity ring are broken, mostly because it does not correctly coerce infinities from other rings into it. It also needs to be updated for the new coercion framework.
    22
    3 A sampler of oddities:
    4 {{{
    5 sage: infinity == unsigned_infinity
    6 True
    7 sage: oo == CC(oo)
    8 False
    9 sage: CC(oo) == RR(oo)  # ok because it doesn't involve InfinityRing
    10 True
    11 sage: InfinityRing( CC(oo) )
    12 A positive finite number
    13 sage: InfinityRing( SR(oo) )
    14 A positive finite number
    15 }}}
     3Also, `sage/rings/infinity.py` has no author or copyright notice.
    164
    17 Also, `sage/rings/infinity.py` has no author or copyright notice.
     5Comparisons with SR or complex fields are still sometimes weird as
     6* SR doesn't coerce to the infinity ring, since we want symbolic comparisons with infinity
     7* Complex numbers have phases, but the infinity ring only supports +/-
     8* CC/CDF have a weird model for their own infinity representation:
     9These shall be dealt with elsewhere as they can't be fixed on the side of the infinity ring.