Surprising, but satisfactory. I had forgotten that the meijerg method would work for some elliptic integrals, though in this case none of those remain in the solution.
On Thursday, July 23, 2015 at 10:50:43 PM UTC+3, Aaron Meurer wrote: > > Oh, I take that back: > > In [16]: print(integrate(sqrt(sqrt(x))*sqrt(1 + sqrt(x)))) > 2*x**(7/4)/(3*sqrt(sqrt(x) + 1)) + 5*x**(5/4)/(6*sqrt(sqrt(x) + 1)) - > x**(3/4)/(12*sqrt(sqrt(x) + 1)) - x**(1/4)/(4*sqrt(sqrt(x) + 1)) + > asinh(x**(1/4))/4 > > (this is coming from the meijerg algorithm). And I wouldn't be surprised > if some rewriting of it made heurisch handle it as well. The real power of > the full Risch algorithm is that it uses canonical forms of algebraic > functions, so it is immune to simple rewrites like this one. > > Aaron Meurer > > > On Thu, Jul 23, 2015 at 2:45 PM, Aaron Meurer <[email protected] > <javascript:>> wrote: > >> It's worth pointing out that computing this integral is very likely going >> to require the algebraic Risch algorithm. Maybe a pattern matching case for >> it can be added to something like Rubi or manulaintegrate (I'm actually >> curious if Rubi can do this), but the solution, at least as Sage has >> presented it, looks rather complicated (e.g., the fact that the result has >> logarithms means that pattern matching integrators are going to be limited >> without at least *some* Risch algorithm). >> >> Aaron Meurer >> >> On Thu, Jul 23, 2015 at 2:42 PM, Aaron Meurer <[email protected] >> <javascript:>> wrote: >> >>> I think it is correct, at least algebraically: >>> >>> In [6]: a = S("-1/12*(3*(sqrt(x) + 1)^(5/2)/x^(5/4) - 8*(sqrt(x) + >>> 1)^(3/2)/x^(3/4) - 3*sqrt(sqrt(x) + 1)/x^(1/4))/((sqrt(x) + 1)^3/x^(3/2) - >>> 3*(sqrt(x) + 1)^2/x + 3*(sqrt(x) + 1)/sqrt(x) - 1) + 1/8*log(sqrt(sqrt(x) + >>> 1)/x^(1/4) + 1) - 1/8*log(sqrt(sqrt(x) + 1)/x^(1/4) - 1)") >>> >>> In [7]: print(simplify(a.diff(x))) >>> x**(1/4)*sqrt(sqrt(x) + 1) >>> >>> (if you distribute sqrt(sqrt(x)) inside the sqrt(sqrt(x) + 1) you get >>> sqrt(x + sqrt(x)) >>> >>> Aaron Meurer >>> >>> On Thu, Jul 23, 2015 at 2:37 PM, Kalevi Suominen <[email protected] >>> <javascript:>> wrote: >>> >>>> >>>> >>>> On Thursday, July 23, 2015 at 8:31:41 PM UTC+3, Denis Akhiyarov wrote: >>>>> >>>>> Sympy cannot do this? >>>>> >>>>> integrate(sqrt(x+sqrt(x))) >>>>> >>>>> BTW, this is computed by SAGE: >>>>> >>>>> -1/12*(3*(sqrt(x) + 1)^(5/2)/x^(5/4) - 8*(sqrt(x) + 1)^(3/2)/x^(3/4) - >>>>> 3*sqrt(sqrt(x) + 1)/x^(1/4))/((sqrt(x) + 1)^3/x^(3/2) - 3*(sqrt(x) + >>>>> 1)^2/x >>>>> + 3*(sqrt(x) + 1)/sqrt(x) - 1) + 1/8*log(sqrt(sqrt(x) + 1)/x^(1/4) + 1) - >>>>> 1/8*log(sqrt(sqrt(x) + 1)/x^(1/4) - 1) >>>>> >>>> >>>> >>>> I Is it possible to verify that this really is a solution. The >>>> integrand seems to belong to an elliptic function field where integration >>>> rarely succeeds in terms of algebraic expressions. >>>> >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "sympy" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected] <javascript:>. >>>> To post to this group, send email to [email protected] >>>> <javascript:>. >>>> Visit this group at http://groups.google.com/group/sympy. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/sympy/f09ea601-6539-4d3e-9eb9-636d238882df%40googlegroups.com >>>> >>>> <https://groups.google.com/d/msgid/sympy/f09ea601-6539-4d3e-9eb9-636d238882df%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> >>> >> > -- You received this message because you are subscribed to the Google Groups "sympy" 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/sympy. To view this discussion on the web visit https://groups.google.com/d/msgid/sympy/84437982-5091-4405-aa3f-85dcecaa132a%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
