有什麼辦法讓sympy來執行這個積分?積分涉及貝塞爾函數
x=var('x')
L=var('L')
Q.positive(1/L)
integrate(besseli(1,x) * exp(-x**2/(4*L)-L),(x,0,inf))
Sympy剛剛返回積分:
Integral(exp(-L - x**2/(4*L))*besseli(1, x), (x, 0, +inf))
數學做的:
Integrate[BesselI[1, x] Exp[-(x^2/(4 L)) - L], {x, 0, Infinity}]
結果:
ConditionalExpression[1 - E^-L, Re[1/L] > 0]
編輯:使用下面提供的答案,更好方式執行這個我ntegral是:
L=var('L',real=True,positive=True)
x=var('x',real=True,positive=True)
integrate(besseli(1,x) * exp(-x**2/(4*L)-L),(x,0,oo))
Sympy給了我正確的東西。你正在運行什麼版本? – Lucas
'''$ python -c「import sympy; print sympy .__ version__」 0.7.2'''你使用的是哪個版本?也許我需要最新的開發版本? – keflavich
SymPy中的Infinity是'oo',而不是'inf'。 – asmeurer