From: Arthur N. <ac...@ca...> - 2024-01-07 11:40:28
|
On Sun, 7 Jan 2024, Arthur Norman wrote: >> redcsl -w >> Reduce (CSL, rev 6657), 10-Dec-2023 ... >> >> 1: int( >> x*(1+x)^(2/3)*(1-x)^(1/2)/(-(1-x)^(5/6)*(1+x)^(1/3)+(1-x)^(2/3)*(1+x)^(1/2)),x); >> Killed >> After about 10-15 minutes. I am running this on Linux Manjaro inside >> virtual box with 64 GB RAM for the VBox, and on fast PC. > This message is mainly for other Reduce maintainers. When I arrange to be able to get a backtrace from this (which took be a little bit of fiddling, but redefining systemgchook to raise an error dis the trick) I see a fragment of the traceback saying as follows where there has been an attempt to make progress via trig functions, where abominably large integers are in play and I end up in a hugely deep recursion of !*multf. This after only around 30 seconds of CPU time. The expression I see looks as if it includes a cos(!!intvar2)^1364. Ha ha ha. Via "on trint" I can see it has started by shifting so that instead of both x+1 and x-1 it has y and y-2 or some such and there is anther conversion => 1-w^2. We get Start of Integration; integrand is 2 2/3 2 2*( - !intvar1 + 2) *!intvar1*( - !intvar1 + 1) -------------------------------------------------------------------------- 1/3 1/3 2 1/3 2 !intvar1 *(!intvar1 *( - !intvar1 + 2) - sqrt( - !intvar1 + 2)) and that prompts a conversion to Start of Integration; integrand is 1/3 2/3 2 2 (4*cos(!intvar2) *2 *cos(!intvar2) *sin(!intvar2)*( - 2*cos(!intvar2) + 1)) 1/3 1/3 /(sqrt(2) *(sin(!intvar2) *cos(!intvar2)*sqrt(2) 1/3 2 1/3 2/3 1/3 - sqrt(2) *( - cos(!intvar2) + 1) *cos(!intvar2) *2 )) Determination of the differential field descriptor gives the functions: ((expt (cos !!intvar2) (quotient 1 3)) (expt (plus (minus (expt (cos !!intvar2) 2)) 1) (quotient 1 3)) (expt (sin !!intvar2) (quotient 1 3)) (sin !!intvar2) (cos !!intvar2) !!intvar2) after which things fairly repidly go ugly! Any ideas? Arthur > -2006582604045247462173839524414111582012306138161916297721207009532444822043 > )))))) > Inside: transcendentalcase > Arg1: ((((#1=(cos !!intvar2) . 4) ((#2=(expt #1# (quotient 1 3)) . 1) ((#3=(e > 2 (quotient 1 3)) . 2) ((#4=(sin !!intvar2) . 1) . -8)))) ((#1# . 2) ((#2# . > ((#3# . 2) ((#4# . 1) . 4))))) ((#1# . 1) (((expt #4# (quotient 1 3)) . 1) ( > =(expt #5=(sqrt 2) (quotient 1 3)) . 1) ((#5# . 1) . 1)))) ((#2# . 2) (((expt > plus (minus (expt #1# 2)) 1) (quotient 1 3)) . 1) ((#6# . 2) ((#3# . 1) . -1) > ) > Arg2: !!intvar2 > Arg3: nil > Arg4: ((expt #1=(cos !!intvar2) (quotient 1 3)) (expt (plus (minus (expt #1# > 1) (quotient 1 3)) (expt #2=(sin !!intvar2) (quotient 1 3)) #2# #1# !!intvar > Arg5: ((expt 2 (quotient 1 3)) (expt #1=(sqrt 2) (quotient 1 3)) #1#) > Inside: integratesq > Arg1: ((((#1=(cos !!intvar2) . 4) ((#2=(expt #1# (quotient 1 3)) . 1) ((#3=(e > 2 (quotient 1 3)) . 2) ((#4=(sin !!intvar2) . 1) . -8)))) ((#1# . 2) ((#2# . > ((#3# . 2) ((#4# . 1) . 4))))) ((#1# . 1) (((expt #4# (quotient 1 3)) . 1) ( > =(expt #5=(sqrt 2) (quotient 1 3)) . 1) ((#5# . 1) . 1)))) ((#2# . 2) (((expt > plus (minus (expt #1# 2)) 1) (quotient 1 3)) . 1) ((#6# . 2) ((#3# . 1) . -1) > ) > Arg2: !!intvar2 > Arg3: nil > Arg4: nil > Calling transcendentalcase from integratesq > Arg1: ((((#1=(expt (plus (minus (expt !!intvar1 6)) 2) (quotient 1 3)) . 2) ( > !!intvar1 . 10) . -6) ((!!intvar1 . 4) . 6))) ((#1# . 1) ((!!intvar1 . 1) . 1 > (((sqrt (plus (minus (expt !!intvar1 6)) 2)) . 1) . -1)) > Arg2: !!intvar1 |