# How to use algorithm='mathematica free' to calculate definite integral? Is it possible to use algorithm='mathematica free' to calculate definite integral ?

integrate(x^2,x,algorithm='mathematica_free')


Output:

1/3*x^3


and

integrate(x^2,x,0,1,algorithm='mathematica_free')


Output:

1/3*x^3


but I want 1/3

edit retag close merge delete

1

Looks like mathematica_free only calculates indefinite integrals. http://integrals.wolfram.com ... so Sage would need to apply the limits after receiving the indefinite result. As a work-around you could define a function that passes the integrand to mathematica_free and then performs the difference after applying the variable limits.

1

If Sage wanted to calculate the definite integral as described in my previous comment,a simple change to sage/symbolic/integration/external.py could accomplish this. One wonders what would happen with wacky input/output though.

2

Sort by » oldest newest most voted

x=var('x')
f = lambda x : x^2
def defintegral_viaMathFree(f,x,a,b):
F(x)=integrate(f(x),x,algorithm='mathematica_free')
return F(b)-F(a)


And

defintegral_viaMathFree(f,x,0,1)


output: 1/3

more