Python 用Symphy和Mathematica对修正贝塞尔函数进行符号积分

Python 用Symphy和Mathematica对修正贝塞尔函数进行符号积分,python,wolfram-mathematica,sympy,symbolic-math,Python,Wolfram Mathematica,Sympy,Symbolic Math,我想用symphy来解一个定积分,我知道Mathematica可以解这个定积分。在Mathematica中,使用以下行 Integrate[z^2 (BesselI[0, z^2] - BesselI[1, z^2]) Exp[-z^2], {z, 0, x}] 屈服 1/3 x^3 HypergeometricPFQ[{1/2,3/2},{1,5/2},-2 x^2]-1/10 x^5 HypergeometricPFQ[{3/2,5/2},{3,7/2},-2 x^2] 它更愿意将pyt

我想用
symphy
来解一个定积分,我知道Mathematica可以解这个定积分。在Mathematica中,使用以下行

Integrate[z^2 (BesselI[0, z^2] - BesselI[1, z^2]) Exp[-z^2], {z, 0, x}]
屈服

1/3 x^3 HypergeometricPFQ[{1/2,3/2},{1,5/2},-2 x^2]-1/10 x^5 HypergeometricPFQ[{3/2,5/2},{3,7/2},-2 x^2]
它更愿意将
python
sympy
结合使用,我尝试使用以下代码

import sympy;
x, z = sympy.var('x z');
sympy.integrate( z**2*(sympy.besseli(0,z**2)-sympy.besseli(1,z**2))*sympy.exp(-z**2) ,(z,0,x));
不幸的是,计算只是挂起。我等了30-40分钟就放弃了。在Mathematica中,不到一秒钟。如果我改变被积函数,那么我可以得到
sympy
来求解它。比如

sympy.integrate( z**2*sympy.besseli(0,z**2) ,(z,0,x));  
屈服

x**3*gamma(3/4)*hyper((3/4,), (1, 7/4), -x**4/4)/(4*gamma(7/4))
我是Mathematics的长期用户,对如何让Mathematics解决棘手的积分问题有很好的理解。作为一个新的
sympy
用户,我缺乏这种经验

  • 我可以添加一些标志吗
  • symphy
    中是否有其他方法解决此问题
  • 如果使用
    Symphy
    无法实现此积分,是否有办法了解Symphy的局限性?例如
    sympy
    如何将积分与Mathematica进行比较
更新:我当前的解决方案是在Mathematica中求解积分,然后将其输入我的Symphy脚本。