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,039 of 10,432   
   samuel.thomas.blake@gmail.com to Nasser M. Abbasi   
   Re: An algebraic integral in FriCAS   
   05 May 20 23:04:42   
   
   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)^   
   *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+Roo   
   Of(_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)/(x-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 ;)   
   >   
   > --Nasser   
      
   Hi Nasser,   
      
   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:   
      
      
   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