scipy.special.

zeta#

scipy.special.zeta(x, q=None, out=None)[source]#

Riemann 或 Hurwitz zeta 函數。

參數:
x浮點數或複數的類陣列 (array-like)。

輸入資料

q浮點數的類陣列 (array-like),選用

輸入資料,必須為實數。預設為 Riemann zeta 函數。當 qNone 時,支援複數輸入 x。如果 q 不是 None,則目前僅支援實數輸入 xx >= 1,即使當 q = 1.0 時 (對應於 Riemann zeta 函數)。

outndarray,選用

計算值的輸出陣列。

回傳值:
out類陣列 (array-like)

zeta(x) 的值。

參見

zetac

註解

雙參數版本為 Hurwitz zeta 函數

\[\zeta(x, q) = \sum_{k=0}^{\infty} \frac{1}{(k + q)^x};\]

詳情請參閱 [dlmf]。Riemann zeta 函數對應於 q = 1 的情況。

對於 q = None 的複數輸入,由於收斂速度緩慢導致過長的執行時間,目前不支援 abs(z.imag) > 1e90 <= abs(z.real) < 2.5 的點。

參考文獻

[dlmf]

NIST,《數學函數數位圖書館》,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