scipy.special.
zeta#
- scipy.special.zeta(x, q=None, out=None)[source]#
黎曼或赫维兹 zeta 函数。
- 参数:
- xfloat 或 complex 的类数组。
输入数据
- qfloat 的类数组,可选
输入数据,必须是实数。默认为黎曼 zeta。 当 q 是
None
时,支持复数输入 x。如果 q 不是None
,那么目前仅支持x >= 1
的实数输入 x,即使q = 1.0
(对应于黎曼zeta函数)。- outndarray,可选
用于计算值的输出数组。
- 返回:
- outarray_like
zeta(x) 的值。
另请参见
注释
双参数版本是赫维兹 zeta 函数
\[\zeta(x, q) = \sum_{k=0}^{\infty} \frac{1}{(k + q)^x};\]有关详细信息,请参见 [dlmf]。黎曼zeta函数对应于
q = 1
的情况。对于
q = None
的复数输入,由于收敛速度慢导致运行时间过长,目前不支持abs(z.imag) > 1e9
且0 <= abs(z.real) < 2.5
的点。参考文献
[dlmf]NIST, Digital Library of Mathematical Functions, https://dlmf.nist.gov/25.11#i
示例
>>> import numpy as np >>> from scipy.special import zeta, polygamma, factorial
一些特定值
>>> zeta(2), np.pi**2/6 (1.6449340668482266, 1.6449340668482264)
>>> zeta(4), np.pi**4/90 (1.0823232337111381, 1.082323233711138)
第一个非平凡零点
>>> zeta(0.5 + 14.134725141734695j) 0 + 0j
与
polygamma
函数的关系>>> m = 3 >>> x = 1.25 >>> polygamma(m, x) array(2.782144009188397) >>> (-1)**(m+1) * factorial(m) * zeta(m+1, x) 2.7821440091883969