Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

A simple rational computation throws RuntimeError: ECL says: THROW: The catch RAT-ERR is undefined.

I have two a simple but highly nested (rational) expressions, compute their difference and want to manipulate the output:

sage: x, Y = var('x Y')
sage: xi = function('xi')
sage: phi = function('phi')
sage: e1=1/22*(1/((3993*x**11/((121*x**6 - 2112*x**2/(Y/x**2 + 16/x**4) +19216/(x**2*(Y**2/x**4 + 32*Y/x**6 +          256/x**8)))*(55*x**6/(11*x**3 - 96/(x*(Y/x**2 + 16/x**4))) - 5*x**3 - 792*x**2/((11*
....: x**3 - 96/(x*(Y/x**2 + 16/x**4)))*(Y/x**2 + 16/x**4)))*(5*x**6/(11*x**3 - 96/(x*(Y/x**2 + 16/x**4))) - 72*x**2/((11*x**3 - 96/(x*(Y/x**2 + 16/x**4)))*(Y/x**2 + 16/x**4)))) + 5*Y*x**4/(11*x
....: **3 - 96/(x*(Y/x**2 + 16/x**4))))*x**2) + 16/((33*Y*x**7/((5*x**6/(11*x**3 - 96/(x*(Y/x**2 + 16/x**4))) - 72*x**2/((11*x**3 - 96/(x*(Y/x**2 + 16/x**4)))*(Y/x**2 + 16/x**4)))*(11*x**3 - 96/
....: (x*(Y/x**2 + 16/x**4)))) - 80*Y*x**4/(11*x**3 - 96/(x*(Y/x**2 + 16/x**4))))*x**2))*phi(Y, x)/(3993*x**7/((3993*x**11/((121*x**6 - 2112*x**2/(Y/x**2 + 16/x**4) + 9216/(x**2*(Y**2/x**4 + 32*
....: Y/x**6 + 256/x**8)))*(55*x**6/(11*x**3 - 96/(x*(Y/x**2 + 16/x**4))) - 5*x**3 - 792*x**2/((11*x**3 - 96/(x*(Y/x**2 + 16/x**4)))*(Y/x**2 + 16/x**4)))*(5*x**6/(11*x**3 - 96/(x*(Y/x**2 + 16/x*
....: *4))) - 72*x**2/((11*x**3 - 96/(x*(Y/x**2 + 16/x**4)))*(Y/x**2 + 16/x**4)))) + 5*Y*x**4/(11*x**3 - 96/(x*(Y/x**2 + 16/x**4))))*(121*x**6 - 2112*x**2/(Y/x**2 + 16/x**4) + 9216/(x**2*(Y**2/x
....: **4 + 32*Y/x**6 + 256/x**8)))*(55*x**6/(11*x**3 - 96/(x*(Y/x**2 + 16/x**4))) - 5*x**3 - 792*x**2/((11*x**3 - 96/(x*(Y/x**2 + 16/x**4)))*(Y/x**2 + 16/x**4)))*(5*x**6/(11*x**3 - 96/(x*(Y/x**
....: 2 + 16/x**4))) - 72*x**2/((11*x**3 - 96/(x*(Y/x**2 + 16/x**4)))*(Y/x**2 + 16/x**4)))) - 33*Y*x**3/((33*Y*x**7/((5*x**6/(11*x**3 - 96/(x*(Y/x**2 + 16/x**4))) - 72*x**2/((11*x**3 - 96/(x*(Y/ 
....: x**2 + 16/x**4)))*(Y/x**2 + 16/x**4)))*(11*x**3 - 96/(x*(Y/x**2 + 16/x**4)))) - 80*Y*x**4/(11*x**3 - 96/(x*(Y/x**2 + 16/x**4))))*(5*x**6/(11*x**3 - 96/(x*(Y/x**2 + 16/x**4))) - 72*x**2/((1
....: 1*x**3 - 96/(x*(Y/x**2 + 16/x**4)))*(Y/x**2 + 16/x**4)))*(11*x**3 - 96/(x*(Y/x**2 + 16/x**4)))) + 5*Y/((3993*x**11/((121*x**6 - 2112*x**2/(Y/x**2 + 16/x**4) + 9216/(x**2*(Y**2/x**4 + 32*Y/
....: x**6 + 256/x**8)))*(55*x**6/(11*x**3 - 96/(x*(Y/x**2 + 16/x**4))) - 5*x**3 - 792*x**2/((11*x**3 - 96/(x*(Y/x**2 + 16/x**4)))*(Y/x**2 + 16/x**4)))*(5*x**6/(11*x**3 - 96/(x*(Y/x**2 + 16/x**4
....: ))) - 72*x**2/((11*x**3 - 96/(x*(Y/x**2 + 16/x**4)))*(Y/x**2 + 16/x**4)))) + 5*Y*x**4/(11*x**3 - 96/(x*(Y/x**2 + 16/x**4))))*(11*x**3 - 96/(x*(Y/x**2 + 16/x**4)))) + 80*Y/((33*Y*x**7/((5*x
....: **6/(11*x**3 - 96/(x*(Y/x**2 + 16/x**4))) - 72*x**2/((11*x**3 - 96/(x*(Y/x**2 + 16/x**4)))*(Y/x**2 + 16/x**4)))*(11*x**3 - 96/(x*(Y/x**2 + 16/x**4)))) - \ 
....: 80*Y*x**4/(11*x**3 - 96/(x*(Y/x**2 + 16/x**4))))*(11*x**3 - 96/(x*(Y/x**2 + 16/x**4))))) \ 
....: + xi(Y, x)
 sage: e2=1/22*(1/((363*x**11/((25*x**12/(121*x**6 - 2112*x**2/(Y/x**2 + 16/x**4) + 9216/(x**2*(Y/x**2 + 16/x**4)**2)) - 720*x**8/((121*x**6 - 2112*x**2/(Y/x**2 + 16/x**4) + 9216/(x**2*(Y**2/x**4 + 32*Y/x**6 + 256/x**8)))*(Y/x**2 + 16/x**4)) + 5184*x**4/((121*x**6 - 2112*x**2/(Y/x**2 + 16/x**4) + 9216/(x**2*(Y/x**2 + 16/x**4)**2))*(Y**2/x**4 + 32*Y/x**6 + 256/x**8)))*(121*x**6 - 2112*x**2/(Y/x**2 + 16/x**4) + 9216/(x**2*(Y**2/x**4 + 32*Y/x**6 + 256/x**8)))) + 5*Y*x**4/(11*x**3 - 96/(x*(Y/x**2 + 16/x**4))))*x**2) + 16/((33*Y*x**7/((5*x**6/(11*x**3 - 96/(x*(Y/x**2 + 16/x**4))) - 72*x**2/((11*x**3 - 96/(x*(Y/x**2 + 16/x**4)))*(Y/x**2 + 16/x**4)))*(11*x**3 - 96/(x*(Y/x**2 + 16/x**4)))) - 80*Y*x**4/(11*x**3 - 96/(x*(Y/x**2 + 16/x**4))))*x**2))*phi(Y, x)/(363*x**7/((25*x**12/(121*x**6 - 2112*x**2/(Y/x**2 + 16/x**4) + 9216/(x**2*(Y/x**2 + 16/x**4)**2)) - 720*x**8/((121*x**6 - 2112*x**2/(Y/x**2 + 16/x**4) + 9216/(x**2*(Y**2/x**4 + 32*Y/x**6 + 256/x**8)))*(Y/x**2 + 16/x**4)) + 5184*x**4/((121*x**6 - 2112*x**2/(Y/x**2 + 16/x**4) + 9216/(x**2*(Y/x**2 + 16/x**4)**2))*(Y**2/x**4 + 32*Y/x**6 + 256/x**8)))*(363*x**11/((25*x**12/(121*x**6 - 2112*x**2/(Y/x**2 + 16/x**4) + 9216/(x**2*(Y/x**2 + 16/x**4)**2)) - 720*x**8/((121*x**6 - 2112*x**2/(Y/x**2 + 16/x**4) + 9216/(x**2*(Y**2/x**4 + 32*Y/x**6 + 256/x**8)))*(Y/x**2 + 16/x**4)) + 5184*x**4/((121*x**6 - 2112*x**2/(Y/x**2 + 16/x**4) + 9216/(x**2*(Y/x**2 + 16/x**4)**2))*(Y**2/x**4 + 32*Y/x**6 + 256/x**8)))*(121*x**6 - 2112*x**2/(Y/x**2 + 16/x**4) + 9216/(x**2*(Y**2/x**4 + 32*Y/x**6 + 256/x**8)))) + 5*Y*x**4/(11*x**3 - 96/(x*(Y/x**2 + 16/x**4))))*(121*x**6 - 2112*x**2/(Y/x**2 + 16/x**4) + 9216/(x**2*(Y**2/x**4 + 32*Y/x**6 + 256/x**8)))) - 33*Y*x**3/((33*Y*x**7/((5*x**6/(11*x**3 - 96/(x*(Y/x**2 + 16/x**4))) - 72*x**2/((11*x**3 - 96/(x*(Y/x**2 + 16/x**4)))*(Y/x**2 + 16/x**4)))*(11*x**3 - 96/(x*(Y/x**2 + 16/x**4)))) - 80*Y*x**4/(11*x**3 - 96/(x*(Y/x**2 + 16/x**4))))*(5*x**6/(11*x**3 - 96/(x*(Y/x**2 + 16/x**4))) - 72*x**2/((11*x**3 - 96/(x*(Y/x**2 + 16/x**4)))*(Y/x**2 + 16/x**4)))*(11*x**3 - 96/(x*(Y/x**2 + 16/x**4)))) + 5*Y/((363*x**11/((25*x**12/(121*x**6 - 2112*x**2/(Y/x**2 + 16/x**4) + 9216/(x**2*(Y/x**2 + 16/x**4)**2)) - 720*x**8/((121*x**6 - 2112*x**2/(Y/x**2 + 16/x**4) + 9216/(x**2*(Y**2/x**4 + 32*Y/x**6 + 256/x**8)))*(Y/x**2 + 16/x**4)) + 5184*x**4/((121*x**6 - 2112*x**2/(Y/x**2 + 16/x**4) + 9216/(x**2*(Y/x**2 + 16/x**4)**2))*(Y**2/x**4 + 32*Y/x**6 + 256/x**8)))*(121*x**6 - 2112*x**2/(Y/x**2 + 16/x**4) + 9216/(x**2*(Y**2/x**4 + 32*Y/x**6 + 256/x**8)))) + 5*Y*x**4/(11*x**3 - 96/(x*(Y/x**2 + 16/x**4))))*(11*x**3 - 96/(x*(Y/x**2 + 16/x**4)))) + 80*Y/((33*Y*x**7/((5*x**6/(11*x**3 - 96/(x*(Y/x**2 + 16/x**4))) - 72*x**2/((11*x**3 - 96/(x*(Y/x**2 + 16/x**4)))*(Y/x**2 + 16/x**4)))*(11*x**3 - 96/(x*(Y/x**2 + 16/x**4)))) - 80*Y*x**4/(11*x**3 - 96/(x*(Y/x**2 + 16/x**4))))*(11*x**3 - 96/(x*(Y/x**2 + 16/x**4))))) + xi(Y, x)
sage: v = (e1 - e2).denominator()

This throws a : RuntimeError: ECL says: THROW: The catch RAT-ERR is undefined.

Is there a possible workaround around maxima? This kind of rational expression occur very frequently in my computations.

Sorry for the strange formatting, I have no idea why the copy-paste of e1 gives continuation lines, and that of e2 not.