#11506: Fix the infinity ring.
-------------------------------------+-------------------------------------
Reporter: vbraun | Owner: AlexGhitza
Type: defect | Status: needs_info
Priority: blocker | 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 | 3531287276d95f0a60b762c4dc5475bee4860cba
Dependencies: #13125 | Stopgaps:
-------------------------------------+-------------------------------------
Comment (by pbruin):
Replying to [comment:39 tscrim]:
> Since there is `oo` in `RIF`, I agree with you, it's actually not a
field. Although I would say that if we remove `oo`, I would say it is a
field.
No, see below.
> But this is a separate point, because the break is in the addition, not
the multiplication. So would you say `RIF` is an additive abelian group?
As Volker pointed out, it isn't, even if we remove infinity. And since it
isn't an additive Abelian group, it certainly isn't a field either.
Moreover, the set of non-zero, non-infinite elements is not a group under
multiplication. For example, the interval [-1, 1] has neither an additive
nor a multiplicative inverse.
> I also found some strange behavior with `RIF`:
> {{{
> sage: oo in RIF
> True
> sage: RIF(oo)
> [+infinity .. +infinity]
> sage: RIF(oo) / RIF(oo)
> [.. NaN ..]
> sage: RIF(oo) / RIF(0)
> [-infinity .. +infinity]
> sage: RIF(oo) * RIF(0)
> 0
> }}}
That does look slightly inconsistent, especially the last one, but I don't
have enough experience with `RIF` to say if this is intended.
> > I don't understand this. Addition of `+Infinity` and `-Infinity` is
undefined in the infinity ring, or is this what you mean by "less
structure"?
>
> Yes (another example would be the tropical semiring).
I still don't get your point. The tropical semiring is a semiring, while
`InfinityRing` is not a semiring.
> > No, the operation `4 // 2` is defined in `ZZ`, but not after coercion
to `Zmod(8)`, for example.
>
> In this case, division is not a part of the structure of `ZZ`, so
perhaps I should amend my statement above to when you can ''always'' do
operation `#` (i.e. it is guaranteed by the category). For `RIF`,
subtraction is guaranteed to work.
That depends on what you mean by "work":
{{{
sage: RIF(oo) - RIF(oo)
[.. NaN ..]
}}}
Maybe this should return `[-infinity .. +infinity]`, then it would
cooperate nicely with the future support for "intervals in the infinity
ring" (comments 29 and 30 above).
--
Ticket URL: <http://trac.sagemath.org/ticket/11506#comment:40>
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.