RiemannZetaZero
The -th nontrivial zero of the Riemann zeta function on the critical line, for a positive integer . Wolfram calls this ZetaZero; compute-engine's own Fungrim identity table already spells it RiemannZetaZero. Provided by @enumeratio/analytic.
✓ checked against that system · ! checked, with disagreements (hover a chip)Fungrim
RiemannZetaZeroFungrim entry60c2ecWolfram LanguageZetaZero!RiemannZetaZero(k)the k-th nontrivial zero, .Typed signatures
| Type | Package | Applies |
|---|---|---|
(integer) -> number | analytic | always |
Details
- is found by scanning RiemannSiegelZ for sign changes along the real line from , counting crossings as it goes, then bisecting the bracket once the -th crossing turns up. This counts crossings directly rather than bracketing between Gram points, so it isn't exposed to a Gram's-law failure (the first is at Gram index 126) the way a Gram-point method would be.
- Supported range: such that — comfortably past the first 1000 zeros, and well beyond every example here. Above that the call is left symbolic rather than guess further out with an unvalidated scan; is likewise left symbolic, and a non-integer is a type error.
- Numeric only (
N()or an inexact operand) — the real part is always exactly ; the search cost is in the imaginary part. N(…, d)past a double's digits refines the double zero by Newton's method on the bignum RiemannSiegelZ.
Examples
1 more kept as data, checked against the oraclesAbout
| Examples | 9 |
|---|---|
| Checked against | Wolfram Language 8 agree1 differ |
| Crosswalk | FungrimFungrim entryWolfram Language |
Implementation
primitive · numericirreducibly numeric — it evaluates rather than rewrites
nativeengine
typescriptpackages/symbols/analysis/analytic/src/riemann-siegel.tssign-change scan of RiemannSiegelZ + bisection; see the file header for the range this covers.
mappedexternal
wolfram / mpmathpackages/oracle/src/mappings.tsZetaZero[k]; mpmath.zetazero(k).
See also: RiemannSiegelZ, Zeta