difference between calling maxima lib and maxima process

asked 2018-06-19 01:01:54 +0100

Nasser gravatar image

updated 2018-06-19 02:00:25 +0100

This question came up after reading answer here timeout-does-not-work-with-maxima-ok-with-others/

So I thought to make new question.

Why does the following return back from maxima right away, without hanging (it is unevaluated integral, which is OK, since it could not do it) but sage does not hang

sage: var('x')
sage: r=maxima(sqrt(x^2 + 1)*arctan(x)^2)
sage: r.integrate(x)
          'integrate(sqrt(_SAGE_VAR_x^2+1)*atan(_SAGE_VAR_x)^2,_SAGE_VAR_x)

But when doing the following, it hangs

 sage: integrate(sqrt(x^2 + 1)*arctan(x)^2,x,algorithm="maxima")

I understand now that the first call was to the maxima process. While the second was to the maxim lib linked to sage process itself?

But should not the maxima code be the same? Then why does the first call not hang, while the second one does? I have expected both to hang.

Using SageMath version 8.3.beta5, Release Date: 2018-06-09

edit retag flag offensive close merge delete