首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sympy.integrate: TypeError: a不是整数

sympy.integrate: TypeError: a不是整数
EN

Stack Overflow用户
提问于 2015-01-23 21:23:32
回答 1查看 202关注 0票数 0

我正在尝试集成这个表达式:

代码语言:javascript
复制
import sympy as sy

def Bra_H_Ket():

   a0=sy.Symbol('a0')
   r=sy.Symbol('r')

   psi=1/r*sy.sin(r)*sy.exp(-(a0*r))
   H_Psi=-1/2*sy.diff(psi,r,r)-1/r*psi
   print("H*Psi:")
   print(H_Psi)
   print
   print("Psi*H*Psi:")
   Psi_H_Psi=4*pi*psi*H_Psi*r**2
   print(Psi_H_Psi)
   print
   Bra_H_Ket=sy.integrate(Psi_H_Psi,(r,-sy.oo,3))
   print("Bra_H_Ket:")
   print(Bra_H_Ket)
   print

但是我得到了这个错误:

代码语言:javascript
复制
<ipython-input-4-b7c2f227f24d> in <module>()
----> 1 Bra_H_Ket()

<ipython-input-3-57b2347da6cd> in Bra_H_Ket()
     15    print(Psi_H_Psi)
     16 
---> 17    Bra_H_Ket=sy.integrate(Psi_H_Psi, (r, -sy.oo ,3))
     18 
     19    print("Bra_H_Ket:")

[...]

C:\Anaconda3\lib\site-packages\sympy\integrals\transforms.py in _rewrite_gamma(f, s, a, b)
    668                 newc = c/p
    669                 if not a.is_Integer:
--> 670                     raise TypeError("a is not an integer")
    671                 for k in range(p):
    672                     gammas += [(newa, newc + k/p)]

TypeError: a is not an integer

此外,计算一些积分(在我的例子中是象征性的)需要相当长的时间,所以任何可以帮助我的建议,因为我有很多这样的积分。

EN

回答 1

Stack Overflow用户

发布于 2015-01-26 03:35:07

这是SymPy中的一个错误。参见https://github.com/sympy/sympy/issues/8882。我找不到一个好的解决方法。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28110908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档