1 | initial version |
Probably there is more to it than this, but why not just do
from sage.symbolic.integration.integral import indefinite_integral
h(x,t) = sqrt(t)*exp((1+t)*x)*bessel_I(1,2*sqrt(t)*x)
egf = 1 + indefinite_integral(h,x)
taylor(egf, x, 0, 6)
This may not do it for you, but hopefully removes the error in question. Lambdas may not play well with integration.
2 | No.2 Revision |
Probably there is more to it than this, but why not just do
from sage.symbolic.integration.integral import indefinite_integral
h(x,t) = sqrt(t)*exp((1+t)*x)*bessel_I(1,2*sqrt(t)*x)
egf = 1 + indefinite_integral(h,x)
taylor(egf, x, 0, 6)
This may not do it for you, but hopefully removes the error in question. Lambdas may not play well with integration.
Edit: probably the error was caused by using the indefinite integral directly.
sage: h(x,t) = sqrt(t)*exp((1+t)*x)*bessel_I(1,2*sqrt(t)*x)
sage: egf = integrate(h,x) + 1
works fine. However,
sage: egf
(x, t) |--> sqrt(t)*integrate(bessel_I(1, 2*sqrt(t)*x)*e^((t + 1)*x), x) + 1
so Sage doesn't know how to do much with that, as the error message
sage: taylor(egf, x, 0, 6)
TypeError: ECL says: Error executing code in Maxima: taylor: unable to expand at a point specified in:
'integrate(bessel_i(1,2*sqrt(t)*x)*%e^((t+1)*x),x)
indicates. And the other way to get series (there is another, from Ginac) yields not much better:
sage: egf.series(x==0, 6)
AttributeError: 'MaximaLibElement' object has no attribute '_name'
since it doesn't know what to do with an unevaluated integral.
There may yet be a workaround, but I'm not conversant enough with this to say what it would be.