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

Reply via email to