Skip to content
/ zzz Public

fast approximation of large Riemann zeta zeros on the critical line

Notifications You must be signed in to change notification settings

popojan/zzz

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zeta Zeros Zeal

fast approximation of large Riemann zeta zeros on the critical line

Usage: zzz [OPTION...] N [offset] [count]
fast approximation of large Riemann zeta zeros

  -d, --digits=DIGITS        extra digits for number formatting [default 6]
  -e, --evaluate             evaluate Riemann zeta function value at the
                             approximate zero location
  -g, --debug                debug counting function from <N> to <N+offset> in
                             <count> steps
  -k, --k=K                  use first k primes for zero counting function
                             approximation [default 100]
  -p, --precision=PREC       arb precision for counting function approximation
                             [default 256]
  -t, --tolerance=TOL        tolerance for bisection [default 1e-6]
  -v, --verbose              verbose progress output
  -w, --window=WIN           initial span around Lambert W asymptotic zero
                             location +- WIN [default 1.5]
  -z, --zeta-prec=ZETA_PREC  arb precision for zeta evaluation [default 64]
  -?, --help                 Give this help list
      --usage                Give a short usage message
  -V, --version              Print program version

Zero counting function approximation

Note: obsolete inner sum approximation, not used any more.

Combines quadratic and cubic spline with correct frequency and tangents to match the amplitude.

waves

Towards convergence

waves

Error distribution

In comparison with k=-∞ (basic Lambert W approximation).

errors

Approximate n-th zero locations

Zero # 10^12 + 1

see ~odlyzko/zeta_tables/zeros3

$ time ./zzz -ve -k 1000 1e12 +1
argument s =    (0.500000000000000000 + 267653395648.844684j)  +/-  (0, 1.05e-65j)
value    z =    (0.355290959100415380 + 0.132397324302526229j)  +/-  (3.70e-20, 2.34e-20j)
267653395648.844684

real    0m0.470s
user    0m0.456s
sys     0m0.007s

Zero # 10^36 + 42420637374017961984

  $ time ./zzz -k 10000 1e36 42420637374017961984
81029194732694548890047854481676713.009431

real    0m2.381s
user    0m2.366s
sys     0m0.005s
81029194732694548890047854481676712.94002   prev approximate     #10^36+42420637374017961983
81029194732694548890047854481676712.98790          published     #10^36+42420637374017961984
81029194732694548890047854481676713.00943        approximate     #10^36+42420637374017961984
81029194732694548890047854481676713.08748   next approximate     #10^36+42420637374017961985

Chebyshev Psi Exact Formula

Using zeros approximated by zzz -k 1000.

range 0 to 20 (50 zeros) range 541 to 661 (1,000 zeros) range 7920-8020 (10,000 zeros)

Literature

About

fast approximation of large Riemann zeta zeros on the critical line

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published