home bbs files messages ]

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