some output from integrate using giac gives Malformed expression
Using sagemath 9.3
on Linux.
Some calls to integrate using giac as algorithm do not get assigned to the variable on the LHS. i.e. when doing anti=integrate(....)
, then typing anti
gives NameError
. This happens because giac return the result of integrate with strange warning mesagaes before, even thought the actual antiderivative is returned at the end. But It is not possible to capture this due to the error sagemath have parsing the output from giac.
There are many such cases. I will show one below.
When using giac directly, the result of integrate is assigned to the variable. The version of giac is Giac/Xcas 1.7 on Linux
>sage
┌────────────────────────────────────────────────────────────────────┐
│ SageMath version 9.3, Release Date: 2021-05-09 │
│ Using Python 3.9.4. Type "help()" for help. │
└────────────────────────────────────────────────────────────────────┘
sage: var('x b')
(x, b)
sage: anti=integrate((-b*x+2)^(5/2)*x^(1/2),x, algorithm="giac")
---------------------------------------------------------------------------
SyntaxError Traceback (most recent call last)
/usr/lib/python3.9/site-packages/sage/interfaces/giac.py in _sage_(self, locals)
1131 try:
-> 1132 return symbolic_expression_from_string(result, lsymbols,
1133 accept_sequence=True)
/usr/lib/python3.9/site-packages/sage/calculus/calculus.py in symbolic_expression_from_string(s, syms, accept_sequence)
2407 if isinstance(v,Function)})
-> 2408 return parse_func(s)
2409
/usr/lib/python3.9/site-packages/sage/misc/parser.pyx in sage.misc.parser.Parser.parse_sequence (build/cythonized/sage/misc/parser.c:5837)()
549
--> 550 cpdef parse_sequence(self, s):
551 """
/usr/lib/python3.9/site-packages/sage/misc/parser.pyx in sage.misc.parser.Parser.parse_sequence (build/cythonized/sage/misc/parser.c:5724)()
567 if tokens.next() != EOS:
--> 568 self.parse_error(tokens)
569 if len(all) == 1 and isinstance(all, list):
/usr/lib/python3.9/site-packages/sage/misc/parser.pyx in sage.misc.parser.Parser.parse_error (build/cythonized/sage/misc/parser.c:10208)()
1018 cdef parse_error(self, Tokenizer tokens, msg="Malformed expression"):
-> 1019 raise SyntaxError(msg, tokens.s, tokens.pos)
1020
SyntaxError: Malformed expression
During handling of the above exception, another exception occurred:
NotImplementedError Traceback (most recent call last)
<ipython-input-2-eb4066502734> in <module>
----> 1 anti=integrate((-b*x+Integer(2))**(Integer(5)/Integer(2))*x**(Integer(1)/Integer(2)),x, algorithm="giac")
/usr/lib/python3.9/site-packages/sage/misc/functional.py in integral(x, *args, **kwds)
757 """
758 if hasattr(x, 'integral'):
--> 759 return x.integral(*args, **kwds)
760 else:
761 from sage.symbolic.ring import SR
/usr/lib/python3.9/site-packages/sage/symbolic/expression.pyx in sage.symbolic.expression.Expression.integral (build/cythonized/sage/symbolic/expression.cpp:66867)()
12645 R = SR
12646 return R(integral(f, v, a, b, **kwds))
> 12647 return integral(self, *args, **kwds)
12648
12649 integrate = integral
/usr/lib/python3.9/site-packages/sage/symbolic/integration/integral.py in integrate(expression, v, a, b, algorithm, hold)
988 if not integrator:
989 raise ValueError("Unknown algorithm: %s" % algorithm)
--> 990 return integrator(expression, v, a, b)
991 if a is None:
992 return indefinite_integral(expression, v, hold=hold)
/usr/lib/python3.9/site-packages/sage/symbolic/integration/external.py in giac_integrator(expression, v, a, b)
446 return expression.integrate(v, a, b, hold=True)
447 else:
--> 448 return result._sage_()
/usr/lib/python3.9/site-packages/sage/interfaces/giac.py in _sage_(self, locals)
1134
1135 except Exception:
-> 1136 raise NotImplementedError("Unable to parse Giac output: %s" % result)
1137 else:
1138 return [entry.sage() for entry in self]
NotImplementedError: Unable to parse Giac output: Warning, choosing root of [1,0,%%%{4,[1,1]%%%}+%%%{4,[1,0]%%%}+%%%{-4,[0,1]%%%}+%%%{-8,[0,0]%%%},0,%%%{6,[2,2]%%%}+%%%{4,[2,1]%%%}+%%%{6,[2,0]%%%}+%%%{-4,[1,2]%%%}+%%%{-28,[1,1]%%%}+%%%{-8,[1,0]%%%}+%%%{6,[0,2]%%%}+%%%{8,[0,1]%%%}+%%%{24,[0,0]%%%},0,%%%{4,[3,3]%%%}+%%%{-4,[3,2]%%%}+%%%{-4,[3,1]%%%}+%%%{4,[3,0]%%%}+%%%{4,[2,3]%%%}+%%%{-64,[2,2]%%%}+%%%{20,[2,1]%%%}+%%%{8,[2,0]%%%}+%%%{-4,[1,3]%%%}+%%%{-20,[1,2]%%%}+%%%{128,[1,1]%%%}+%%%{-16,[1,0]%%%}+%%%{-4,[0,3]%%%}+%%%{8,[0,2]%%%}+%%%{16,[0,1]%%%}+%%%{-32,[0,0]%%%},0,%%%{1,[4,4]%%%}+%%%{-4,[4,3]%%%}+%%%{6,[4,2]%%%}+%%%{-4,[4,1]%%%}+%%%{1,[4,0]%%%}+%%%{4,[3,4]%%%}+%%%{-12,[3,3]%%%}+%%%{20,[3,2]%%%}+%%%{-20,[3,1]%%%}+%%%{8,[3,0]%%%}+%%%{6,[2,4]%%%}+%%%{-20,[2,3]%%%}+%%%{46,[2,2]%%%}+%%%{-40,[2,1]%%%}+%%%{24,[2,0]%%%}+%%%{4,[1,4]%%%}+%%%{-20,[1,3]%%%}+%%%{40,[1,2]%%%}+%%%{-48,[1,1]%%%}+%%%{32,[1,0]%%%}+%%%{1,[0,4]%%%}+%%%{-8,[0,3]%%%}+%%%{24,[0,2]%%%}+%%%{-32,[0,1]%%%}+%%%{16,[0,0]%%%}] at parameters values [-17.5134260082,53.112478131]
Warning, choosing root of [1,0,%%%{4,[1,1]%%%}+%%%{4,[1,0]%%%}+%%%{-4,[0,1]%%%}+%%%{-8,[0,0]%%%},0,%%%{6,[2,2]%%%}+%%%{4,[2,1]%%%}+%%%{6,[2,0]%%%}+%%%{-4,[1,2]%%%}+%%%{-28,[1,1]%%%}+%%%{-8,[1,0]%%%}+%%%{6,[0,2]%%%}+%%%{8,[0,1]%%%}+%%%{24,[0,0]%%%},0,%%%{4,[3,3]%%%}+%%%{-4,[3,2]%%%}+%%%{-4,[3,1]%%%}+%%%{4,[3,0]%%%}+%%%{4,[2,3]%%%}+%%%{-64,[2,2]%%%}+%%%{20,[2,1]%%%}+%%%{8,[2,0]%%%}+%%%{-4,[1,3]%%%}+%%%{-20,[1,2]%%%}+%%%{128,[1,1]%%%}+%%%{-16,[1,0]%%%}+%%%{-4,[0,3]%%%}+%%%{8,[0,2]%%%}+%%%{16,[0,1]%%%}+%%%{-32,[0,0]%%%},0,%%%{1,[4,4]%%%}+%%%{-4,[4,3]%%%}+%%%{6,[4,2]%%%}+%%%{-4,[4,1]%%%}+%%%{1,[4,0]%%%}+%%%{4,[3,4]%%%}+%%%{-12,[3,3]%%%}+%%%{20,[3,2]%%%}+%%%{-20,[3,1]%%%}+%%%{8,[3,0]%%%}+%%%{6,[2,4]%%%}+%%%{-20,[2,3]%%%}+%%%{46,[2,2]%%%}+%%%{-40,[2,1]%%%}+%%%{24,[2,0]%%%}+%%%{4,[1,4]%%%}+%%%{-20,[1,3]%%%}+%%%{40,[1,2]%%%}+%%%{-48,[1,1]%%%}+%%%{32,[1,0]%%%}+%%%{1,[0,4]%%%}+%%%{-8,[0,3]%%%}+%%%{24,[0,2]%%%}+%%%{-32,[0,1]%%%}+%%%{16,[0,0]%%%}] at parameters values [-62.3026123089,89.629912049]
Warning, choosing root of [1,0,%%%{4,[1,1]%%%}+%%%{4,[1,0]%%%}+%%%{-4,[0,1]%%%}+%%%{-8,[0,0]%%%},0,%%%{6,[2,2]%%%}+%%%{4,[2,1]%%%}+%%%{6,[2,0]%%%}+%%%{-4,[1,2]%%%}+%%%{-28,[1,1]%%%}+%%%{-8,[1,0]%%%}+%%%{6,[0,2]%%%}+%%%{8,[0,1]%%%}+%%%{24,[0,0]%%%},0,%%%{4,[3,3]%%%}+%%%{-4,[3,2]%%%}+%%%{-4,[3,1]%%%}+%%%{4,[3,0]%%%}+%%%{4,[2,3]%%%}+%%%{-64,[2,2]%%%}+%%%{20,[2,1]%%%}+%%%{8,[2,0]%%%}+%%%{-4,[1,3]%%%}+%%%{-20,[1,2]%%%}+%%%{128,[1,1]%%%}+%%%{-16,[1,0]%%%}+%%%{-4,[0,3]%%%}+%%%{8,[0,2]%%%}+%%%{16,[0,1]%%%}+%%%{-32,[0,0]%%%},0,%%%{1,[4,4]%%%}+%%%{-4,[4,3]%%%}+%%%{6,[4,2]%%%}+%%%{-4,[4,1]%%%}+%%%{1,[4,0]%%%}+%%%{4,[3,4]%%%}+%%%{-12,[3,3]%%%}+%%%{20,[3,2]%%%}+%%%{-20,[3,1]%%%}+%%%{8,[3,0]%%%}+%%%{6,[2,4]%%%}+%%%{-20,[2,3]%%%}+%%%{46,[2,2]%%%}+%%%{-40,[2,1]%%%}+%%%{24,[2,0]%%%}+%%%{4,[1,4]%%%}+%%%{-20,[1,3]%%%}+%%%{40,[1,2]%%%}+%%%{-48,[1,1]%%%}+%%%{32,[1,0]%%%}+%%%{1,[0,4]%%%}+%%%{-8,[0,3]%%%}+%%%{24,[0,2]%%%}+%%%{-32,[0,1]%%%}+%%%{16,[0,0]%%%}] at parameters values [-94.177692275,55.0343274642]
Warning, choosing root of [1,0,%%%{4,[1,1]%%%}+%%%{4,[1,0]%%%}+%%%{-4,[0,1]%%%}+%%%{-8,[0,0]%%%},0,%%%{6,[2,2]%%%}+%%%{4,[2,1]%%%}+%%%{6,[2,0]%%%}+%%%{-4,[1,2]%%%}+%%%{-28,[1,1]%%%}+%%%{-8,[1,0]%%%}+%%%{6,[0,2]%%%}+%%%{8,[0,1]%%%}+%%%{24,[0,0]%%%},0,%%%{4,[3,3]%%%}+%%%{-4,[3,2]%%%}+%%%{-4,[3,1]%%%}+%%%{4,[3,0]%%%}+%%%{4,[2,3]%%%}+%%%{-64,[2,2]%%%}+%%%{20,[2,1]%%%}+%%%{8,[2,0]%%%}+%%%{-4,[1,3]%%%}+%%%{-20,[1,2]%%%}+%%%{128,[1,1]%%%}+%%%{-16,[1,0]%%%}+%%%{-4,[0,3]%%%}+%%%{8,[0,2]%%%}+%%%{16,[0,1]%%%}+%%%{-32,[0,0]%%%},0,%%%{1,[4,4]%%%}+%%%{-4,[4,3]%%%}+%%%{6,[4,2]%%%}+%%%{-4,[4,1]%%%}+%%%{1,[4,0]%%%}+%%%{4,[3,4]%%%}+%%%{-12,[3,3]%%%}+%%%{20,[3,2]%%%}+%%%{-20,[3,1]%%%}+%%%{8,[3,0]%%%}+%%%{6,[2,4]%%%}+%%%{-20,[2,3]%%%}+%%%{46,[2,2]%%%}+%%%{-40,[2,1]%%%}+%%%{24,[2,0]%%%}+%%%{4,[1,4]%%%}+%%%{-20,[1,3]%%%}+%%%{40,[1,2]%%%}+%%%{-48,[1,1]%%%}+%%%{32,[1,0]%%%}+%%%{1,[0,4]%%%}+%%%{-8,[0,3]%%%}+%%%{24,[0,2]%%%}+%%%{-32,[0,1]%%%}+%%%{16,[0,0]%%%}] at parameters values [-47.5119365202,16.0204098616]
Warning, choosing root of [1,0,%%%{4,[1,1]%%%}+%%%{4,[1,0]%%%}+%%%{-4,[0,1]%%%}+%%%{-8,[0,0]%%%},0,%%%{6,[2,2]%%%}+%%%{4,[2,1]%%%}+%%%{6,[2,0]%%%}+%%%{-4,[1,2]%%%}+%%%{-28,[1,1]%%%}+%%%{-8,[1,0]%%%}+%%%{6,[0,2]%%%}+%%%{8,[0,1]%%%}+%%%{24,[0,0]%%%},0,%%%{4,[3,3]%%%}+%%%{-4,[3,2]%%%}+%%%{-4,[3,1]%%%}+%%%{4,[3,0]%%%}+%%%{4,[2,3]%%%}+%%%{-64,[2,2]%%%}+%%%{20,[2,1]%%%}+%%%{8,[2,0]%%%}+%%%{-4,[1,3]%%%}+%%%{-20,[1,2]%%%}+%%%{128,[1,1]%%%}+%%%{-16,[1,0]%%%}+%%%{-4,[0,3]%%%}+%%%{8,[0,2]%%%}+%%%{16,[0,1]%%%}+%%%{-32,[0,0]%%%},0,%%%{1,[4,4]%%%}+%%%{-4,[4,3]%%%}+%%%{6,[4,2]%%%}+%%%{-4,[4,1]%%%}+%%%{1,[4,0]%%%}+%%%{4,[3,4]%%%}+%%%{-12,[3,3]%%%}+%%%{20,[3,2]%%%}+%%%{-20,[3,1]%%%}+%%%{8,[3,0]%%%}+%%%{6,[2,4]%%%}+%%%{-20,[2,3]%%%}+%%%{46,[2,2]%%%}+%%%{-40,[2,1]%%%}+%%%{24,[2,0]%%%}+%%%{4,[1,4]%%%}+%%%{-20,[1,3]%%%}+%%%{40,[1,2]%%%}+%%%{-48,[1,1]%%%}+%%%{32,[1,0]%%%}+%%%{1,[0,4]%%%}+%%%{-8,[0,3]%%%}+%%%{24,[0,2]%%%}+%%%{-32,[0,1]%%%}+%%%{16,[0,0]%%%}] at parameters values [-54.7543625063,66.0382199469]
Warning, choosing root of [1,0,%%%{4,[1,1]%%%}+%%%{4,[1,0]%%%}+%%%{-4,[0,1]%%%}+%%%{-8,[0,0]%%%},0,%%%{6,[2,2]%%%}+%%%{4,[2,1]%%%}+%%%{6,[2,0]%%%}+%%%{-4,[1,2]%%%}+%%%{-28,[1,1]%%%}+%%%{-8,[1,0]%%%}+%%%{6,[0,2]%%%}+%%%{8,[0,1]%%%}+%%%{24,[0,0]%%%},0,%%%{4,[3,3]%%%}+%%%{-4,[3,2]%%%}+%%%{-4,[3,1]%%%}+%%%{4,[3,0]%%%}+%%%{4,[2,3]%%%}+%%%{-64,[2,2]%%%}+%%%{20,[2,1]%%%}+%%%{8,[2,0]%%%}+%%%{-4,[1,3]%%%}+%%%{-20,[1,2]%%%}+%%%{128,[1,1]%%%}+%%%{-16,[1,0]%%%}+%%%{-4,[0,3]%%%}+%%%{8,[0,2]%%%}+%%%{16,[0,1]%%%}+%%%{-32,[0,0]%%%},0,%%%{1,[4,4]%%%}+%%%{-4,[4,3]%%%}+%%%{6,[4,2]%%%}+%%%{-4,[4,1]%%%}+%%%{1,[4,0]%%%}+%%%{4,[3,4]%%%}+%%%{-12,[3,3]%%%}+%%%{20,[3,2]%%%}+%%%{-20,[3,1]%%%}+%%%{8,[3,0]%%%}+%%%{6,[2,4]%%%}+%%%{-20,[2,3]%%%}+%%%{46,[2,2]%%%}+%%%{-40,[2,1]%%%}+%%%{24,[2,0]%%%}+%%%{4,[1,4]%%%}+%%%{-20,[1,3]%%%}+%%%{40,[1,2]%%%}+%%%{-48,[1,1]%%%}+%%%{32,[1,0]%%%}+%%%{1,[0,4]%%%}+%%%{-8,[0,3]%%%}+%%%{24,[0,2]%%%}+%%%{-32,[0,1]%%%}+%%%{16,[0,0]%%%}] at parameters values [-6.07356301835,51.8441526662]
Warning, choosing root of [1,0,%%%{4,[1,1]%%%}+%%%{4,[1,0]%%%}+%%%{-4,[0,1]%%%}+%%%{-8,[0,0]%%%},0,%%%{6,[2,2]%%%}+%%%{4,[2,1]%%%}+%%%{6,[2,0]%%%}+%%%{-4,[1,2]%%%}+%%%{-28,[1,1]%%%}+%%%{-8,[1,0]%%%}+%%%{6,[0,2]%%%}+%%%{8,[0,1]%%%}+%%%{24,[0,0]%%%},0,%%%{4,[3,3]%%%}+%%%{-4,[3,2]%%%}+%%%{-4,[3,1]%%%}+%%%{4,[3,0]%%%}+%%%{4,[2,3]%%%}+%%%{-64,[2,2]%%%}+%%%{20,[2,1]%%%}+%%%{8,[2,0]%%%}+%%%{-4,[1,3]%%%}+%%%{-20,[1,2]%%%}+%%%{128,[1,1]%%%}+%%%{-16,[1,0]%%%}+%%%{-4,[0,3]%%%}+%%%{8,[0,2]%%%}+%%%{16,[0,1]%%%}+%%%{-32,[0,0]%%%},0,%%%{1,[4,4]%%%}+%%%{-4,[4,3]%%%}+%%%{6,[4,2]%%%}+%%%{-4,[4,1]%%%}+%%%{1,[4,0]%%%}+%%%{4,[3,4]%%%}+%%%{-12,[3,3]%%%}+%%%{20,[3,2]%%%}+%%%{-20,[3,1]%%%}+%%%{8,[3,0]%%%}+%%%{6,[2,4]%%%}+%%%{-20,[2,3]%%%}+%%%{46,[2,2]%%%}+%%%{-40,[2,1]%%%}+%%%{24,[2,0]%%%}+%%%{4,[1,4]%%%}+%%%{-20,[1,3]%%%}+%%%{40,[1,2]%%%}+%%%{-48,[1,1]%%%}+%%%{32,[1,0]%%%}+%%%{1,[0,4]%%%}+%%%{-8,[0,3]%%%}+%%%{24,[0,2]%%%}+%%%{-32,[0,1]%%%}+%%%{16,[0,0]%%%}] at parameters values [-2.28782047657,4.66774101928]
Warning, choosing root of [1,0,%%%{4,[1,1]%%%}+%%%{4,[1,0]%%%}+%%%{-4,[0,1]%%%}+%%%{-8,[0,0]%%%},0,%%%{6,[2,2]%%%}+%%%{4,[2,1]%%%}+%%%{6,[2,0]%%%}+%%%{-4,[1,2]%%%}+%%%{-28,[1,1]%%%}+%%%{-8,[1,0]%%%}+%%%{6,[0,2]%%%}+%%%{8,[0,1]%%%}+%%%{24,[0,0]%%%},0,%%%{4,[3,3]%%%}+%%%{-4,[3,2]%%%}+%%%{-4,[3,1]%%%}+%%%{4,[3,0]%%%}+%%%{4,[2,3]%%%}+%%%{-64,[2,2]%%%}+%%%{20,[2,1]%%%}+%%%{8,[2,0]%%%}+%%%{-4,[1,3]%%%}+%%%{-20,[1,2]%%%}+%%%{128,[1,1]%%%}+%%%{-16,[1,0]%%%}+%%%{-4,[0,3]%%%}+%%%{8,[0,2]%%%}+%%%{16,[0,1]%%%}+%%%{-32,[0,0]%%%},0,%%%{1,[4,4]%%%}+%%%{-4,[4,3]%%%}+%%%{6,[4,2]%%%}+%%%{-4,[4,1]%%%}+%%%{1,[4,0]%%%}+%%%{4,[3,4]%%%}+%%%{-12,[3,3]%%%}+%%%{20,[3,2]%%%}+%%%{-20,[3,1]%%%}+%%%{8,[3,0]%%%}+%%%{6,[2,4]%%%}+%%%{-20,[2,3]%%%}+%%%{46,[2,2]%%%}+%%%{-40,[2,1]%%%}+%%%{24,[2,0]%%%}+%%%{4,[1,4]%%%}+%%%{-20,[1,3]%%%}+%%%{40,[1,2]%%%}+%%%{-48,[1,1]%%%}+%%%{32,[1,0]%%%}+%%%{1,[0,4]%%%}+%%%{-8,[0,3]%%%}+%%%{24,[0,2]%%%}+%%%{-32,[0,1]%%%}+%%%{16,[0,0]%%%}] at parameters values [-10.7897139532,38.2197840363]
1/b*(2*b^3*abs(b)/b^2*(2*(((-90*b^11/1440/b^14*sqrt(-b*x+2)*sqrt(-b*x+2)+750*b^11/1440/b^14)*sqrt(-b*x+2)*sqrt(-b*x+2)-2445*b^11/1440/b^14)*sqrt(-b*x+2)*sqrt(-b*x+2)+4185*b^11/1440/b^14)*sqrt(-b*x+2)*sqrt(-b*(-b*x+2)+2*b)-35/8/b^2/sqrt(-b)*ln(abs(sqrt(-b*(-b*x+2)+2*b)-sqrt(-b)*sqrt(-b*x+2))))-12*b^2*abs(b)/b^2*(2*((12*b^5/144/b^7*sqrt(-b*x+2)*sqrt(-b*x+2)-78*b^5/144/b^7)*sqrt(-b*x+2)*sqrt(-b*x+2)+198*b^5/144/b^7)*sqrt(-b*x+2)*sqrt(-b*(-b*x+2)+2*b)-5/2/b/sqrt(-b)*ln(abs(sqrt(-b*(-b*x+2)+2*b)-sqrt(-b)*sqrt(-b*x+2))))-24*b*abs(b)/b^2/b*(2*(1/8*sqrt(-b*x+2)*sqrt(-b*x+2)-5/8)*sqrt(-b*x+2)*sqrt(-b*(-b*x+2)+2*b)+6*b/4/sqrt(-b)*ln(abs(sqrt(-b*(-b*x+2)+2*b)-sqrt(-b)*sqrt(-b*x+2))))-16*abs(b)/b^2*(1/2*sqrt(-b*x+2)*sqrt(-b*(-b*x+2)+2*b)-2*b/2/sqrt(-b)*ln(abs(sqrt(-b*(-b*x+2)+2*b)-sqrt(-b)*sqrt(-b*x+2)))))
sage: anti
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-3-66894d4540d1> in <module>
----> 1 anti
NameError: name 'anti' is not defined
sage:
You can see that giac actually solved this integral, but from sagemath, it is not possible to obtain the last result above due to the parsing errors.
Here are few more examples, where they all give same errors in sagemath
integrate((-b*x+2)^(5/2)/x^(3/2),x, algorithm="giac")
integrate((-b*x+2)^(5/2)/x^(5/2),x, algorithm="giac")
Since I run integration test for giac using sagemath, all these integrals now assigned as failed, even though using giac directly, the output is captured ok.
Is there a way to resolve this in sagemath or should giac clean its return result somehow to allow sagemath to process it correctly?
Btw, this is not the only problem interfacing to giac, There are examples, where sagemath returns back the input (i.e. meaning the integrate did not evaluate), while when using giac directly, it does work (but gives warnings)
Here is an example
sage: var('x b a')
(x, b, a)
sage: anti=integrate(1/(a-I*a*x)^(3/4)/(a+I*a*x)^(9/4),x, algorithm="giac")
sage: anti
integrate(1/((I*a*x + a)^(9/4)*(-I*a*x + a)^(3/4)), x)
While in giac itself, it gives
13>> anti=integrate(1/(a-i*a*x)^(3/4)/(a+i*a*x)^(9/4),x)
Warning, choosing root of [1,0,%%%{4,[1,1]%%%}+%%%{4,[1,0]%%%}+%%%{-4,[0,1]%%%}+%%%{-8,[0,0]%%%},0,%%%{6,[2,2]%%%}+%%%{4,[2,1]%%%}+%%%{6,[2,0]%%%}+%%%{-4,[1,2]%%%}+%%%{-28,[1,1]%%%}+%%%{-8,[1,0]%%%}+%%%{6,[0,2]%%%}+%%%{8,[0,1]%%%}+%%%{24,[0,0]%%%},0,%%%{4,[3,3]%%%}+%%%{-4,[3,2]%%%}+%%%{-4,[3,1]%%%}+%%%{4,[3,0]%%%}+%%%{4,[2,3]%%%}+%%%{-64,[2,2]%%%}+%%%{20,[2,1]%%%}+%%%{8,[2,0]%%%}+%%%{-4,[1,3]%%%}+%%%{-20,[1,2]%%%}+%%%{128,[1,1]%%%}+%%%{-16,[1,0]%%%}+%%%{-4,[0,3]%%%}+%%%{8,[0,2]%%%}+%%%{16,[0,1]%%%}+%%%{-32,[0,0]%%%},0,%%%{1,[4,4]%%%}+%%%{-4,[4,3]%%%}+%%%{6,[4,2]%%%}+%%%{-4,[4,1]%%%}+%%%{1,[4,0]%%%}+%%%{4,[3,4]%%%}+%%%{-12,[3,3]%%%}+%%%{20,[3,2]%%%}+%%%{-20,[3,1]%%%}+%%%{8,[3,0]%%%}+%%%{6,[2,4]%%%}+%%%{-20,[2,3]%%%}+%%%{46,[2,2]%%%}+%%%{-40,[2,1]%%%}+%%%{24,[2,0]%%%}+%%%{4,[1,4]%%%}+%%%{-20,[1,3]%%%}+%%%{40,[1,2]%%%}+%%%{-48,[1,1]%%%}+%%%{32,[1,0]%%%}+%%%{1,[0,4]%%%}+%%%{-8,[0,3]%%%}+%%%{24,[0,2]%%%}+%%%{-32,[0,1]%%%}+%%%{16,[0,0]%%%}] at parameters values [-95.2401873125,21.5252789878]
Warning, choosing root of [1,0,%%%{4,[1,1]%%%}+%%%{4,[1,0]%%%}+%%%{-4,[0,1]%%%}+%%%{-8,[0,0]%%%},0,%%%{6,[2,2]%%%}+%%%{4,[2,1]%%%}+%%%{6,[2,0]%%%}+%%%{-4,[1,2]%%%}+%%%{-28,[1,1]%%%}+%%%{-8,[1,0]%%%}+%%%{6,[0,2]%%%}+%%%{8,[0,1]%%%}+%%%{24,[0,0]%%%},0,%%%{4,[3,3]%%%}+%%%{-4,[3,2]%%%}+%%%{-4,[3,1]%%%}+%%%{4,[3,0]%%%}+%%%{4,[2,3]%%%}+%%%{-64,[2,2]%%%}+%%%{20,[2,1]%%%}+%%%{8,[2,0]%%%}+%%%{-4,[1,3]%%%}+%%%{-20,[1,2]%%%}+%%%{128,[1,1]%%%}+%%%{-16,[1,0]%%%}+%%%{-4,[0,3]%%%}+%%%{8,[0,2]%%%}+%%%{16,[0,1]%%%}+%%%{-32,[0,0]%%%},0,%%%{1,[4,4]%%%}+%%%{-4,[4,3]%%%}+%%%{6,[4,2]%%%}+%%%{-4,[4,1]%%%}+%%%{1,[4,0]%%%}+%%%{4,[3,4]%%%}+%%%{-12,[3,3]%%%}+%%%{20,[3,2]%%%}+%%%{-20,[3,1]%%%}+%%%{8,[3,0]%%%}+%%%{6,[2,4]%%%}+%%%{-20,[2,3]%%%}+%%%{46,[2,2]%%%}+%%%{-40,[2,1]%%%}+%%%{24,[2,0]%%%}+%%%{4,[1,4]%%%}+%%%{-20,[1,3]%%%}+%%%{40,[1,2]%%%}+%%%{-48,[1,1]%%%}+%%%{32,[1,0]%%%}+%%%{1,[0,4]%%%}+%%%{-8,[0,3]%%%}+%%%{24,[0,2]%%%}+%%%{-32,[0,1]%%%}+%%%{16,[0,0]%%%}] at parameters values [-26.2540012896,71.1075269701]
Warning, choosing root of [1,0,%%%{4,[1,1]%%%}+%%%{4,[1,0]%%%}+%%%{-4,[0,1]%%%}+%%%{-8,[0,0]%%%},0,%%%{6,[2,2]%%%}+%%%{4,[2,1]%%%}+%%%{6,[2,0]%%%}+%%%{-4,[1,2]%%%}+%%%{-28,[1,1]%%%}+%%%{-8,[1,0]%%%}+%%%{6,[0,2]%%%}+%%%{8,[0,1]%%%}+%%%{24,[0,0]%%%},0,%%%{4,[3,3]%%%}+%%%{-4,[3,2]%%%}+%%%{-4,[3,1]%%%}+%%%{4,[3,0]%%%}+%%%{4,[2,3]%%%}+%%%{-64,[2,2]%%%}+%%%{20,[2,1]%%%}+%%%{8,[2,0]%%%}+%%%{-4,[1,3]%%%}+%%%{-20,[1,2]%%%}+%%%{128,[1,1]%%%}+%%%{-16,[1,0]%%%}+%%%{-4,[0,3]%%%}+%%%{8,[0,2]%%%}+%%%{16,[0,1]%%%}+%%%{-32,[0,0]%%%},0,%%%{1,[4,4]%%%}+%%%{-4,[4,3]%%%}+%%%{6,[4,2]%%%}+%%%{-4,[4,1]%%%}+%%%{1,[4,0]%%%}+%%%{4,[3,4]%%%}+%%%{-12,[3,3]%%%}+%%%{20,[3,2]%%%}+%%%{-20,[3,1]%%%}+%%%{8,[3,0]%%%}+%%%{6,[2,4]%%%}+%%%{-20,[2,3]%%%}+%%%{46,[2,2]%%%}+%%%{-40,[2,1]%%%}+%%%{24,[2,0]%%%}+%%%{4,[1,4]%%%}+%%%{-20,[1,3]%%%}+%%%{40,[1,2]%%%}+%%%{-48,[1,1]%%%}+%%%{32,[1,0]%%%}+%%%{1,[0,4]%%%}+%%%{-8,[0,3]%%%}+%%%{24,[0,2]%%%}+%%%{-32,[0,1]%%%}+%%%{16,[0,0]%%%}] at parameters values [-11.5307277958,27.1490779156]
Warning, choosing root of [1,0,%%%{4,[1,1]%%%}+%%%{4,[1,0]%%%}+%%%{-4,[0,1]%%%}+%%%{-8,[0,0]%%%},0,%%%{6,[2,2]%%%}+%%%{4,[2,1]%%%}+%%%{6,[2,0]%%%}+%%%{-4,[1,2]%%%}+%%%{-28,[1,1]%%%}+%%%{-8,[1,0]%%%}+%%%{6,[0,2]%%%}+%%%{8,[0,1]%%%}+%%%{24,[0,0]%%%},0,%%%{4,[3,3]%%%}+%%%{-4,[3,2]%%%}+%%%{-4,[3,1]%%%}+%%%{4,[3,0]%%%}+%%%{4,[2,3]%%%}+%%%{-64,[2,2]%%%}+%%%{20,[2,1]%%%}+%%%{8,[2,0]%%%}+%%%{-4,[1,3]%%%}+%%%{-20,[1,2]%%%}+%%%{128,[1,1]%%%}+%%%{-16,[1,0]%%%}+%%%{-4,[0,3]%%%}+%%%{8,[0,2]%%%}+%%%{16,[0,1]%%%}+%%%{-32,[0,0]%%%},0,%%%{1,[4,4]%%%}+%%%{-4,[4,3]%%%}+%%%{6,[4,2]%%%}+%%%{-4,[4,1]%%%}+%%%{1,[4,0]%%%}+%%%{4,[3,4]%%%}+%%%{-12,[3,3]%%%}+%%%{20,[3,2]%%%}+%%%{-20,[3,1]%%%}+%%%{8,[3,0]%%%}+%%%{6,[2,4]%%%}+%%%{-20,[2,3]%%%}+%%%{46,[2,2]%%%}+%%%{-40,[2,1]%%%}+%%%{24,[2,0]%%%}+%%%{4,[1,4]%%%}+%%%{-20,[1,3]%%%}+%%%{40,[1,2]%%%}+%%%{-48,[1,1]%%%}+%%%{32,[1,0]%%%}+%%%{1,[0,4]%%%}+%%%{-8,[0,3]%%%}+%%%{24,[0,2]%%%}+%%%{-32,[0,1]%%%}+%%%{16,[0,0]%%%}] at parameters values [-6.14734174544,20.4610221288]
Warning, choosing root of [1,0,%%%{4,[1,1]%%%}+%%%{4,[1,0]%%%}+%%%{-4,[0,1]%%%}+%%%{-8,[0,0]%%%},0,%%%{6,[2,2]%%%}+%%%{4,[2,1]%%%}+%%%{6,[2,0]%%%}+%%%{-4,[1,2]%%%}+%%%{-28,[1,1]%%%}+%%%{-8,[1,0]%%%}+%%%{6,[0,2]%%%}+%%%{8,[0,1]%%%}+%%%{24,[0,0]%%%},0,%%%{4,[3,3]%%%}+%%%{-4,[3,2]%%%}+%%%{-4,[3,1]%%%}+%%%{4,[3,0]%%%}+%%%{4,[2,3]%%%}+%%%{-64,[2,2]%%%}+%%%{20,[2,1]%%%}+%%%{8,[2,0]%%%}+%%%{-4,[1,3]%%%}+%%%{-20,[1,2]%%%}+%%%{128,[1,1]%%%}+%%%{-16,[1,0]%%%}+%%%{-4,[0,3]%%%}+%%%{8,[0,2]%%%}+%%%{16,[0,1]%%%}+%%%{-32,[0,0]%%%},0,%%%{1,[4,4]%%%}+%%%{-4,[4,3]%%%}+%%%{6,[4,2]%%%}+%%%{-4,[4,1]%%%}+%%%{1,[4,0]%%%}+%%%{4,[3,4]%%%}+%%%{-12,[3,3]%%%}+%%%{20,[3,2]%%%}+%%%{-20,[3,1]%%%}+%%%{8,[3,0]%%%}+%%%{6,[2,4]%%%}+%%%{-20,[2,3]%%%}+%%%{46,[2,2]%%%}+%%%{-40,[2,1]%%%}+%%%{24,[2,0]%%%}+%%%{4,[1,4]%%%}+%%%{-20,[1,3]%%%}+%%%{40,[1,2]%%%}+%%%{-48,[1,1]%%%}+%%%{32,[1,0]%%%}+%%%{1,[0,4]%%%}+%%%{-8,[0,3]%%%}+%%%{24,[0,2]%%%}+%%%{-32,[0,1]%%%}+%%%{16,[0,0]%%%}] at parameters values [-47.4516566554,16.0424250476]
Warning, choosing root of [1,0,%%%{4,[1,1]%%%}+%%%{4,[1,0]%%%}+%%%{-4,[0,1]%%%}+%%%{-8,[0,0]%%%},0,%%%{6,[2,2]%%%}+%%%{4,[2,1]%%%}+%%%{6,[2,0]%%%}+%%%{-4,[1,2]%%%}+%%%{-28,[1,1]%%%}+%%%{-8,[1,0]%%%}+%%%{6,[0,2]%%%}+%%%{8,[0,1]%%%}+%%%{24,[0,0]%%%},0,%%%{4,[3,3]%%%}+%%%{-4,[3,2]%%%}+%%%{-4,[3,1]%%%}+%%%{4,[3,0]%%%}+%%%{4,[2,3]%%%}+%%%{-64,[2,2]%%%}+%%%{20,[2,1]%%%}+%%%{8,[2,0]%%%}+%%%{-4,[1,3]%%%}+%%%{-20,[1,2]%%%}+%%%{128,[1,1]%%%}+%%%{-16,[1,0]%%%}+%%%{-4,[0,3]%%%}+%%%{8,[0,2]%%%}+%%%{16,[0,1]%%%}+%%%{-32,[0,0]%%%},0,%%%{1,[4,4]%%%}+%%%{-4,[4,3]%%%}+%%%{6,[4,2]%%%}+%%%{-4,[4,1]%%%}+%%%{1,[4,0]%%%}+%%%{4,[3,4]%%%}+%%%{-12,[3,3]%%%}+%%%{20,[3,2]%%%}+%%%{-20,[3,1]%%%}+%%%{8,[3,0]%%%}+%%%{6,[2,4]%%%}+%%%{-20,[2,3]%%%}+%%%{46,[2,2]%%%}+%%%{-40,[2,1]%%%}+%%%{24,[2,0]%%%}+%%%{4,[1,4]%%%}+%%%{-20,[1,3]%%%}+%%%{40,[1,2]%%%}+%%%{-48,[1,1]%%%}+%%%{32,[1,0]%%%}+%%%{1,[0,4]%%%}+%%%{-8,[0,3]%%%}+%%%{24,[0,2]%%%}+%%%{-32,[0,1]%%%}+%%%{16,[0,0]%%%}] at parameters values [-15.6197261275,43.7366975551]
Warning, choosing root of [1,0,%%%{4,[1,1]%%%}+%%%{4,[1,0]%%%}+%%%{-4,[0,1]%%%}+%%%{-8,[0,0]%%%},0,%%%{6,[2,2]%%%}+%%%{4,[2,1]%%%}+%%%{6,[2,0]%%%}+%%%{-4,[1,2]%%%}+%%%{-28,[1,1]%%%}+%%%{-8,[1,0]%%%}+%%%{6,[0,2]%%%}+%%%{8,[0,1]%%%}+%%%{24,[0,0]%%%},0,%%%{4,[3,3]%%%}+%%%{-4,[3,2]%%%}+%%%{-4,[3,1]%%%}+%%%{4,[3,0]%%%}+%%%{4,[2,3]%%%}+%%%{-64,[2,2]%%%}+%%%{20,[2,1]%%%}+%%%{8,[2,0]%%%}+%%%{-4,[1,3]%%%}+%%%{-20,[1,2]%%%}+%%%{128,[1,1]%%%}+%%%{-16,[1,0]%%%}+%%%{-4,[0,3]%%%}+%%%{8,[0,2]%%%}+%%%{16,[0,1]%%%}+%%%{-32,[0,0]%%%},0,%%%{1,[4,4]%%%}+%%%{-4,[4,3]%%%}+%%%{6,[4,2]%%%}+%%%{-4,[4,1]%%%}+%%%{1,[4,0]%%%}+%%%{4,[3,4]%%%}+%%%{-12,[3,3]%%%}+%%%{20,[3,2]%%%}+%%%{-20,[3,1]%%%}+%%%{8,[3,0]%%%}+%%%{6,[2,4]%%%}+%%%{-20,[2,3]%%%}+%%%{46,[2,2]%%%}+%%%{-40,[2,1]%%%}+%%%{24,[2,0]%%%}+%%%{4,[1,4]%%%}+%%%{-20,[1,3]%%%}+%%%{40,[1,2]%%%}+%%%{-48,[1,1]%%%}+%%%{32,[1,0]%%%}+%%%{1,[0,4]%%%}+%%%{-8,[0,3]%%%}+%%%{24,[0,2]%%%}+%%%{-32,[0,1]%%%}+%%%{16,[0,0]%%%}] at parameters values [-66.7525112387,89.9395644632]
Warning, choosing root of [1,0,%%%{4,[1,1]%%%}+%%%{4,[1,0]%%%}+%%%{-4,[0,1]%%%}+%%%{-8,[0,0]%%%},0,%%%{6,[2,2]%%%}+%%%{4,[2,1]%%%}+%%%{6,[2,0]%%%}+%%%{-4,[1,2]%%%}+%%%{-28,[1,1]%%%}+%%%{-8,[1,0]%%%}+%%%{6,[0,2]%%%}+%%%{8,[0,1]%%%}+%%%{24,[0,0]%%%},0,%%%{4,[3,3]%%%}+%%%{-4,[3,2]%%%}+%%%{-4,[3,1]%%%}+%%%{4,[3,0]%%%}+%%%{4,[2,3]%%%}+%%%{-64,[2,2]%%%}+%%%{20,[2,1]%%%}+%%%{8,[2,0]%%%}+%%%{-4,[1,3]%%%}+%%%{-20,[1,2]%%%}+%%%{128,[1,1]%%%}+%%%{-16,[1,0]%%%}+%%%{-4,[0,3]%%%}+%%%{8,[0,2]%%%}+%%%{16,[0,1]%%%}+%%%{-32,[0,0]%%%},0,%%%{1,[4,4]%%%}+%%%{-4,[4,3]%%%}+%%%{6,[4,2]%%%}+%%%{-4,[4,1]%%%}+%%%{1,[4,0]%%%}+%%%{4,[3,4]%%%}+%%%{-12,[3,3]%%%}+%%%{20,[3,2]%%%}+%%%{-20,[3,1]%%%}+%%%{8,[3,0]%%%}+%%%{6,[2,4]%%%}+%%%{-20,[2,3]%%%}+%%%{46,[2,2]%%%}+%%%{-40,[2,1]%%%}+%%%{24,[2,0]%%%}+%%%{4,[1,4]%%%}+%%%{-20,[1,3]%%%}+%%%{40,[1,2]%%%}+%%%{-48,[1,1]%%%}+%%%{32,[1,0]%%%}+%%%{1,[0,4]%%%}+%%%{-8,[0,3]%%%}+%%%{24,[0,2]%%%}+%%%{-32,[0,1]%%%}+%%%{16,[0,0]%%%}] at parameters values [-50.7246053959,13.8581410125]
Evaluation time: 15.34
1/b*(2*b^3*abs(b)/b^2*(2*((((5040*b^19/100800/b^23*sqrt(-b*x+2)*sqrt(-b*x+2)-51660*b^19/100800/b^23)*sqrt(-b*x+2)*sqrt(-b*x+2)+215460*b^19/100800/b^23)*sqrt(-b*x+2)*sqrt(-b*x+2)-469350*b^19/100800/b^23)*sqrt(-b*x+2)*sqrt(-b*x+2)+607950*b^19/100800/b^23)*sqrt(-b*x+2)*sqrt(-b*(-b*x+2)+2*b)-63/8/b^3/sqrt(-b)*ln(abs(sqrt(-b*(-b*x+2)+2*b)-sqrt(-b)*sqrt(-b*x+2))))-12*b^2*abs(b)/b^2*(2*(((-90*b^11/1440/b^14*sqrt(-b*x+2)*sqrt(-b*x+2)+750*b^11/1440/b^14)*sqrt(-b*x+2)*sqrt(-b*x+2)-2445*b^11/1440/b^14)*sqrt(-b*x+2)*sqrt(-b*x+2)+4185*b^11/1440/b^14)*sqrt(-b*x+2)*sqrt(-b*(-b*x+2)+2*b)-35/8/b^2/sqrt(-b)*ln(abs(sqrt(-b*(-b*x+2)+2*b)-sqrt(-b)*sqrt(-b*x+2))))+24*b*abs(b)/b^2*(2*((12*b^5/144/b^7*sqrt(-b*x+2)*sqrt(-b*x+2)-78*b^5/144/b^7)*sqrt(-b*x+2)*sqrt(-b*x+2)+198*b^5/144/b^7)*sqrt(-b*x+2)*sqrt(-b*(-b*x+2)+2*b)-5/2/b/sqrt(-b)*ln(abs(sqrt(-b*(-b*x+2)+2*b)-sqrt(-b)*sqrt(-b*x+2))))+16*abs(b)/b^2/b*(2*(1/8*sqrt(-b*x+2)*sqrt(-b*x+2)-5/8)*sqrt(-b*x+2)*sqrt(-b*(-b*x+2)+2*b)+6*b/4/sqrt(-b)*ln(abs(sqrt(-b*(-b*x+2)+2*b)-sqrt(-b)*sqrt(-b*x+2)))))=(integrate(4/(2*i*a^3*((((-i)*a*x+a)^(1/4))^4-a)*(-(((-i)*a*x+a)^(1/4))^4+2*a)^(1/4)/a+i*a^3*(i*((((-i)*a*x+a)^(1/4))^4-a)/a)^2*(-(((-i)*a*x+a)^(1/4))^4+2*a)^(1/4)+(-i)*a^3*(-(((-i)*a*x+a)^(1/4))^4+2*a)^(1/4))/4*(-i)*a*(((-i)*a*x+a)^(1/4))^-3,x))
// Time 15.34
14>>
It looks like it is because giac generates these warning messages. Same as above example.
Because of this, many integrals show as failed when using sagemath with giac.
Is there a way to configure giac from inside sagemath may be to turn off these warnings? May be if there is, this will make all these integrals now work.
I do not know giac well, and do not even know where to ask about giac itself.