#11506: Fix the infinity ring.
-------------------------------------------------+-------------------------
Reporter: vbraun | Owner:
Type: defect | AlexGhitza
Priority: blocker | Status: closed
Component: algebra | Milestone: sage-6.3
Keywords: | Resolution: fixed
Authors: Volker Braun | Merged in:
Report Upstream: N/A | Reviewers: Peter
Branch: | Bruin
00eb409c89a37ccb181c6f7489675b042e2d72ae | Work issues:
Dependencies: #13125 | Commit:
| Stopgaps:
-------------------------------------------------+-------------------------
Changes (by mmezzarobba):
* commit: 00eb409c89a37ccb181c6f7489675b042e2d72ae =>
Comment:
I am a bit late to comment on this, but let me add my 2 cents about what
`infinity in RR` should returns and related questions.
The way I understand it:
* `RR` essentially is an interface to MPFR. It is not, has never been and
cannot be the right model for the field of real numbers in sage.
* `RIF` being based on MPFI, its elements are sets. As a general
rule, operations on these elements are required to return
over-approximations of the image of their operands, period. Note that
this
could apply to boolean predicates: in an ideal world, `[1,3] = [2,4]`
would
return something like `{True, False}`. But some compromises are
necessary, in
part because sage keeps abusing Python's equality and comparison
operators
instead of defining its own "mathematical" equality.
So I think the problems raised by Peter and Travis are mostly due to
unfortunate name choices and cannot be solved without
breaking lots of existing code. The best plan I can come up with would be
something like this:
* Deprecate `RR`, `Reals()`, and `RealField()` (`Reals(p)`, `RealField(p)`
can probably stay). Replace `RR` by `RFP`.
* Make it clear in the documentation that these parents represent sets of
floating-point numbers—particular subsets of the dyadic rationals,
augmented with special values such as ±∞ and equipped with well-defined,
if peculiar, operations—, not the field of real numbers.
* While we're at it, deprecate `RIF` and `RealIntervalField`. Rename them
to something like `IF` (a common notation in interval analysis) and
`RealFloatingPointIntervals`.
* Stop pretending any of these are fields (or even semigroups). Perhaps
introduce a category of "approximate fields" (for lack of a better name).
* After the deprecation period, consider making `RR` and `Reals` refer
to/return `RLF` (or perhaps some new implementation that better models the
"true" reals).
* Idem for `CC`, `CIF` etc.
--
Ticket URL: <http://trac.sagemath.org/ticket/11506#comment:58>
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.