2014-03-13 21:32 UTC+01:00, Volker Braun <[email protected]>:
> On Wednesday, March 12, 2014 8:45:57 PM UTC-4, Thierry
> (sage-googlesucks@xxx) wrote:
>>
>> - create RSF (for "real symbolic field") to isolate pi and sqrt(2) from
>>   cos(x) in the symbolic ring.
>>
>
> Thats essentially what RLF does.
>

Nope, pi belongs to SR and not to RLF and there is a huge difference:

sage: RLF(pi) * 1.2      # fine, coercion into RR
3.76991118430775
sage: pi * 1.2                # what the f*** ?
1.20000000000000*pi

The claim was to put all symbolic constants into RLF or CLF or a
better ring in order to avoid many problems like this one

sage: pi_approx = RR(pi)
sage: bool(pi == SR(pi_approx))
True

and many, many, many others.

>> - re-create RR as an "overlay field" over the different representations
>>
>
> Its a basic fact that you can't represent a "generic" real number on a
> computer. You can argue that one should default to a lazy evaluation and
> not pick a favorite, but that also means that it'll be useless in practice.
>
> You can't safely & effectively do floating-point computations without
> picking a particular representation first. Trying to pretend otherwise is
> just kidding yourself.

Of course, and it was not the argument advanced to redefine RR. Let
say that RR is the set of real numbers. Even if there is no way to
define general operations or comparisons on its elements, we can still
ask
 * if some element belongs to it (in particular NaN and Infinity do not)
 * what is its structure as a topological space
 * what is its cardinality
 * a random element
I would advocate that RLF is a very good approximation of what should
be RR. Perhaps one good direction to take is to try to make RLF
smarter and contains all constants from pi to cos(42^e).

Vincent

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" 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-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to