zeta — SciPy v1.15.3 Manual (original) (raw)

scipy.special.

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

Riemann or Hurwitz zeta function.

Parameters:

xarray_like of float or complex.

Input data

qarray_like of float, optional

Input data, must be real. Defaults to Riemann zeta. When q isNone, complex inputs x are supported. If q is not None, then currently only real inputs x with x >= 1 are supported, even when q = 1.0 (corresponding to the Riemann zeta function).

outndarray, optional

Output array for the computed values.

Returns:

outarray_like

Values of zeta(x).

Notes

The two-argument version is the Hurwitz zeta function

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

see [dlmf] for details. The Riemann zeta function corresponds to the case when q = 1.

For complex inputs with q = None, points withabs(z.imag) > 1e9 and 0 <= abs(z.real) < 2.5 are currently not supported due to slow convergence causing excessive runtime.

References

Examples

import numpy as np from scipy.special import zeta, polygamma, factorial

Some specific values:

zeta(2), np.pi**2/6 (1.6449340668482266, 1.6449340668482264)

zeta(4), np.pi**4/90 (1.0823232337111381, 1.082323233711138)

First nontrivial zero:

zeta(0.5 + 14.134725141734695j) 0 + 0j

Relation to the polygamma function:

m = 3 x = 1.25 polygamma(m, x) array(2.782144009188397) (-1)**(m+1) * factorial(m) * zeta(m+1, x) 2.7821440091883969