SciPy zeta函数返回非常大的值

Gar*_*oyd 1 python scipy

关于zeta函数状态的SciPy文档:

y = zeta(x,q)返回两个自变量的Riemann zeta函数:sum((k + q)**( - x),k = 0..inf)

根据Riemann zeta函数wiki条目给出x=2, q=0我们应该得到的参数应该给出大约1.645sum((k)**(-2),k=0..inf)

然而,SciPy给出了以下内容

>>> from scipy.special import zeta
>>> zeta(2,0)
1.7976931348623157e+308
Run Code Online (Sandbox Code Playgroud)

我错过了什么或scipy zeta功能坏了吗?

War*_*ser 5

scipy.special.zeta的旧文档字符串说:

y=zeta(x,q) returns the Riemann zeta function of two arguments:
sum((k+q)**(-x),k=0..inf)
Run Code Online (Sandbox Code Playgroud)

根据维基百科中的文章,这是Hurwitz zeta函数,"当q = 1时,它与Riemann zeta函数一致"(不是q = 0).确实如此:

In [3]: zeta(1.5, 1)
Out[3]: 2.6123753486854882

In [4]: zeta(2, 1)
Out[4]: 1.6449340668482266

In [5]: zeta(3, 1)
Out[5]: 1.202056903159594

In [6]: zeta(4,1)
Out[6]: 1.0823232337111381

In [7]: np.pi**4 / 90
Out[7]: 1.082323233711138
Run Code Online (Sandbox Code Playgroud)

更新:文档字符串现在明确地说"两个参数版本是Hurwitz zeta函数"和"Riemann zeta函数对应于q = 1".