# Algorithms for the Hurwitz zeta function¶

## Euler-Maclaurin summation¶

The Euler-Maclaurin formula allows evaluating the Hurwitz zeta function and its derivatives for general complex input. The algorithm is described in [Joh2013].

## Parameter Taylor series¶

To evaluate $$\zeta(s,a)$$ for several nearby parameter values, the following Taylor expansion is useful:

$\zeta(s,a+x) = \sum_{k=0}^{\infty} (-x)^k \frac{(s)_k}{k!} \zeta(s+k,a)$

We assume that $$a \ge 1$$ is real and that $$\sigma = \operatorname{re}(s)$$ with $$K + \sigma > 1$$. The tail is bounded by

$\sum_{k=K}^{\infty} |x|^k \frac{|(s)_k|}{k!} \zeta(\sigma+k,a) \le \sum_{k=K}^{\infty} |x|^k \frac{|(s)_k|}{k!} \left[ \frac{1}{a^{\sigma+k}} + \frac{1}{(\sigma+k-1) a^{\sigma+k-1}} \right].$

Denote the term on the right by $$T(k)$$. Then

$\left|\frac{T(k+1)}{T(k)}\right| = \frac{|x|}{a} \frac{(k+\sigma-1)}{(k+\sigma)} \frac{(k+\sigma+a)}{(k+\sigma+a-1)} \frac{|k+s|}{(k+1)} \le \frac{|x|}{a} \left(1 + \frac{1}{K+\sigma+a-1}\right) \left(1 + \frac{|s-1|}{K+1}\right) = C$

and if $$C < 1$$,

$\sum_{k=K}^{\infty} T(k) \le \frac{T(K)}{1-C}.$