Hasse's Globally Convergent Series for ζ(s): A Deep Dive
$$\zeta(s) = \frac{1}{1-2^{1-s}}\sum_{n=0}^\infty \frac{1}{2^{n+1}}\sum_{k=0}^n (-1)^k\binom{n}{k}(k+1)^{-s}$$
1. Historical Background
Helmut Hasse (1898–1979)
The equation is named after the German number theorist Helmut Hasse, one of the giants of 20th-century algebraic number theory (also famous for the Hasse principle, Hasse–Weil L-functions, and the Hasse invariant). The result appeared in:
H. Hasse, "Ein Summierungsverfahren für die Riemannsche ζ-Reihe" ("A summation method for the Riemann ζ-series"), Mathematische Zeitschrift 32 (1930), pp. 458–464. - DOI: 10.1007/BF01194645 - Free scan via GDZ/EuDML: https://eudml.org/doc/168238
An important historical nuance: the series was actually conjectured by Konrad Knopp (of "Theory and Application of Infinite Series" fame) around 1930, and Hasse published the proof, crediting Knopp. So it is occasionally called the Knopp–Hasse series. In the same 1930 paper Hasse also proved a second, closely related globally convergent series that avoids the problematic prefactor entirely:
$$\zeta(s) = \frac{1}{s-1}\sum_{n=0}^\infty \frac{1}{n+1}\sum_{k=0}^n (-1)^k\binom{n}{k}(k+1)^{1-s}$$
Rediscovery by Jonathan Sondow (1994)
The result was largely forgotten for six decades and was independently rediscovered by Jonathan Sondow in 1994, who derived it elegantly by applying Euler's series transformation (which dates back to Euler, ~1755, Institutiones calculi differentialis) to the Dirichlet eta function:
J. Sondow, "Analytic continuation of Riemann's zeta function and values at negative integers via Euler's transformation of series", Proc. Amer. Math. Soc. 120 (1994), 421–424. - Free official PDF: https://www.ams.org/journals/proc/1994-120-02/S0002-9939-1994-1172954-7/
Sondow's paper is the standard modern reference and is only 4 pages — highly recommended for your paper.
Related literature you may want to cite
- P. Borwein, "An efficient algorithm for the Riemann zeta function" (1995/2000), CMS Conf. Proc. 27 — the fastest practical descendants of this idea for numerical work: https://www.cecm.sfu.ca/personal/pborwein/PAPERS/P155.pdf
- J. Sondow & E. Weisstein, "Riemann Zeta Function," MathWorld — cites the equation as Eq. (21): https://mathworld.wolfram.com/RiemannZetaFunction.html
- Iaroslav Blagouchine, "Three notes on Ser's and Hasse's representations for the zeta-functions" (INTEGERS, 2018) — shows Hasse's second series was anticipated by Joseph Ser (1926): https://arxiv.org/abs/1606.02044
2. Why This Equation Matters for the Riemann Hypothesis
The classical Dirichlet series ζ(s) = Σ n⁻ˢ converges only for Re(s) > 1, which does not even include the critical strip 0 ≤ Re(s) ≤ 1 where the Riemann Hypothesis lives. To even state RH you need an analytic continuation. The traditional route is Riemann's functional equation via contour integration or theta functions.
Hasse's series is remarkable because:
- It converges for every s ∈ ℂ (globally/absolutely, in fact uniformly on compact sets), giving analytic continuation by a single explicit formula — no contour integrals, no functional equation needed.
- It provides an elementary proof of the values at non-positive integers, ζ(−n) = −B_{n+1}/(n+1), because for s = −m the inner sum terminates (forward differences of a polynomial of degree m vanish for n > m). This was Sondow's main point.
- It converges geometrically (roughly 1 decimal digit per 3.3 terms, from the 2⁻ⁿ factor), making it a genuine computational tool on the critical line.
One caveat (worth mentioning in a research paper): the prefactor 1/(1 − 2^{1−s}) blows up at the points $s_k = 1 + \frac{2\pi i k}{\ln 2}$, k ∈ ℤ. At k = 0 this correctly produces the pole of ζ at s = 1, but at k ≠ 0 the eta series has zeros that cancel these — they are removable singularities, and numerically the formula is ill-conditioned near them. Hasse's second series (with 1/(s−1)) avoids this entirely.
3. Mathematical Anatomy
The forward-difference operator
Define $(\Delta a)_k = a_k - a_{k+1}$ (or the sign convention matching the sum). Then the inner sum is exactly the n-th forward difference of $a_k = (k+1)^{-s}$ evaluated at 0:
$$(\Delta^n a)_0 = \sum_{k=0}^n(-1)^k\binom{n}{k}(k+1)^{-s}$$
Euler's transformation
For an alternating series, Euler's transform states:
$$\sum_{k=0}^\infty (-1)^k a_k = \sum_{n=0}^\infty \frac{(\Delta^n a)_0}{2^{n+1}}$$
Applying it to the eta function $\eta(s) = \sum_{k=0}^\infty (-1)^k (k+1)^{-s}$ (convergent only for Re(s) > 0) yields a series convergent for all s. The key analytic fact (Sondow proves this cleanly) is that repeated differencing of the smooth, slowly-varying function $x \mapsto (x+1)^{-s}$ produces rapidly shrinking values, and the $2^{-(n+1)}$ damping guarantees entire-function convergence. Finally:
$$\zeta(s) = \frac{\eta(s)}{1 - 2^{1-s}}$$
which follows from $\eta(s) = (1 - 2^{1-s})\zeta(s)$, an identity valid by analytic continuation everywhere.
4. Computational Examples in Python
4.1 Straightforward float implementation
import math
import cmath
def zeta_hasse(s, N=60):
"""Riemann zeta via Hasse's globally convergent series.
Works for any complex s != 1 (and away from 1 + 2*pi*i*k/ln 2)."""
total = 0.0 + 0.0j
for n in range(N):
inner = sum((-1)**k * math.comb(n, k) * (k + 1)**(-s)
for k in range(n + 1))
total += inner / 2**(n + 1)
return total / (1 - 2**(1 - s))
# --- Tests ---
print(zeta_hasse(2)) # pi^2/6 = 1.6449340668...
print(math.pi**2 / 6)
print(zeta_hasse(-1)) # -1/12 (the famous value!)
print(zeta_hasse(0)) # -1/2
print(zeta_hasse(3)) # Apery's constant 1.2020569...
# Inside the critical strip -- impossible with the naive Dirichlet series:
print(zeta_hasse(0.5)) # -1.4603545088...
4.2 Evaluating on the critical line — checking the first nontrivial zero
# First nontrivial zero: s = 1/2 + 14.134725141734693...i
rho = 0.5 + 14.134725141734693j
print(abs(zeta_hasse(rho, N=100))) # ~ 1e-13 -> numerically zero
# Scan |zeta(1/2 + it)| to *see* the zeros (RH says all zeros lie here)
for t in [10, 12, 14, 14.1347, 16, 18, 20, 21.022, 22]:
v = zeta_hasse(0.5 + t*1j, N=100)
print(f"t = {t:8.4f} |zeta| = {abs(v):.6f}")
Output shows |ζ| dipping to ≈ 0 at t ≈ 14.1347 and t ≈ 21.0220 — the first two zeros on the critical line.
4.3 Exact rational values at negative integers (Sondow's application)
For s = −m the inner sum is a forward difference of a degree-m polynomial, so it vanishes for n > m — the series terminates and we can compute ζ(−m) exactly with rational arithmetic:
from fractions import Fraction
from math import comb
def zeta_neg_int(m):
"""Exact zeta(-m) for integer m >= 0 via Hasse's series.
Series terminates at n = m. Prefactor 1/(1-2^{1+m}) is rational."""
total = Fraction(0)
for n in range(m + 1):
inner = sum(Fraction((-1)**k * comb(n, k)) * Fraction(k + 1)**m
for k in range(n + 1))
total += inner / Fraction(2)**(n + 1)
return total / (1 - Fraction(2)**(1 + m))
for m in range(10):
print(f"zeta({-m}) = {zeta_neg_int(m)}")
Output:
zeta(0) = -1/2
zeta(-1) = -1/12
zeta(-2) = 0
zeta(-3) = 1/120
zeta(-4) = 0
zeta(-5) = -1/252
zeta(-6) = 0
zeta(-7) = 1/240
...
These are exactly −B_{m+1}/(m+1); the zeros at negative even integers are the trivial zeros of ζ. This proves Bernoulli-number values without the functional equation — the main punchline of Sondow's 1994 paper.
4.4 High-precision version with mpmath
from mpmath import mp, mpf, mpc, binomial, power, fabs
mp.dps = 50 # 50 decimal digits
def zeta_hasse_mp(s, N=200):
s = mpc(s)
total = mpc(0)
for n in range(N):
inner = mpc(0)
c = mpf(1) # running binomial coefficient
for k in range(n + 1):
inner += (-1)**k * c * power(k + 1, -s)
c = c * (n - k) / (k + 1) # C(n,k+1) from C(n,k)
total += inner / power(2, n + 1)
return total / (1 - power(2, 1 - s))
from mpmath import zeta as mp_zeta
s = mpc('0.5', '25')
print(zeta_hasse_mp(s))
print(mp_zeta(s)) # mpmath's built-in, for comparison
print(fabs(zeta_hasse_mp(s) - mp_zeta(s))) # ~1e-45 agreement
4.5 Convergence-rate demonstration
import math
true = math.pi**2 / 6
for N in [5, 10, 20, 40, 60]:
err = abs(zeta_hasse(2, N) - true)
print(f"N = {N:3d} error = {err:.3e}")
# Error shrinks roughly like 2^{-N} -> ~0.30 digits per term
5. Key Takeaways for Your Paper
| Aspect | Detail |
|---|---|
| Name | Hasse's series (also Knopp–Hasse; rediscovered by Sondow) |
| Origin | Conjectured by K. Knopp; proved by H. Hasse, Math. Z. 32 (1930) 458–464 |
| Modern proof | J. Sondow, Proc. AMS 120 (1994) 421–424, via Euler's 1755 series transformation |
| Domain | Converges for all s ∈ ℂ (entire representation of (1−2^{1−s})ζ(s)) |
| Significance for RH | Elementary analytic continuation into the critical strip; exact trivial-zero values; geometric convergence for computing ζ on the critical line |
| Caveat | Removable singularities at s = 1 + 2πik/ln 2 (k ≠ 0); Hasse's second series 1/(s−1)·Σ avoids them |
| Descendants | Peter Borwein's Chebyshev-accelerated algorithms (1995/2000), used in practical zero verification |