#11506: Fix the infinity ring.
-------------------------------------+-------------------------------------
       Reporter:  vbraun             |        Owner:  AlexGhitza
           Type:  defect             |       Status:  new
       Priority:  critical           |    Milestone:  sage-6.3
      Component:  algebra            |   Resolution:
       Keywords:                     |    Merged in:
        Authors:  Volker Braun       |    Reviewers:  Peter Bruin
Report Upstream:  N/A                |  Work issues:
         Branch:                     |       Commit:
  u/vbraun/infinity_ring             |  cd9242959af9fda6d5351f8410889b36d6b6a392
   Dependencies:  13125              |     Stopgaps:
-------------------------------------+-------------------------------------

Old description:

> Comparisons 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.
>
> A sampler of oddities:
> {{{
> sage: infinity == unsigned_infinity
> True
> sage: oo == CC(oo)
> False
> sage: CC(oo) == RR(oo)  # ok because it doesn't involve InfinityRing
> True
> sage: InfinityRing( CC(oo) )
> A positive finite number
> sage: InfinityRing( SR(oo) )
> A positive finite number
> }}}
>
> Also, `sage/rings/infinity.py` has no author or copyright notice.

New description:

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

 Also, `sage/rings/infinity.py` has no author or copyright notice.

 Comparisons with SR or complex fields are still sometimes weird as
 * SR doesn't coerce to the infinity ring, since we want symbolic
 comparisons with infinity
 * Complex numbers have phases, but the infinity ring only supports +/-
 * CC/CDF have a weird model for their own infinity representation:
 These shall be dealt with elsewhere as they can't be fixed on the side of
 the infinity ring.

--

Comment (by vbraun):

 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.

--
Ticket URL: <http://trac.sagemath.org/ticket/11506#comment:16>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica, 
and MATLAB

-- 
You received this message because you are subscribed to the Google Groups 
"sage-trac" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-trac.
For more options, visit https://groups.google.com/d/optout.

Reply via email to