On 8 November 2016 at 10:17, Thierry Dumont <tdum...@math.univ-lyon1.fr> wrote:
> Le 08/11/2016 à 08:43, Vincent Delecroix a écrit :
>> Concerning representation of algebraic numbers, it is printed as an
>> exact rational if and only if it is stored as an exact rational. It
>> will be if the method exactify has been called on the underlying
>> representation of the number. Here is a simple example that shows the
>> difference
>>
>
> Ha, yes...
>
> But I am not sure to understand.
>
> sage: y=QQbar(cos(pi/18))
> sage: y.radical_expression()
> 1/4*(4*(1/128*I*sqrt(3) + 1/128)^(1/3) + 1)/(1/128*I*sqrt(3) + 1/128)^(1/6)
>
> ok! good!
>
> sage: y
> 0.9848077530122081? + 0.?e-18*I
>
> ok.
> sage: y.imag()
> 0.?e-18
> sage: y.imag() == 0
> True
> I accept this as 0 is "in" 0.?e-18
>
> Now:
>
> sage: y.exactify()
> sage: y
> 0.9848077530122081? + 0.?e-18*I
>
> raaahhh ! grrr !

This is *not* a rational!! We might want to special case the
representation of real numbers of QQbar. I opened
https://trac.sagemath.org/ticket/21838 for that purpose.

Vincent

-- 
You received this message because you are subscribed to the Google Groups 
"sage-support" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-support+unsubscr...@googlegroups.com.
To post to this group, send email to sage-support@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.

Reply via email to