scipy.special.
zeta#
- scipy.special.zeta(x, q=None, out=None)[source]#
Riemann 或 Hurwitz zeta 函數。
- 參數:
- x浮點數或複數的類陣列 (array-like)。
輸入資料
- q浮點數的類陣列 (array-like),選用
輸入資料,必須為實數。預設為 Riemann zeta 函數。當 q 為
None
時,支援複數輸入 x。如果 q 不是None
,則目前僅支援實數輸入 x 且x >= 1
,即使當q = 1.0
時 (對應於 Riemann zeta 函數)。- outndarray,選用
計算值的輸出陣列。
- 回傳值:
- out類陣列 (array-like)
zeta(x) 的值。
參見
註解
雙參數版本為 Hurwitz zeta 函數
\[\zeta(x, q) = \sum_{k=0}^{\infty} \frac{1}{(k + q)^x};\]詳情請參閱 [dlmf]。Riemann zeta 函數對應於
q = 1
的情況。對於
q = None
的複數輸入,由於收斂速度緩慢導致過長的執行時間,目前不支援abs(z.imag) > 1e9
且0 <= 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