On 9/5/07, Markus Fraczek <[EMAIL PROTECTED]> wrote:
> it's me again, sorry for reporting another (possible) bug within 24 hours...
>
> sage: CC = ComplexField(332)
> sage:
> X=CC(1.357903630374279963068269401271673391959119893809138669904789002836753985101796915789954726170961844+0.08656877927962875916843133406339412225470973123970623802678766038896195993916712945561867677105668213*I)
> sage: X
> 1.35790363037427996850681211071787402033805847167968750000000000000000000000000000000000000000000000
> +
> 0.0865687792796287600323446032035690222983248531818389892578125000000000000000000000000000000000000000*I
>
> If we compare this numbers,
>
> IN 1.357903630374279963068...
> OUT 1.357903630374279968506...
>
> IN 0.086568779279628759168...*I
> OUT 0.086568779279628760032...*I
>
> we see that they differ already after 16 digits. It seems like a bug.
>
This is because the I above is a symbolic I that ends up getting
(at present) parsed by Maxima, which kills the precision for some
reason. Yep, that's just what Maxima does:
sage:
maxima('1.357903630374279963068269401271673391959119893809138669904789002836753985101796915789954726170961844+0.086>
.08656877927962876*I+1.35790363037428
I.e., any symbolic expression in SAGE will have its digits truncated
to double precision, since Maxima evidently does that:
sage: !maxima
(%i1) 1.9028349082409829034809283490823094802938402834098230840923840928340982
;
(%o1) 1.902834908240983
Though this is very undesirable behavior, unfortunately
it might (??) be incredibly hard to change for now. I don't
know if Maxima has any notion of arbitrary precision reals,
and if so how to enable them. (If you know, please post.)
Back to your original problem -- fortunately there *are* several ways to
enter that complete number correctly so that precision is
not lost. See below:
sage: sage: CC = ComplexField(332)
<56877927962875916843133406339412225470973123970623802678766038896195993916712945561867677105668213*I)
Method 1 -- use quotes:
sage:
X=CC('1.357903630374279963068269401271673391959119893809138669904789002836753985101796915789954726170961844+0>
sage: X
1.35790363037427996306826940127167339195911989380913866990478900283675398510179691578995472617096184
+
0.0865687792796287591684313340633941222547097312397062380267876603889619599391671294556186767710566821*I
Method 2 -- make I be the generator of CC:
sage: I = CC.0
sage: X =
1.357903630374279963068269401271673391959119893809138669904789002836753985101796915789954726170961844+0.0865687>
sage: X
1.35790363037427996306826940127167339195911989380913866990478900283675398510179691578995472617096184
+
0.0865687792796287591684313340633941222547097312397062380267876603889619599391671294556186767710566821*I
--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at
http://groups.google.com/group/sage-support
URLs: http://sage.math.washington.edu/sage/ and http://sage.scipy.org/sage/
-~----------~----~----~----~------~----~------~--~---