Li's Criterion: In-Depth Analysis for Your Research Paper
1. Statement of the Criterion
Li's Criterion (1997). The Riemann Hypothesis is true if and only if
$$\lambda_n \geq 0 \quad \text{for every } n = 1, 2, 3, \ldots$$
where the Li coefficients are defined equivalently by:
(a) Derivative form (Li's original definition): $$\lambda_n = \frac{1}{(n-1)!}\frac{d^n}{ds^n}\Big[s^{n-1}\log\xi(s)\Big]\Bigg|_{s=1}$$
(b) Zero-sum form (equation #27 in your list): $$\lambda_n = \sum_{\rho}\left[1 - \left(1 - \frac{1}{\rho}\right)^n\right]$$
where the sum runs over the nontrivial zeros ρ of ζ(s), grouped as ρ ↔ 1−ρ pairs, and
$$\xi(s) = \tfrac{1}{2}s(s-1)\pi^{-s/2}\Gamma(s/2)\zeta(s)$$
is the completed (Riemann) xi function, entire of order 1, satisfying ξ(s) = ξ(1−s).
The remarkable feature: RH — a statement about the location of infinitely many complex zeros — is converted into the positivity of a single real sequence.
2. History and Attribution
Jeffrey B. Keiper (1992) — the precursor
Keiper, a numerical analyst at Wolfram Research (a principal developer of Mathematica's numerics), studied the power-series expansion of log ξ around s = 1 in:
J. B. Keiper, "Power series expansions of Riemann's ξ function," Mathematics of Computation 58 (1992), 765–773. Free from the AMS: https://www.ams.org/journals/mcom/1992-58-198/S0025-5718-1992-1122072-5/
Keiper defined coefficients λₙᴷ = λₙ/n (his normalization differs by a factor of n) and observed that RH implies their positivity, computing them numerically. He did not prove the converse. Keiper died in 1995, before Li's work appeared.
Xian-Jin Li (1997) — the criterion itself
Xian-Jin Li, then a postdoc who had studied under Louis de Branges (of Bieberbach-conjecture fame) at Purdue, later a professor at Brigham Young University, proved the full equivalence:
Xian-Jin Li, "The positivity of a sequence of numbers and the Riemann hypothesis," Journal of Number Theory 65 (1997), 325–333. DOI: https://doi.org/10.1006/jnth.1997.2137 (Elsevier open archive — free PDF)
Li's insight was the conformal change of variable s = 1/(1−z), which maps the half-plane Re s > ½ onto the unit disk |z| < 1. RH says all zeros lie on the boundary Re s = ½, i.e., the images 1 − 1/ρ lie on the unit circle — and positivity of the λₙ is exactly the analytic signature of this.
Enrico Bombieri & Jeffrey C. Lagarias (1999) — the deep interpretation
E. Bombieri and J. C. Lagarias, "Complements to Li's criterion for the Riemann hypothesis," Journal of Number Theory 77 (1999), 274–287. DOI: https://doi.org/10.1006/jnth.1999.2392
This paper did three crucial things:
- Generalized Li's criterion to arbitrary multisets of complex numbers (it's really a theorem about when a set of points lies in a half-plane).
- Showed Li's criterion is a special case of Weil's explicit-formula positivity criterion (1952), applied to the specific test functions related to (1 − (1−1/ρ)ⁿ).
- Derived the arithmetic formula (your equation #28) expressing λₙ without reference to the zeros — see §4 below.
Later developments
| Author(s) | Year | Contribution | Reference |
|---|---|---|---|
| K. Maślanka | 2004 | Large-scale numerical computation of λₙ (thousands of terms); observed the smooth trend + tiny oscillation structure | "Li's criterion for the Riemann hypothesis — numerical approach" (on arXiv) |
| A. Voros | 2004–06 | Sharp asymptotics: RH ⟺ λₙ grows like (n/2)log n; RH false ⟺ λₙ oscillates with exponentially growing amplitude | Math. Phys. Anal. Geom. 9 (2006); arXiv:math/0404213 |
| M. W. Coffey | 2004–08 | Explicit series for λₙ via Stieltjes constants; conjectured positivity of the "η-part" S₁(n) | Math. Phys. Anal. Geom. 8 (2005) 211–255 |
| J. C. Lagarias | 2007 | Extended Li coefficients to automorphic L-functions (GRH version) | Annales de l'Institut Fourier 57 (2007); arXiv:math/0404394 |
| P. Freitas | 2006 | Li-type criterion for zero-free half-planes Re s > a for any a ≥ ½ | arXiv:math/0507368 |
| J. Arias de Reyna | 2011 | Rigorous asymptotic expansion of λₙ under RH | Math. Comp. 80 (2011) |
| S. Omar, K. Mazhouda | 2007+ | Li coefficients in the Selberg class | J. Number Theory |
(DOIs above are the safest identifiers; all the arXiv papers are found immediately by searching the title on arxiv.org.)
3. Why the Equivalence Works (Proof Sketch)
The Möbius map w = 1 − 1/ρ satisfies:
$$|1 - 1/\rho| \le 1 \iff |\rho - 1| \le |\rho| \iff \operatorname{Re}\rho \ge \tfrac12.$$
By the functional equation, zeros pair as ρ ↔ 1−ρ, so Re ρ ≥ ½ for all ρ forces Re ρ = ½ for all ρ.
-
If RH holds: every wᵨ = 1−1/ρ lies on the unit circle, wᵨ = e^{iθᵨ}. Each conjugate pair contributes $$2 - 2\cos(n\theta_\rho) \ge 0,$$ and summing over all zeros gives λₙ ≥ 0 (in fact λₙ > 0, growing like (n/2)log n).
-
If RH fails: some zero has |wᵨ| > 1. Its term −wᵨⁿ grows geometrically in modulus while rotating in argument, so it drives λₙ to arbitrarily large negative values along a subsequence of n. (Voros made this quantitative: the amplitude grows like |wᵨ|ⁿ = e^{cn}, utterly swamping the (n/2)log n trend.)
So RH ⟺ λₙ ≥ 0 ∀n. This is Theorem 1 of Li (1997); Bombieri–Lagarias give the cleanest proof.
4. The Arithmetic Formula (Equation #28)
Bombieri–Lagarias showed λₙ can be computed without knowing a single zero, purely from the Taylor data of ζ at s = 1. One standard form (Coffey's decomposition):
$$\lambda_n \;=\; \underbrace{-\sum_{m=1}^{n}\binom{n}{m}\eta_{m-1}}_{S_1(n):\ \zeta\text{-part}} \;+\; \underbrace{\sum_{m=2}^{n}(-1)^m\binom{n}{m}\left(1-2^{-m}\right)\zeta(m)}_{S_2(n):\ \Gamma\text{-part}} \;+\; 1 \;-\; \frac{n}{2}\left(\gamma + \log\pi + 2\log 2\right)$$
where the η-coefficients are defined by the Laurent expansion at s = 1:
$$-\frac{\zeta'(s)}{\zeta(s)} = \frac{1}{s-1} - \sum_{p=0}^{\infty}\eta_p\,(s-1)^p, \qquad \eta_0 = -\gamma,$$
and each ηₚ is a polynomial in the Stieltjes constants γ₀, γ₁, …, γₚ.
Sanity check (n = 1): S₂ = 0 (empty), S₁ = −η₀ = γ, giving
$$\lambda_1 = 1 + \frac{\gamma}{2} - \frac{1}{2}\log 4\pi = 0.0230957\ldots$$
which is exactly Σᵨ 1/ρ, a classical constant. ✓
The catastrophic cancellation (the real obstruction). Under RH,
$$\lambda_n \sim \frac{n}{2}\left(\log n - \log 2\pi + \gamma - 1\right) = O(n\log n),$$
but S₁(n) and S₂(n) individually grow like 2ⁿ (the binomial coefficients see to that) with opposite signs. Proving λₙ > 0 from the arithmetic side means proving a cancellation to relative precision 2⁻ⁿ · n log n — this is the known barrier to attacking RH via Li positivity, and it is exactly why any honest numerical script must scale its working precision linearly in n (≈ 0.45n digits, since log₁₀2 ≈ 0.301 plus safety margin).
5. Computational Examples in Python
All three methods below use mpmath (pip install mpmath). Method A uses the zeros, Methods B and C never touch a zero — comparing them is a beautiful consistency check of the explicit-formula machinery.
Method A — Zero-sum definition (equation #27)
from mpmath import mp, zetazero, mpf, log, pi, euler
mp.dps = 30
def li_lambda_zeros(n, num_zero_pairs=500):
"""lambda_n = sum over zeros of [1 - (1 - 1/rho)^n],
summing conjugate pairs together (2*Re of each term)."""
total = mpf(0)
for k in range(1, num_zero_pairs + 1):
rho = zetazero(k) # k-th zero: 0.5 + i*gamma_k
term = 1 - (1 - 1/rho)**n
total += 2 * term.real # rho and its conjugate
return total
# Known closed form for lambda_1 = sum 1/rho:
lam1_exact = 1 + euler/2 - log(4*pi)/2
print("lambda_1 (zeros) =", li_lambda_zeros(1))
print("lambda_1 (exact) =", lam1_exact)
for n in range(1, 11):
print(f"lambda_{n:2d} = {li_lambda_zeros(n)}")
Notes on Method A: the tail over untruncated zeros behaves like Σ n·Re(1/ρ) ≈ n·log(T)/T for zeros above height T, so convergence is slow; the first 500 zero pairs give ~3–4 correct digits for small n. It is fine for illustrating positivity, poor for high precision — which is precisely why the arithmetic formula matters.
Method B — Li's derivative definition (no zeros needed)
from mpmath import mp, mpf, log, gamma, zeta, pi, diff, factorial
mp.dps = 60 # numerical differentiation of order n needs headroom
def xi(s):
"""Completed Riemann xi function; xi(1) = 1/2 (removable singularity)."""
if s == 1:
return mpf('0.5')
return mpf('0.5') * s * (s - 1) * pi**(-s/2) * gamma(s/2) * zeta(s)
def li_lambda_diff(n):
"""lambda_n = (1/(n-1)!) * d^n/ds^n [ s^(n-1) log xi(s) ] at s = 1."""
f = lambda s: s**(n - 1) * log(xi(s))
return diff(f, 1, n) / factorial(n - 1)
for n in range(1, 11):
print(f"lambda_{n:2d} = {li_lambda_diff(n)}")
Method C — Bombieri–Lagarias arithmetic formula (equation #28)
from mpmath import mp, mpf, log, zeta, pi, euler, binomial, taylor
def eta_coefficients(N):
"""eta_p from -zeta'/zeta = 1/(s-1) - sum eta_p (s-1)^p,
via Taylor expansion of the regular part g(s) at s = 1."""
def g(s):
if s == 1:
return euler # limit value: g(1) = -eta_0 = gamma
return -zeta(s, derivative=1)/zeta(s) - 1/(s - 1)
coeffs = taylor(g, 1, N) # g(s) = sum coeffs[p]*(s-1)^p
return [-c for c in coeffs] # eta_p = -coeffs[p]
def li_lambda_arithmetic(n, etas):
S1 = -sum(binomial(n, m) * etas[m - 1] for m in range(1, n + 1))
S2 = sum((-1)**m * binomial(n, m) * (1 - mpf(2)**(-m)) * zeta(m)
for m in range(2, n + 1))
return S1 + S2 + 1 - mpf(n)/2 * (euler + log(pi) + 2*log(2))
N = 30
# CRITICAL: precision must grow ~ 0.45*n digits because S1 and S2
# each grow like 2^n and cancel down to O(n log n).
mp.dps = int(0.45 * N) + 60
etas = eta_coefficients(N)
for n in range(1, N + 1):
print(f"lambda_{n:2d} = {li_lambda_arithmetic(n, etas)}")
Checking positivity against the RH asymptotic
from mpmath import mp, mpf, log, pi, euler
import matplotlib.pyplot as plt
def asymptotic(n):
"""Under RH: lambda_n ~ (n/2)(log n - log(2*pi) + gamma - 1)."""
return mpf(n)/2 * (log(n) - log(2*pi) + euler - 1)
ns = list(range(1, N + 1))
vals = [float(li_lambda_arithmetic(n, etas)) for n in ns]
asym = [float(asymptotic(n)) for n in ns]
plt.plot(ns, vals, 'o-', label=r'$\lambda_n$ (arithmetic formula)')
plt.plot(ns, asym, '--', label=r'$\frac{n}{2}(\log n - \log 2\pi + \gamma - 1)$')
plt.xlabel('n'); plt.ylabel(r'$\lambda_n$'); plt.legend()
plt.title("Li coefficients: all positive, tracking the RH asymptotic")
plt.show()
assert all(v > 0 for v in vals), "A negative lambda_n would DISPROVE RH!"
print("All computed lambda_n > 0 — consistent with RH.")
Expected output (first few values, all methods agree):
lambda_1 ≈ 0.0230957089661210...
lambda_2 ≈ 0.0923457352280475...
lambda_3 ≈ 0.2076389205234828...
lambda_4 ≈ 0.3687904335586837...
lambda_5 ≈ 0.5755427423853625...
6. Key Points for Your Paper
- Attribution chain: Keiper (1992, numerical observation) → Li (1997, the equivalence theorem) → Bombieri–Lagarias (1999, generalization + arithmetic formula + Weil-positivity interpretation).
- Conceptual status: Li's criterion is not an independent attack on RH — Bombieri–Lagarias showed it is a reformulation of Weil's positivity criterion with specific test functions. Its value is that it packages RH into one real sequence.
- Numerical evidence: Maślanka and others verified λₙ > 0 for thousands of n; the observed values match Voros's RH asymptotic (n/2)log n with small oscillations, consistent with RH.
- The honest obstruction (worth a paragraph in any research paper): the arithmetic formula computes λₙ as a difference of two 2ⁿ-sized quantities. A proof of positivity would need to control this exponential cancellation for all n — no one knows how. This mirrors the general phenomenon that RH-equivalent criteria relocate, rather than remove, the difficulty.
- Generalizations: Lagarias (2007) defined Li coefficients for automorphic L-functions (positivity ⟺ GRH for that L-function); Omar–Mazhouda treated the Selberg class; Freitas parametrized the criterion by the half-plane boundary a ≥ ½.