我正在从 Maple 转向 python 进行数学编程。作为其中的一部分,我试图找出什么是正确的工具来执行无限的数字求和。
我想进行数值计算,例如:
sum(exp(-x^2), x = -无穷大..无穷大)
在 Maple 中这只是
evalf(sum(exp(-x^2), x = -无穷大..无穷大));
1.772637205
你能在 python 中做类似的事情吗?也许使用科学的 python 生态系统(scipy、numpy、sympy 等)?
我用过 mpmathnsum过去对此取得了良好的效果:
>>> from mpmath import nsum, exp, inf
>>> nsum(lambda x: exp(-x**2), [-inf, inf])
mpf('1.7726372048266521')
这与
>>> from mpmath import quad
>>> quad(lambda x: exp(-x**2), [-inf, inf])
mpf('1.7724538509055161')
我们可以以更高的精度得到它,并将其与解析值进行比较:
>>> import mpmath
>>> mpmath.mp.dps = 50
>>> nsum(lambda x: exp(-x**2), [-inf, inf])
mpf('1.7726372048266521530312505511578584813433860453722459')
>>> mpmath.jtheta(3, 0, 1/exp(1))
mpf('1.7726372048266521530312505511578584813433860453722465')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)