On Wednesday, March 11, 2015 at 2:46:25 AM UTC-7, Dima Pasechnik wrote:
>
> I tried this integral directly in Maxima, and taking bfloat of it 
> outputs nonsense. 
>

I have noticed before that bfloats aren't infectious enough: operations on 
bfloats can easily result in a normal "double". I think there are ways to 
convince maxima to use bfloats more pervasively. Perhaps a global precision 
setting somewhere?
 

> I wish there was a more accessible full implementation of Risch 
> algorithm... 
>

This is a rational function, so a first calculus course would already teach 
you the relevant part of the Risch algorithm. It's a little more tricky to 
get an ostensibly real-valued function as an antiderivative. Anyway, sympy 
produces a reasonable-looking antiderivative.
 
Interestingly, we have:

sage: I=integral(x/(x^3-x+1), x, 1, 2, algorithm='sympy')
sage: RIF(I)
TypeError: unable to simplify to a real interval approximation

The offending subexpression seems to be:

sage: A=(299838966359964800*69^(5/6)*2^(2/3) - 
11515081166050000*69^(2/3)*2^(1/3)*(25*sqrt(69) + 207)^(1/3) - 
99785894223312000*sqrt(69)*(25*sqrt(69) + 207)^(2/3) + 
2271318237097115625*69^(1/3)*2^(2/3) - 
99785894223312000*69^(1/6)*2^(1/3)*(25*sqrt(69) + 207)^(1/3) - 
497728835949744*9522^(1/3)*(25*sqrt(69) + 207)^(1/3) - 
828883890137982336*(25*sqrt(69) + 207)^(2/3) + 
219331275901257879*276^(1/3))^(QQ(-1))
sage: RIF(A)
TypeError: unable to simplify to a real interval approximation

Note the *rational* exponent -1. If that's an integer there's no problem. 
Using RealIntervalField(200) has the same problem. Using RealField(...) 
seems to work fine.

-- 
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 [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/sage-support.
For more options, visit https://groups.google.com/d/optout.

Reply via email to