关于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功能坏了吗?
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".
| 归档时间: |
|
| 查看次数: |
2630 次 |
| 最近记录: |