Ask Your Question

Revision history [back]

At the end of the traceback you get a very explicit error message

AttributeError: 'sage.rings.polynomial.polynomial_rational_flint.Polynomial_rational_flint'
object has no attribute 'operator'

The point is that the result of the .sage() function in your situation was not a symbolic expression but a polynomial. And a polynomial does not have this .operator() function that you are using in

sage: isinstance(anti.operator(), sage.symbolic.integration.integral.IndefiniteIntegral)

You can see the very same error with

sage: anti.operator()

In this situation, if you want to check whether the object anti is an indefinite integral you can do

anti.parent() is SR and isinstance(anti.operator(), sage.symbolic.integration.integral.IndefiniteIntegral)

(Note that your way of checking that no integral remains unevaluated is not very strong.)