RiemannSiegelZ
The Riemann–Siegel function , real-valued for real by construction. Provided by @enumeratio/analytic.
✓ checked against that system · ! checked, with disagreements (hover a chip)Wolfram Language
RiemannSiegelZ!RiemannSiegelZ(t)the Riemann–Siegel Z-function.Typed signatures
| Type | Package | Applies |
|---|---|---|
(number) -> number | analytic | always |
Details
- Reuses RiemannSiegelTheta and the generalized-zeta kernel (Zeta/HurwitzZeta at ); only the phase rotation onto the real line is added.
- Numeric via
N()or an inexact , same as RiemannSiegelTheta. Below (real : 2000) it runs the Hurwitz zeta and log-gamma kernels; past that, the Riemann–Siegel formula with Gabcke's remainder terms ( to ), continued to complex with and carried in BigDecimal for the phase, which a double loses with . That is a double's digits for any up to , where the zeta sum's phases lose a relative by . N(…, d)past a double's digits uses the same formula as far as its terms reach (its series is asymptotic): about 60 digits at , 70 at , 90 at . Below that it falls back to the bignum Hurwitz zeta and log-gamma kernels (real up to , complex up to ), and past both it stays unevaluated rather than print fewer digits than were asked.N's refinement loop reads the value at 20 to 40 digits past , so is that much less than these.- The sign of on the real line is what RiemannZetaZero's zero-finder scans for.
Examples
1 more kept as data, checked against the oraclesAbout
| Examples | 15 |
|---|---|
| Checked against | Wolfram Language 13 agree2 differ |
| Crosswalk | Wolfram Language |
Implementation
primitive · numericirreducibly numeric — it evaluates rather than rewrites
nativeengine
typescriptpackages/symbols/analysis/analytic/src/riemann-siegel.tsmappedexternal
wolfram / mpmathpackages/oracle/src/mappings.tsRiemannSiegelZ[t]; mpmath.siegelz(t).
See also: RiemannSiegelTheta, Zeta, RiemannZetaZero