On Mon, Mar 20, 2017 at 7:51 AM, Jaume Aguade <ja...@jaumeaguade.cat> wrote:
> Let r > a > 0 be real numbers. Let c = a + r, d = sqrt(r^2-a^2). Then, it is
> obvious that 2*a*c=c^2-d^2. However, sage crashes when trying to check this
> with a and r rather "simple" algebraic numbers.
>
> I've found this while using sage to solve elementary geometric problems
> involving circles and intersection of circles, i. e. algebraic numbers which
> can be written using only square roots.
>
> The capacity of working over the field AA is one of my favourite features of
> sage, so I was disappointed when I found this easy example which
> (apparently) cannot be worked out by sage. I would like to know if I'm
> missing something or there is some other way to deal with these
> computations.
>
> (The trouble persists in QQbar)
>
> Here is the code:
>
> a=AA(sqrt(sqrt(5)))
> r=AA(sqrt((AA(sqrt(13))-a)^2+3))
> c=a+r
>
> d= AA(sqrt(r^2-a^2))
>
> 2*a*c == c^2 - d^2
>

A possible work-around: It seems to work using SR:

sage: r = SR(sqrt((SR(sqrt(13))-a)^2+3))
sage: a = SR(sqrt(sqrt(5)))
sage: r = SR(sqrt((SR(sqrt(13))-a)^2+3))
sage: c = a+r
sage: d = SR(sqrt(r^2-a^2))
sage: bool(2*a*c == c^2 - d^2)
True

> --
> 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 sage-devel+unsubscr...@googlegroups.com.
> To post to this group, send email to sage-devel@googlegroups.com.
> Visit this group at https://groups.google.com/group/sage-devel.
> For more options, visit https://groups.google.com/d/optout.

-- 
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 sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at https://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to