Forums before death by AOL, social media and spammers... "We can't have nice things"
|    sci.math.symbolic    |    Symbolic algebra discussion    |    10,432 messages    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
|    Message 10,041 of 10,432    |
|    samuel.thomas.blake@gmail.com to clicl...@freenet.de    |
|    Re: An algebraic integral in FriCAS    |
|    06 May 20 18:49:35    |
      On Thursday, May 7, 2020 at 5:07:58 AM UTC+10, clicl...@freenet.de wrote:       > samuel.thomas.blake@gmail.com schrieb:       > >       > > On Wednesday, May 6, 2020 at 3:40:42 PM UTC+10, Nasser M. Abbasi wrote:       > > > On 5/5/2020 11:14 PM, samuel.thomas.blake@gmail.com wrote:       > > >       > > > >> int(convert(((-3+x^2)*(1-6*x^2+x^4)^(-1/4))/(-1+x^2),RootOf),x);       > > > > memory used=294.4MB, alloc=112.3MB, time=3.47       > > > > memory used=370.5MB, alloc=112.3MB, time=4.30       > > > > memory used=446.8MB, alloc=112.3MB, time=5.04       > > > > memory used=501.3MB, alloc=112.3MB, time=5.54       > > > > memory used=570.5MB, alloc=112.3MB, time=6.13       > > > > 1/2*RootOf(_Z^2+1)*ln(-(-RootOf(_Z^4-x^4+6*x^2-1,index =       1)^2*RootOf(_Z^2+1)*x^2+RootOf(_Z^2+1)*x^4+RootOf(_Z^4-x^4+6*x^2       > > > > -1,index = 1)^3*x-RootOf(_Z^4-x^4+6*x^2-1,index = 1)*x^3       RootOf(_Z^4-x^4+6*x^2-1,index = 1)^2*RootOf(_Z^2+1)-5*RootOf(_Z^       > > > > 2+1)*x^2+3*RootOf(_Z^4-x^4+6*x^2-1,index = 1)*x)/(x+1)/(       -1))+1/2*ln(-(RootOf(_Z^4-x^4+6*x^2-1,index = 1)^3*x+RootOf(_Z^4       > > > > -x^4+6*x^2-1,index = 1)^2*x^2+RootOf(_Z^4-x^4+6*x^2-1,index =       1)*x^3+x^4-RootOf(_Z^4-x^4+6*x^2-1,index = 1)^2-3*RootOf(_Z       > > > > ^4-x^4+6*x^2-1,index = 1)*x-5*x^2)/(x+1)/(x-1))       > > > >       > > >       > > > That is a nice trick. I did not know that converting integrand       > > > to RootOf makes maple do these integrals.       > > >       > > > The antiderivative contains complex numbers, but the result is correct,       because       > > > when it is differentiated it gives back the integrand.       > > >       > > > part1 := 1/(1+6*x^2+x^4)^(3/4);       > > > part2 := (1-x^2)^2;       > > > part3 := 1/(1+x^2);       > > > integrand := part1*part2*part3;       > > > integrand0 := convert( part1*part2*part3, RootOf);       > > > anti := int(integrand0,x):       > > >       > > > anti := [allvalues(res)][1]; #pick first solution, same for second       solution       > > >       > > > anti := ln(((x^4 + 6*x^2 + 1)^(3/4)*x + sqrt(x^4 + 6*x^2 + 1)*x^2 +       > > > (x^4 + 6*x^2 + 1)^(1/4)*x^3 + x^4 + sqrt(x^4 + 6*x^2 + 1) +       > > > 3*(x^4 + 6*x^2 + 1)^(1/4)*x + 5*x^2)/(x^2 + 1))/2 +       > > > ln(-(-sqrt(x^4 + 6*x^2 + 1)*x^4*I + x^6*I + (x^4 + 6*x^2 + 1)^(1/4)*x^5       > > > - 2*I*sqrt(x^4 + 6*x^2 + 1)*x^2 + 6*I*x^4 + 4*(x^4 + 6*x^2 + 1)^(1/4)*x^3       > > > - (x^4 + 6*x^2 + 1)^(3/4)*x^3 - (x^4 + 6*x^2 + 1)^(3/4)*x       > > > - sqrt(x^4 + 6*x^2 + 1)*I + 5*I*x^2       > > > + 3*(x^4 + 6*x^2 + 1)^(1/4)*x)/((x*I + 1)^2*(x*I - 1)^2))*I/2       > > >       > > > back := simplify(diff(anti,x));       > > > simplify(back-integrand)       > > >       > > > 0       > > >       > > > I have to remember this trick ;)       > > >       > >       > > Its the only way I know of to get Maple to use the Trager-Bronstein       > > algorithm for algebraic functions. Maple gives some nice details of       > > the execution of the algorithm using       > >       > > infolevel[int] := 5:       > >       >       > Where did you learn that conversion to RootOf makes Maple apply its       > Risch integrator? This "trick" does not seem to be common knowledge.       >       > Posting the trace information for this integral could perhaps help to       > raise FriCAS performance towards the level of Maple's algebraic Risch       > integrator? It's no small step from 70.0% to 91.6%, as measured on       > your testsuite of 190 integrals.       >       > Martin.              Hi Martin,              No, it doesn't seem to be well-known. I saw it used by Bronstein in a post in       this group concerning the integral of              x*(-71-96*x+10*x^2+x^4)^(-1/2)              Then I subsequently saw it mentioned in passing in a tutorial by Geddes.              Using this conversion, Maple finds solutions to many integrals where FriCAS       reports "implementation incomplete (residue poly has multiple non-linear       factors)".              Cheers,              Sam              --- SoupGate-Win32 v1.05        * Origin: you cannot sedate... all the things you hate (1:229/2)    |
[   << oldest   |   < older   |   list   |   newer >   |   newest >>   ]
(c) 1994, bbs@darkrealms.ca